サイモン・ウィリソンが提唱するエージェンティック・エンジニアリング・パターン
ウィリソン氏が提唱するエージェンティック・エンジニアリングは、非エンジニアがLLMを使って「なんとなく(Vibe)」アプリを作り上げる「バイブ・コーディング」の対極に位置する。これは、プロのエンジニアがコーディング・エージェントを使いこなし、自身の専門性を何倍にも増幅させ、より速く、かつてないほど堅牢なシステムを構築するための手法である。
エージェンティック・エンジニアリングを導入する上で、私たちが受け入れなければならないのは「コードを書くコストが劇的に下がった」という事実である。熟練したエンジニアでも1日で書けるコード量には限界があった。したがって、私たちは「この機能を作る価値はあるか?」「設計に時間をかけすぎていないか?」と、常にコストと時間のトレードオフを考えなければならなかった。
しかし、エージェントを使えば、初期のプロトタイプは数秒で、ほぼゼロコストで生成できる。とはいえ、「動くコード」を作るコストは下がったが、「良いコード」(バグがなく、テストされ、安全で、保守性が高いコード)を届けるコストは、依然として高いままである。エージェントという「超高速なタイピスト」を手に入れた人間の役割は「タイピング」から「品質の保証と意思決定」へシフトした。
このような状況において、どのようなパターンが有効なのか。ウィリソン氏は、いくつかの重要なプラクティスを提示している。
解決策を「貯蔵(Hoarding)」し、再結合する
エンジニアの資産はコードではない。「何が技術的に可能か」を知っていることである。ウィリソン氏は、過去に解決したトリッキーな問題や、小さな実証コード(PoC)を膨大にストックしている。エージェントへの最高の指示は、「このOCRの実装例と、このPDFを表示するコードを組み合わせて、新しいツールを作れ」というものである。ゼロから考えさせるよりも、「信頼できるコード」をインプットとして与えることで、エージェントは驚くほど正確に、かつ自分のスタイルに合った成果物を出してくれる。
レッド/グリーンTDDの徹底
エージェントは時に「嘘」をつく。これを防ぐ唯一の方法は、テスト駆動開発(TDD)の規律をAIに適用することである。「まず失敗するテストを書け、それからそれをパスする最小のコードを書け(レッド/グリーン)」と指示することで、エージェントの暴走を防ぎ、不要なコードの混入を最小限に抑えることができる。
まずテストを実行しろ
新しいセッションを始めるとき、必ず「First run the tests(まずテストを実行しろ)」と指示するといい。エージェントにプロジェクトの構造を理解させ、テスト環境を認識させ、そして「テストを壊してはならない」という意識を植え付けることができる。
認知的負債を支払う:インタラクティブな解説
AIが書いたコードをブラックボックスにしてしまうと、「技術的負債」ならぬ「認知的負債」を生み出してしまう。ウィリソン氏は、エージェント自身にコードの挙動を詳細に解説するドキュメントを書かせたり、アルゴリズムの動きを視覚化するアニメーション(たとえば、単語が渦巻状に配置されるワードクラウドの生成過程など)を作らせたりすることで、この負債を解消している。
人間が提供すべき「価値」
エージェンティック・エンジニアリングにおける最大のアンチパターンは「未確認のコードを他人に投げつけること」である。エージェントが数千行のコードを生成したとしても、それを一行ずつレビューし、動作を確認し、自信を持って「これは正しい」と言える状態にする責任は、常に人間にある。
私たちはタイピングから解放された分、「より良い設計とは何か」「このコードは本当にユーザーを幸せにするか」という、本質的な問いに向き合う時間を手に入れたのである。