こんにちは。技術の進化があまりに速すぎて、最近は朝起きてニュースを見るたびに「昨日までの常識はどこへ行ったの?」と首を傾げている私です。
今日は、AI界のスターであるアンドレイ・カーパシー氏が提唱した、これからのソフトウェア開発における非常に興味深い概念についてお話しします。
それは「雰囲気コーディング(Vibe Coding)」から「エージェント・エンジニアリング(Agentic Engineering)」への進化というお話です。
雰囲気で乗り切ったあの頃
最初に、最近までのAIを使った開発スタイルを振り返ってみましょう。
カーパシー氏が「Vibe Coding(バイブ・コーディング)」と呼んだのは、一言で言えば「雰囲気でプログラミングをする」というスタイルです。
これは、人間がAIに対して「なんとなくこんな感じのアプリを作って」と指示を出し、AIが出力してきたコードを「お、動いた!いい感じだね!」と受け入れる状態を指します。
緻密な設計図を書くよりも、AIとのやり取りの「ノリ」や「雰囲気」で形にしていく、少し不思議で魔法のような体験です。
プログラミングの知識がなくても形にできてしまうこの段階は、多くの人にとって驚きに満ちたものでした。
魔法の限界と次なるステップ
次に、なぜその「雰囲気」だけでは足りないのかを考えてみましょう。
趣味のツールを作るなら雰囲気だけでも十分なのですが、プロの現場で複雑なシステムを作るとなると、そうはいきません。
AIが書いたコードのどこにバグがあるのか、セキュリティは大丈夫か、拡張性は考えられているか。これらを人間がすべてチェックするのは大変ですし、何よりAIが「一発回答」で完璧なものを出すには限界があります。
そこで登場するのが、次のステージである「エージェント・エンジニアリング」です。
頼れる相棒「エージェント」との共作
エージェント・エンジニアリングでは、AIを単なる「回答マシン」として使うのではなく、自律的に動く「エージェント(代理人)」としてチームに組み込む考え方です。
エージェントは指示を受けると、自分で計画を立て、コードを書き、実際にテストを実行して、エラーが出れば自分で修正案を考えます。
現状バイブコーディングをしていて思うのは
・エラーがでたので、人間が「ここでエラーしないようにしてね」といちいち指示を出す。
・操作テストは人間が行う。そのため、操作しにくい、操作でエラーがでた、不要な要素が盛り込まれているので削除したい、などは人間がフィードバックしないといけない。
...など、まだまだ人手がかかることです。テストを自動化したり、エラーを自動で修正したり、まだまだ自動化すべき箇所が多いです。
逆に言えば、これらもAIがやってくれるのであれば、ますます人間が手をかける時間が減っていくものと思われます。
そして、人間側の役割は、細かいコードを書くことから、エージェントたちが正しく動いているかを監督し、高度な設計上の意思決定を下す「指揮官」のような仕事へと変わっていきます。
