less than 1 minute read

はじめに

最近話題のVibe Codingを使って、自分が欲しいアプリを実際に作ってみました。この記事ではその体験を通じて感じたことをまとめてみます。

今回作ったのはシンプルなポッドキャストプレイヤーです。リポジトリはこちらで公開しています。

アプリの機能

実装した機能は以下の通りです:

  • ポッドキャスト検索
  • ポッドキャスト詳細の表示
  • エピソードの表示・再生

最小限の機能ですが、ポッドキャストを探して聴くという基本的な用途は満たしています。

Vibe Codingで作ってみた所感

最低限の機能は概ね問題なく実現できました。ただし、AIが無限ループに入ったり、一度実装したコードを削除してしまうことがあり、そこは人の手で修正する必要がありました。 だいたい自分が書いたコードとAI(Claude Code)の比が1:9くらいの肌感でした。

今は実用レベルまで作り上げたアプリを改善している段階なのですが、すでにある機能の改修や不具合修正では、ループに陥って解決できないことが度々あります。 これはコンテキストの複雑さが原因だと考えています。既存機能の修正では、As Is(現状)とTo Be(理想)の両方を正確に伝える必要があります。新機能の場合は0ベースなのでTo Beのみ渡せば良いのですが、既存コードが絡むと難易度が上がる印象です。

向いているケース・向いていないケース

この経験から、Vibe Codingが向いているケースと向いていないケースが見えてきました。

向いているケース:

  • 1回作って終わりのアプリ(展示会で使うデモアプリなど)
  • 数日だけ使うアプリ

このような短期的な用途のアプリであれば、Vibe Codingは十分に実用的だと思います。

難しいケース:

  • 継続的に改善していきたいアプリ

長期的にメンテナンスするアプリの場合、どこかで限界にぶつかります。その時には人の手がまだ必要だと感じました。

Vibe Codingの限界

Vibe Codingは、その時点でのAIができることの限界まで突き進める手法だと言えます。ただし、プロンプトエンジニアリングの要素を多分に含んでおり、適切に指示を出せるかどうかで結果が大きく変わります。

そこまではVibe Codingで到達できますが、同時に技術負債を溜めているような感覚もありました。これは、何かしらサービスを開発するときに外部会社に丸投げするやり方に近いと感じます。

自分にとってのVibe Coding

自分自身にはVibe Codingは不向きだと思いました。

私はコードを書いたり改善したり処理を効率化するといったことが好きなので、それを丸投げするなんて勿体ないと感じてしまいます。プログラミングそのものが楽しいと思っている人にとっては、Vibe Codingでコーディングの全てを任せるのは向いていないかもしれません。

ただし、AIとの協業という観点では可能性を感じています。好き・楽しいと感じるところを自分がやって、それ以外のところをAIにやってもらうという協業体制を構築できると良いのかもしれません。

まとめ

Vibe Codingを実際に使ってアプリを作ってみて、その可能性と限界の両方を体感できました。

短期的なプロジェクトや最小限の機能を素早く実現したい場合には非常に有効な手法だと思います。一方で、長期的にメンテナンスするアプリや、既存機能の改修が多いプロジェクトでは課題も見えてきました。 自分の得意なこと・楽しいこととAIが得意なことを組み合わせることで、より良い開発体験が得られると感じました。一方で、AIが不得意で、かつ自分もやりたくない作業をどう処理していくかが今後の課題だと思います。

今後も、AIとの付き合い方を模索していきたいと思います。

Updated: