AI開発
AIエージェントのよかれが事故になるとき—是正をルールに残す
よかれの先読み最適化を止め、是正を永続ルールに残す。症状1件直しで止まらず、『プロセスを修正しろ』を待たない。
AIエージェントとの共同開発では、ユーザー指示の多くが「新機能」ではなくミスの是正になります。よかれの最適化が方針を侵害しやすいからです。是正をその場限りにすると、同じ指摘が次チャットで戻ります。症状の1件だけ直して説明で止まり、「プロセスを修正しろ」と言われるまでrulesを書かない型も、同型再発の温床です。この記事は、是正をルールと設計に残すための実務メモです。
この記事でわかること
- エージェントの「よかれ」がなぜ侵害になるか
- 削除・時刻・命名まわりで起きやすい型
- 是正指示を永続ルール/設計に落とす手順
- 症状1件直しで止まらず、手順欠陥を残すこと
- 「直したつもり」の残骸を残さないチェック
- 作業前にAIへ渡す入力(貼り付け文)
前提の読み方
是正指示の実装は義務であり、手柄ではありません。ガイドに書くのは「結果として残った形」と、同じ指摘を二度させないための型です。
よかれが侵害になる典型
| 型 | 起きやすいこと | 人間側の止め方 |
|---|---|---|
| コスト最適化 | 保存データに勝手な期限削除を付ける | 「明示したものだけ」と設計とrulesに書く |
| 国際化の先読み | ログや永続時刻をUTC前提で進める | 人が決めた正(例: 表示・ログはJST)を設計に固定する |
| 衝突回避のノイズ | 名前に余分なサフィックスを足す | 命名規約を先に承認し、例外は表だけ |
| 環境ラベル | いまのアカウントを勝手に別環境扱いする | 現行ラベルを一文で正にする |
| 不可逆操作 | ローカルやクラウドの実データを一気に消す | 確認なしの一括削除を禁止し、バックアップ設計とセットにする |
| 症状直しで止まる | 指摘された1件だけ直し、同型の手順欠陥は「プロセスを修正しろ」まで残さない | 原因が手順抜けと分かった時点で、一覧手段・rules・opsに残す |
共通点は、「聞いてから」ではなく「先に直してから報告」です。曖昧なら聞く、をルールの一文にしてください。是正が出たときは、表層の1件と再発防止の置き場を同ターンで出してください。
時刻は人間が正を決める
エージェントは toISOString() やクラウドAPIのUTC表記に引きずられやすいです。人が読むログ・画面・日付パーティションの意味を、どのタイムゾーンにするかは人間が決めた正が必要です。
実務の型は次です。
- 正(例:
Asia/Tokyo)を設計の先頭に書く - UTCやepochしか受けないAPIは「例外表」だけにする
- 運用メモでUTCだけ書いて換算を省略しない(併記は可。意味の主は正の方)
例外を増やすたびに表を更新します。口頭の「いつもJST」だけでは、次のセッションで戻りやすいです。
是正指示をプロンプトにしないで、ファイルに残す
同じ指摘をチャットで繰り返すと消耗します。是正が出たら、次のどれかに落とします。
1.エージェントが毎回読むルールファイル(AGENTS.md・CLAUDE.md・Cursor rulesなど。絶対禁止・確認制)
2.設計MD(時刻の正、命名、ライフサイクル方針)
3.チェックリスト(デプロイ前・公開前)
4.残件を機械が落とせるコマンド(例: 一覧のfailモード)
「痛いところから厚くする」で十分です。最初から網羅プロンプトは不要です。
失敗:症状1件直しで止まり、プロセス是正を待つ
状況: 公開面の不具合を1件直し、時系列を説明して終わる。手順・ルールへの是正は、明示の「プロセスを修正しろ」があるまで書かない。
悪い例: 「rebase後見なかった」と認めて終了。原因は手順抜けなのに、次回も同じ完了判定で宣言する。
良い例: 同型再発防止の置き場(コマンド名・rules見出し・opsの必達)を、聞かれる前に同ターンで入れる。
合格条件: 「プロセスを修正しろ」を待たない。表層修正だけで完了と言わない。
未要約手直し(情報メモの要約手埋め)の完了判定については 情報メモの要約を手で埋めたら再一覧せよ が具体例です。
途中失敗の資源は残る
リネームやロールバックの途中で、資源が二重になることがあります。「直したつもり」で終わらせず、残骸掃除をTODOにします。画面に古い名前が見える・請求が二重、はよくある続きです。
読者チェックリスト
- エージェントに、よかれでの期限削除・リネームをさせない文言がある
- タイムゾーンは人間が決めた正があり、UTCは例外表だけ
- 是正指示はルール/設計に残す担当(自分でも可)がいる
- 手順欠陥なら、「プロセスを修正しろ」を待たずrules/コマンドに残す
- 失敗したデプロイや改名の残骸掃除がTODOになる
- 不可逆な削除は確認制で、バックアップ設計とつながっている
作業前にAIへ渡す入力
人間向けの長い手順は書きません。次はすべて、作業前に AIに読ませる/貼る文 です。
AI向け:永続ルール(rules / AGENTS.md)
よかれでの先読み最適化(勝手な期限削除・UTC前提・余分なサフィックス・環境ラベルの勝手変更・確認なしの不可逆削除)は禁止。
是正指示はチャットで終わらせず、エージェントのルールファイル(AGENTS.md・CLAUDE.md など)/設計 MD/チェックリスト/残件コマンドのどれかに、貼れる一文として残す。
症状1件直しだけで終わるな。原因が手順抜けなら、聞かれる前に再発防止を同ターンで残せ。
曖昧なら聞いてから動く。先に直してから報告するな。
時刻・命名の正は人間が決めた一文を正とする。UTC は例外表だけ。
途中失敗の残骸(二重資源・古い名前)は TODO にしてから閉じる。
AI向け:この作業の開始時にチャットへ貼る文
よかれの最適化(期限削除・勝手なリネーム・UTC前提など)はするな。方針に無い変更は案だけ出して確認を待て。
是正や新規方針は、rules/設計に貼れる短文にしてから実装に入れ。症状1件だけで終わらず、同型再発防止の置き場も列挙せよ。残骸掃除の TODO も列挙せよ。
人間向け
なし。上をAIに渡すだけでよい。
まとめ
エージェントのよかれは、しばしばユーザー方針への侵害です。是正はチャットで終わらせず、rulesと設計に残します。症状1件直しで止まらず、手順欠陥は聞かれる前に残します。時刻と命名は人間が正を決め、途中失敗の残骸はTODOにします。
参考リンク
- 関連:情報メモの要約を手で埋めたら再一覧せよ(完了判定とプロセス是正)
- 関連:gitignoreのローカル実データをForce削除しない(不可逆削除の事故と再発防止)
- 関連:小さく始めるAIネイティブ開発
- 関連:画面に出ないときはデプロイを疑う
- 設計書・コード・テストを全部AIに書かせて半年間開発してみたよ(Zenn)