木曜18時47分。翌朝公開する地域スーパーの受取予約画面の修正をAIへ任せ、エンジニアは帰り支度を始めていた。
報告には「修正完了、テスト成功」とある。ところが差分を開くと、npm installでpackage-lock.jsonが増え、自動生成するファイルが直接書き換えられ、時間切れになったE2Eテストには.skipが付いていた。
このプロジェクトではpnpmを使う。生成済みファイルは元のスキーマから作り直す。テストを外して成功扱いにはしない。どれも前の会話で伝えた内容だった。
また同じ説明が必要なのか。AIを使えば速いと言ったのは自分なのに、使い方が下手だと思われるかもしれない。
そう考えると、相談するより自分で直した方が早い気がした。チャットには「細部はこちらで整えます」と返し、三つの手直しを黙って引き取った😮💨
でも、見直したいのは気の利いたプロンプトだけではない。何度も守るルールが、個人の会話にしか残っていないことだ。
今回だけの依頼と、毎回守る約束を分ける
AIへの指示には二種類ある。
- 今回だけ: 予約人数を変えた時の料金表示を直す
- 毎回必要:
pnpmを使う、生成ファイルを直接変えない、テストを外さない
これを毎回一つの依頼文へ詰めると、書き漏らしが増える。別のスレッドや別の担当者がAIへ頼むたび、同じ前置きを打ち直すことになる。
OpenAIのCodexは、作業前にAGENTS.mdを読み、プロジェクトのルートから作業場所まで階層ごとの指示を重ねる。GitHub Copilotにも、リポジトリ全体と特定のパスへ適用する指示がある。
製品ごとに対応するファイルは違う。ただ、繰り返す説明を、コードと一緒に読める場所へ置く考え方は共通している🧩
長い説明書より、三行の約束を残す
最初からすべてのルールを書こうとすると、重要な一行が埋もれる。今日二度目に直したことを一つ選び、三つに分ける。
- 現在の事実: このリポジトリは
pnpmを使う - 実行する確認: 変更後は
pnpm checkと対象テストを実行する - 止まって聞く操作: 依存関係、CI、DB migration、テスト範囲は勝手に変えない
特定の機能だけに必要な生成手順は、そのフォルダに近い指示へ置く。今日の不具合内容や締め切りは、今回の依頼へ書く。全体、場所、今回だけを分けると、何をどこまで守るのかが読みやすくなる。
指示を残しても、レビューは残す
書いた後は、小さな依頼で確かめる。AIへ読み込んだ指示と、変更前に確認が必要な操作を説明してもらい、影響の小さい修正で差分と実行コマンドを見る。
GitHubの公式文書も、生成AIは同じ指示へ毎回まったく同じように従うとは限らないと注意している。指示ファイルは、レビューやテストをなくす保証書ではない。人とAIが、同じ確認へ戻るための材料だ。
翌日、別の小さな修正を頼むと、AIは生成ファイルを変える前に、元のスキーマをどこで直すか質問した。一回で全部が解決したわけではない。それでも、黙って三つ直す夜から、質問へ一つ答える昼に変わった。
AIがまた同じルールを外した時、自分の伝え方が悪いと決めて、ひとりで直し続けなくていい。今日繰り返した手直しを一つ、現在の事実、実行する確認、止まって聞く操作の三行にして、チームが読める場所へ置く📝
詳しい指示例、配置の分け方、読み込まれたかを確かめる手順は、ValueGateの記事でまとめている。
続きはこちら: AIに任せたはずなのに、毎回同じ手直しが戻ってくる
