第九章
ビルド
ループ
不完全を覚悟せよ。改善を楽しめ。
魔法が起きるのは3回目だ。
AIで何かを作るときの最も多いミスは、悪いプロンプトじゃない。悪い期待値だ。長い説明を一発で打ち込み、エンターを押して、完成品を期待する。うまくいかない。絶対にうまくいかない。AIですごいものを作る人たちは秘密を知っている。最初のバージョンは必ず間違っている。3回目がまあまあ。5回目が素晴らしい。そして1から5に至るプロセス、それこそが本当のスキルだ。
すべてのアーティストはイテレーションする。すべての建築家は修正する。すべての映画監督は複数テイクを撮る。AIでの制作も同じだ。ループを楽しめる人、うんざりしない人が、最高のものを作る。
仕様を出す、生成する、検証する
コーディングエージェントとの生産的なセッションはすべて同じリズムに従う。仕様を出す:何がほしいか具体的に、例を示し、「完成」の定義を描く。エージェントに生成させる。そして検証する:動くか? 見た目は合っているか? 頼んだ通りか? ダメならもう一度、もっと正確に仕様を出す。これがループだ。失敗の兆候じゃない。プロセスそのものだ。
強力なテクニックは、作り始める前に受け入れ条件を書くことだ。「ボタンをクリックしたら緑に変わること。」「リストはページをリロードしても残ること。」「登録フォームは@なしのメールを拒否すること。」こうした平易な「完成」の定義が、君の評価フレームワークになる。何かおかしいとき、条件をエージェントに貼り直して「これと合っていない」と言えばいい。エージェントは君の基準に照らしてテストできる。
行き詰まったときにどうするか
エージェントが壊れたものを生成した。どうする? 5つの戦略を、試す順番で紹介する。
1. 診断じゃなく症状を伝える
「onClickハンドラが壊れてると思う」より「ボタンをクリックしても反応しない」のほうがいい。
2. エラーメッセージをそのまま共有する
エラーをそのままコピペする。エージェントに渡せる最も有用な情報だ。
3. エージェントに何をしたか説明させる
「今変更したことと理由を順番に説明して。」理解することで問題が見えてくることが多い。
4. 別のアプローチを頼む
「そのやり方はうまくいかない。全然違う方法で解決できない?」
5. 学んだことを持って最初からやり直す
こんがらがった会話をデバッグするより、新しい会話を始めたほうが速いこともある。重要な決定事項だけ持っていこう。
ガードレールとしてのテスト
エージェントに自動テストを書かせることができる。普通の言葉で。「登録フォームが@なしのメールを拒否するテストを書いて。」エージェントはテストとそれをパスするコードの両方を書く。これはテスト駆動開発だ。テストを書いたことがない人が指揮しても成立する。一度テストに捕まったバグは、二度と戻ってこない。
スキルを練習しよう。これらのバグをコーディングエージェントにどう伝える?
イテレーションはできる。デバッグもできる。でも、作っているものが本当にいいかどうか、どうやってわかる? 機能するだけじゃなく、いいかどうか。それにはAIが与えられないものが必要だ。テイスト。次の話だ。