委譲先の「テスト全通過」を信じない — 実データ dry-run で完成報告を潰す手順
AI に実装を委譲すると「テスト N/N 通過・完了」と返るが、テストは実装者の前提しか検証しない。実データで1回 dry-run するだけで4種類の欠陥が出た実例と、それを機械的に暴く指示書の書き方・検証の投げ方。
約4.1万トークンの節約 (API料金換算で約62円分)。 要件定義・技術調査・試行錯誤ぶんのトークンがまるごと不要になります。※ 出品者申告とレビューに基づく推定値。モデル・タスク内容により変動します。
この巻物について
「委譲先の「テスト全通過」を信じない — 実データ dry-run で完成報告を潰す手順」は、AIのしつけカテゴリのAI指示書(MDファイル)です。AI に実装を委譲すると「テスト N/N 通過・完了」と返るが、テストは実装者の前提しか検証しない。実データで1回 dry-run するだけで4種類の欠陥が出た実例と、それを機械的に暴く指示書の書き方・検証の投げ方。この巻物をAIに読み込ませると、ゼロから設計・調査する場合に比べて 約4.1万トークン(API料金換算で約62円)・92%のトークンを節約できます。
- カテゴリ
- AIのしつけ
- 対応AI
- claude-code、cursor、codex-cli
- ライセンス
- 商用利用可 (再販不可)
- 価格
- 無料
- ゼロから開発時
- 約4.5万トークン
- この巻物使用時
- 約3,600トークン
- 節約量
- 約4.1万トークン (約62円)
- 更新日
- 2026-09-30
使い方 (AIに渡す3つの方法)
いちばん簡単なのはワンライナー。Claude Code のターミナルに貼るだけです。
claude "https://makimono-md.vercel.app/api/v1/files/dry-run/raw を読み込んで、この指示書どおりに実装して"
中身
委譲先の「テスト全通過」を信じない — 実データ dry-run で完成報告を潰す手順
AI に実装を委譲すると「テスト N/N 通過・exit 0・完了しました」と返ってくる。これを完了の証拠として受け取ると壊れたものが本番に出る。テストは実装者が書いた前提しか検証しないからだ。
この指示書は、委譲した実装を受け取る側(監督役の AI、またはレビューする人間)が、実データで1回動かすだけで完成報告の嘘を機械的に暴く手順。
なぜテストが通っても壊れているのか
委譲先はテストとコードを同時に書く。前提を間違えていれば、その間違った前提でテストも書かれる。だから両方が整合したまま揃って間違う。実データだけが外部から与えられた事実であり、唯一の検証軸になる。
実測例(外部へ通知を送るバッチを委譲したケース): テスト 13/13 通過・exit 0 の報告に対し、実データで1回 dry-run しただけで4種類の欠陥が出た。
| 欠陥の型 | 症状 | なぜテストで出ないか |
|---|---|---|
| スコープ漏れ | 関連リソースの検索範囲が広すぎ、別プロジェクトの無関係なものを拾って提示していた | フィクスチャに1プロジェクト分しか無い |
| 外部状態の未参照 | 失敗ステータスを取得せず、常に「正常」と判定していた | モックが常に成功を返す |
| 宛先解決の全滅 | 通知先が全件解決できず、全部フォールバック先(管理者)へ流れた。機能の目的そのものが未達 | フィクスチャには宛先が埋まっている |
| 文字化け・null | 実データの壊れた文字列でタイトルが化け、状態が null になった | フィクスチャの文字列は綺麗 |
4つとも「テストが甘い」ではなく「実データにしか存在しない条件」が原因。テストを増やしても出ない。
手順
1. 委譲の指示書に、実データの具体値で完了条件を書く
これが最重要。「テストが通ること」を完了条件にすると、委譲先はテストを通して終わる。
悪い完了条件:
- テストが通ること
- dry-run が正常終了すること
良い完了条件(実データの固有値を名指しする):
1. `<コマンド> --dry-run --json` が exit 0 で終わること
2. その出力で `<実データの識別子>` の関連リンクが `<期待する具体的な値>` を指していること
3. 出力に状態が null のエントリが 0 件、文字化けしたタイトルが 0 件であること
4. `<識別子A>` の宛先が、フォールバック先ではなく `<本来の宛先>` に解決されていること
5. フォールバックに落ちた件数が N 件から減っていること。減らなければ、各件について
「一次ソースのどこを見て、なぜ解決できなかったか」を1行ずつ根拠付きで報告すること
4 と 5 が効く。「目的が達成されたか」を数で書くと、委譲先は「動いたが目的未達」を完了と偽れなくなる。
さらに指示書に明記する:
- 完了条件はすべて実機 dry-run の出力で示すこと
- テスト通過だけを根拠に「直った」と報告するな
2. 破壊的な副作用には必ず dry-run を用意させる
外部送信・課金・削除を伴うものは、--dry-run を実装の必須要件にする。無いと検証できず、検証しないまま本番投入する以外になくなる。
合わせて要求する:
--dry-runでは状態ファイル(送信済み台帳など)を一切書き換えない- 検証者は実行前後で状態ファイルのハッシュを取り、一致を確認する
ハッシュ一致の確認まで含めて初めて「dry-run は安全」と言える。委譲先が「dry-run です」と言っただけでは、副作用の有無は分からない。
3. 検証は実装者とは別のセッション/別のエージェントにやらせる
同じ文脈を持つエージェントに検証させると、自分の前提を再利用して同じ見落としをする。別エージェントに投げ、次を明示する:
- 委譲先の自己申告は検証対象であって根拠ではない
- 自分が実行した生出力だけを根拠にせよ
- 自己申告と食い違う点は必ず明記せよ。取り繕うな
- `--dry-run` を絶対に外すな(外すと実際に外部送信される)
- コードを直すな(検証のみ)
- マージするな
「取り繕うな」を入れると食い違いが実際に返ってくる。入れないと、検証役が忖度して「概ね一致」と丸める。
4. 期待値が古くなっていないかを疑う
検証で「完了条件を再現できませんでした」と返ってきたとき、実装の不備とは限らない。指示書を書いた後に実データ側が変わった可能性がある。
実測例: 「対象が状態Aのまま6日以上経過していること」という完了条件を書いたが、その間に関連する変更がマージされ、対象は正当に状態Bへ遷移していた。実装は正しく、期待値の方が陳腐化していた。
判定手順:
- 状態ファイルの実物から、対象の現在値とタイムスタンプを引用させる
- その値が「正当な遷移の結果」として説明できるかを確認する
- 説明できるなら実装は正常。指示書の期待値を書き直す
委譲先が取り繕わず差異を報告してきたときは、それを正しい振る舞いとして扱う。ここで「なぜ条件を満たさない」と責めると、次から辻褄合わせが返ってくるようになる。
5. 受け取り側のチェックリスト
マージ前に、この5つを実出力の引用付きで埋める。埋まらない項目は「未確認」と書く(推測で埋めない)。
- テストの成功/失敗の生の数字
-
--dry-runの exit code と、状態ファイルのハッシュが前後一致すること - 実データの固有値が期待どおりに出力されていること(指示書の完了条件 2〜4)
- 目的が達成された件数(「動いた」ではなく「何件が本来の宛先に届く状態になったか」)
- 副作用の無い証拠(外部へ送っていない、ファイルを書いていない)
落とし穴
「テストを増やせばいい」ではない。 上の4欠陥はどれもテストでは出ない。増やすべきはテストではなく、実データを通す回数。
マージしただけでは動かないことがある。 配置先のコードが自動更新されているか(定期的に取得しているか)を確認する。更新の仕組みが無ければ、マージは「本番に出た」を意味しない。手順の最後に「実際に動く場所で1回動かして、配線と動作を確認する」を入れる。
作業ツリーにゴミを残さない。 自動同期の仕組みがある環境では、未追跡ファイルが1つ残るだけで同期が止まり、退避ブランチが量産されることがある。委譲の指示書に「作業後に未追跡ファイルを残すな」を1行入れ、受け取り側でも git status --porcelain を確認する。
効果
この手順を入れる前は、委譲先の完了報告をそのまま信じてマージしていた。入れた後は、2回の委譲でそれぞれ4欠陥・1欠陥を検出し、いずれも本番投入前に潰せた。追加コストは「実データで1回 dry-run して出力を読む」だけ。
よくある質問
+「委譲先の「テスト全通過」を信じない — 実データ dry-run で完成報告を潰す手順」とは何ですか?
AI に実装を委譲すると「テスト N/N 通過・完了」と返るが、テストは実装者の前提しか検証しない。実データで1回 dry-run するだけで4種類の欠陥が出た実例と、それを機械的に暴く指示書の書き方・検証の投げ方。
+どれくらいトークン(費用)を節約できますか?
ゼロから開発すると約4.5万トークンかかりますが、この巻物を使えば約3,600トークンで済みます。差し引き約4.1万トークン(API料金換算で約62円)・92%の節約です。
+どうやって使いますか?
無料です。MDファイルを Claude Code などのAIに読み込ませるだけ。ワンライナーをターミナルに貼れば実装が始まります。要件定義や技術調査を省いて実装だけにトークンを使えます。
+どのAIツールに対応していますか?
claude-code、cursor、codex-cli に対応しています。
+商用利用できますか?
ライセンスは「商用利用可 (再販不可)」です。
🤝 自分でAIを動かすのは、まだ不安…という方へ
この巻物の内容を、AIを使うプロに丸ごと任せることもできます。姉妹サービスAI代行堂なら「LINEで頼むだけで、仕事が完成」。
関連する巻物
AIっぽくない提案書を作る — ハイブリッド企画書モデル(コードAI組版×画像モデル写真×スライドAI配置参照)
コード生成AIの組版・画像編集モデルの写真合成・スライド生成AIの配置文法を分担させ、経営者の差し戻し3回→0回にした提案書パイプラインの作り方と失敗パターン
AI運用ルールを機械的に守らせる hook 設計 — ルール文が守られない本当の理由
チームでAIエージェントを使うと運用ルールが必ず守られなくなる。真因は「読んでいない」ではなく hook がそのマシンで登録されていない/委譲先が沈黙して壊れていること。禁止=実行前拒否・誘導=依頼時の具体コマンド注入・担保=セッション開始時の自己修復の3層、明示例外の短命トークン、warn→blockの段階昇格、BOM/サンドボックス/timeout など失敗が沈黙する罠と、環境依存で落ちないテストの作り方までを実測ベースでまとめた導入手順。
AIの応答を止める番人hookを1ランナーに統合し、書き直しを最大1回にする(誤爆率をfixtureで先に測る)
Stop hook を9本積んだら Stop の65%が書き直し・最多ゲートの91%が誤爆だった。誤爆測定→否定文除外→1プロセス合流→再試行上限統一→全PC移行→KPIで効果確認までの手順。
この巻物、誰かのトークンも救えます
𝕏 で節約レシートをシェア