AIコーディングで手戻りを減らす一文。implementation-notes を残してもらう

AIコーディングで手戻りを減らす一文。implementation-notes を残してもらう

AIコーディングで手戻りを減らしたいなら、実装依頼にこの一文を足すのが効きます。

仕様書通りに実装して。
途中で仕様書に書かれていなかった判断・変更・妥協点を、全部 implementation-notes に残して。

大事なのは、AIに「作らせる」だけで終わらせないことです。
AIがどこで仕様の行間を読んだのか。
どこで小さな判断をしたのか。
それをあとから見える形に残します。

仕様書は100%を網羅できない

仕様書に全部を書くのは難しいです。

  • ボタンの文言
  • エラー時の表示
  • 空データの扱い
  • 既存コードとの合わせ方
  • どのファイルに責務を置くか
  • テストをどこまで書くか

こういう細部は、実装中に決まることが多いです。

人間が実装するときも同じです。
ただ、人間ならレビュー時に「ここはこう判断しました」と説明できます。

AIにもそれをさせる。
それが implementation-notes の役割です。

implementation-notes に残すべきこと

残すのは、きれいな作業日報ではありません。
あとからズレを見つけるためのメモです。

たとえば、こういう内容です。

## implementation-notes

- 仕様書に空状態の文言がなかったため、「まだデータがありません」を仮文言にした。
- 既存の Button コンポーネントに disabled スタイルがあったため、新規CSSは追加しなかった。
- APIエラーの種類が未定義だったため、現時点では全エラーを同じ表示にしている。
- 一覧の並び順が未指定だったため、既存ページと同じ `created_at desc` にした。
- テスト対象は保存成功と空状態に絞った。権限エラーは仕様未確定のため未追加。

このくらいで十分です。

完璧な説明より、「どこが仕様外だったか」が見えることのほうが大事です。

レビューで見る場所が変わる

このメモがあると、レビューの見方が変わります。

コード全体を最初から読む前に、まず implementation-notes を見ます。

  • 仕様にない判断は妥当か
  • 仮置きの文言はそのままでよいか
  • 妥協点を次のタスクにするべきか
  • テストしなかった部分は危険ではないか

ここを見れば、仕様と実装のズレを早く見つけられます。

AIが勝手にズレたというより、AIが埋めた行間を人間が確認できる状態になります。

Claude CodeでもCodexでもCursorでも使える

この考え方は、Claude Codeだけの話ではありません。

CodexでもCursorでも同じです。
AIに長い実装を任せるほど、途中の判断は増えます。

だから依頼文に、最初からログの置き場を指定します。

仕様書に沿って実装してください。
仕様書にない判断、変更、妥協点、未確認事項は implementation-notes に箇条書きで残してください。
実装完了後、変更点より先に implementation-notes を提示してください。

「先に提示してください」まで入れるのがポイントです。
最後に短く出してもらうだけだと、見落としやすいからです。

ファイルに残すなら場所を決める

毎回チャットだけに残すと、次のAIに引き継ぎにくくなります。

プロジェクトで使うなら、置き場所も決めておくと安定します。

implementation-notes は docs/implementation-notes.md に追記してください。
追記するときは、日付、対象機能、判断、理由、未確認事項を短く残してください。

小さい案件なら、PR本文や作業完了メモでも十分です。
大きい案件なら、専用ファイルに残すほうがあとで探しやすいです。

そのまま使える短いプロンプト

最短ならこれでいいです。

仕様書通りに実装して。
仕様書に書かれていなかった判断・変更・妥協点・未確認事項は、全部 implementation-notes に残して。

レビュー前提なら、少し足します。

仕様書通りに実装して。
仕様書にない判断・変更・妥協点・未確認事項は implementation-notes に残して。
最後に、implementation-notes、変更ファイル、未実施事項、確認したテストを短く出して。

チームで使うなら、もっと明確にします。

仕様書通りに実装して。
仕様書にない判断・変更・妥協点・未確認事項は docs/implementation-notes.md に追記して。
各メモは「判断」「理由」「影響」「次に確認すること」の4項目で書いて。
公開、削除、破壊的操作は実行前に確認して。

CLAUDE.md や AGENTS.md に入れるなら

毎回使うなら、プロジェクト指示に入れるのもありです。

## 実装メモ

- 仕様書にない判断、変更、妥協点、未確認事項は implementation-notes に残す。
- メモは短く、あとからレビューできる具体度で書く。
- 公開、削除、破壊的操作は実行前に確認する。

AnthropicのClaude Codeドキュメントでも、CLAUDE.md はプロジェクトの共有指示として使える場所です。
Codexなら AGENTS.md に同じ考え方を入れられます。

「なぜそうしたか」まで残す

AIコーディングで怖いのは、コードが動かないことだけではありません。

動いているけれど、なぜそうなったかわからない。
これが後から一番つらいです。

だから、実装依頼に一文足す。

なぜそうしたかも残して。

この一文で、AIの作業はただの生成から、引き継げる実装に近づきます。

関連記事

参考リンク

attrip

attrip

考えたことを、記事・AI・音楽に変えて発信しています。

盆栽、音楽、ブログ運営、日々の試行錯誤について書いています。

2010年から発信中

コメントを残す