バイブコーディングに関する2つの支配的な物語がある。1つは、1文を書けばAIが100万ドルのアプリを返してくれるというもの。もう1つは、AIがすべてのコードを書くので、人間はその中身をまったく知らないというもの。したがって、最終的には失敗し、大規模な黙示録を引き起こすに違いない。
これらの物語はどちらも現実の戯画である。以前の記事で、私はさまざまなバイブコーディングプロジェクトでの作業について話した。それらが素晴らしいと同時に多くの作業を要することを見てきた。この記事では、コード制御を機械に委ねることから生じるメンテナンスと持続可能性の問題に深く掘り下げる。
私が若いプロダクトマネージャーだった頃、営業担当副社長をサポートするためにロサンゼルスに派遣された。彼は私を彼のお気に入りのレストランに連れて行くことにした。このレストランはフュージョン料理を専門としており、シェフがさまざまな影響を料理に混ぜ合わせることで知られていた。そのシェフのおすすめは、その夜シェフがあなたのために創作するものだという評判だった。
私は自分が何に巻き込まれたのか不思議に思った。食べ物が出てくることはわかっていたが、何を摂取することになるのか全く見当がつかなかった。結局、その夜食べた料理は…奇妙だった。食べられないことはなかった。自ら進んでまた行きたいと思う場所ではなかった。
エージェンティックコーディングは、そのレストランに行くのとよく似ている。使用しているコーディングAIの評判が良いことは知っているが、実際に何が届くのか全くわからない。AIから来る実際のコードについての洞察はほとんどない。基本的に、何が出されてもそれを食べなければならない。
エージェントにコードを書かせるとき、それは請負業者や部下にコードを書かせるようなものだ。テストして評価するまでは、何が得られるかわからない。
すべてはプロンプトにかかっている。ガベージイン、ガベージアウトは、古びた決まり文句が示唆するよりもはるかに深い意味を持つ。明確にプロンプトを出さず、十分な明確さと監視をもって会話を維持しなければ、AIから返ってくるコードは胃もたれするものになる。
エンジニアリングマネージャーは、ピラミッドの時代から、監督下の請負業者を管理するという課題に直面してきた。作業を割り当て、作業成果物を評価することは、エンジニアリングマネージャーの仕事である。そのプロセスで品質と管理を維持することは、ソフトウェアエンジニアリングの中核である。
一方、バイブコーディングの暗黒面の多くは誇張だが、そこには真実もある。品質基準と実践がなければ、問題のあるコードに行き着く可能性がある。この記事では、エージェンティックコーディングを取り巻く神話と、AIから求めたものを得るのに役立つベストプラクティスについて議論する。
多くのAIコーディング支持者は、AIに深く豊かな要件文書を提供することを推奨している。しかし、私の経験では、AIはその深い文書のたった1つの要素を誤解し、追跡も発見もできない方法で完全に脱線することがある。
私はAIに1つの単純なタスクを与えることを好む。それが正常に完了したら、別のタスクを与える。そうすることで、AIも私も全体計画を見失う機会が減る。
単独の開発者として、私はかつてコードを1行ずつ書いていた。各行に汗を流した。自分のコードのすべてを知っていた。しかし、エンジニアリングマネージャーだったときは、チームとチームの個々の開発者に頼らなければならなかった。
確かに、コーダー(おおよそエージェントに相当)はいた。しかし、それでも私はテストと統合の規律をシステムに組み込む必要があった。コーダーや請負業者の誰かが提出したものが他のすべてと連携することを確認するために。
エージェンティックコーディングを使うつもりなら、同じことをする必要がある。すべての段階でチェックポイントを設ける。統合を注意深く追跡する。外部の請負業者からの納品だと想定し、メインプロジェクトに組み込む前に彼らの作業をチェックする必要がある。
私には、ソフトウェアを共有するのが怖い友人がいる。