Vibe Codingを試してみた

「いい感じにして」とプロンプトを投げたら、数分で動くものが返ってくる。最近話題のVibe Coding、そしてその先にあるAgentic Codingを試している。

Vibe Codingはプロトタイピングにちょうどいい。簡単なプロンプトでサクッと作れるし、動かしてみて初めて機能の過不足に気づくこともある。思いついたアイデアを雑にでも形にできて、フィードバックループが短い。この速さが最大の魅力だと思う。

実際、ちょっとしたツールやスクリプトなら、プロンプトを1つ2つ投げるだけで動くものができあがる。「とりあえず触れるもの」が数分で手に入る体験は強力だった。

ただし、勢いで作っている分、どんな機能があるかは触ってみないとわからない。条件分岐の詳細を知ろうとすればコードを読むしかなく、そうなると作り直したほうが早い。裏側はAIがよしなに決めた構成になっているから、後から手を入れると、数年前に書かれたコードを読み解くような労力が生まれる。ここがVibe Codingの限界だった。

規模が大きくなると何が起きるか

では、もっと大きなものを作ろうとするとどうなるか。プロンプトだけで指定しても、収拾がつかなくなる。長いプロンプトは解釈がブレやすいし、コンテクストウィンドウから溢れやすい。

そこで必要なのがドキュメントだ。仕様書や実装計画の叩き台を作り、フィードバックを出し、ブラッシュアップを繰り返す。

仕様書といっても「このような機能がほしい」を SPEC.md というファイルに列挙し、Claudeに根掘り葉掘り聞いてもらい、ブラッシュアップする。その SPEC.md に書かれた機能をいくつかの段階に分けて、最初にこれを作り、次にあれを作り、とわける。ドキュメントとしてはかなりライトだと思う。

ノリと勢いで投げるのがVibe Codingだとすれば、人間とAIがそれぞれ担当を決めてAIも自律して動けるのがAgentic Codingといったところだろうか。

Agentic Coding の始め方・ツール選び

自分が試しているのはClaude CodeとCodex CLI。どちらもターミナルから使うCLIツールで、エディタを選ばないのが気に入っている。

両方とも個人向けの一番安い有料プランでコーディングエージェントが利用できるので採用した。

今のところ、仕様作成から実装はClaude Code、細かい修正やコードレビューはCodex CLIの棲み分けになっている。

ここで重要なのがAIにプロジェクトの文脈を渡す仕組みだ。Claude Codeなら CLAUDE.md にプロジェクトのルールや構成を書いておくと、AIがそれを踏まえて動いてくれる。Codex CLIにも同様の仕組みがある。「このプロジェクトではこういう方針で」という申し送りをファイルに残しておく感覚だ。

小さく始めるなら、まずは既存プロジェクトのちょっとしたリファクタや、テストコードの生成あたりがおすすめ。いきなり大きな機能をまるっと任せると、期待と出力のギャップに戸惑う。小さいタスクで「AIとのやり取りの勘所」を掴んでから、徐々にスコープを広げていくのが無難だろう。勝手がわかれば、ベストプラクティスが参考にできるようになる、と期待している。

人間の役割はどう変わるか

Agentic Codingを続けていると、自分の役割が明らかに変わってきた。

コードを書く時間が減り、代わりに増えたのは「何を作るか決める」「どう作るか設計する」「出てきたものをレビューする」時間。書く人から、考えて確かめる人へのシフトが起きている。

「何を作るか」「なぜ作るか」は、今のところ人間にしかできない。ドメイン知識や価値の判断はAIに丸投げできない領域で、ここの解像度が低いとAIの出力もぼんやりする。逆に、ここがしっかりしていればAIはかなり良い仕事をしてくれる。

品質の最終責任も人間にある。コードが正しいか、セキュリティに問題はないか、パフォーマンスは大丈夫か。こうした判断はレビューする側の力量次第だ。今回はあえて実装はAIに任せることにした。なので自分が担当するのは最初の実装のプランと成果物を使ってのフィードバックが主、それとAIに必要な情報が伝えられるようドキュメントの整備。

面白いのは、AIに指示を出すには要件を言語化しなければならないこと。「なんとなくこうしたい」では伝わらないから、自然と思考が整理される。副次的な効果だけれど、設計力を鍛える訓練にもなっている。

まとめ

Agentic Codingは「使える」段階に入っている。ただし、魔法の杖ではない。雑に投げれば雑な結果が返ってくるし、的確に指示すればかなり良いものが出てくる。道具としての性質は、従来の開発ツールと変わらない。

自分としては、今後もAgentic Codingの比重を増やしていくつもりだ。何が作りたいのか考えることにもっと時間を使えるようになるのは、ありがたい方向性だと思っている。

興味がある人は、まず手元の小さなタスクで試してみてほしい。使ってみて初めてわかることが多いから。