45395 - シコウサクゴ -

Agentの「〜はリスクです」発言を decision gate として扱う:AI協働の最も実用的なsignal handling

2026-05-17
AI駆動開発
AI駆動開発
Claude Code
subagent
意思決定
委譲
Last updated:2026-05-17
13 Minutes
2535 Words

AI agent に複雑な設計を委譲していると、ときどきこういう返事が混ざります。

このタスクは、〇〇 の稼働状況が未確認のまま含めるのはリスクです。Phase 分離か、別 Issue 化を検討してください。

これを 「ちょっと不安そうだけど、まあやれそうって言ってるから進めて」 と読み飛ばすと、後で必ずハマります。本記事は、Agent の「ためらい」を decision gate(判断分岐点)として扱う運用ルールの記録です。

AI 駆動開発で最も実用的なシグナルハンドリングは、Agent の不安サインを 沈黙させずに即座に外部化 することです。

事の発端:Plan agent が “判断留保” を出してきた

Claude Code の Plan agent に、複数 Issue を統合した実装プランを依頼しました。Agent は5つの Issue を分析し、依存関係を整理し、Phase 分けまで提案してきました。

ところが、最後のセクションに こんな一文 が混ざっていました。

1
注意: Phase 3 に含めている fx_staleness_analysis の
2
稼働状況が未確認のまま含むのはリスクです。
3
Phase 分離か別 Issue 化を検討してください。

これを最初は「あー、リマインダーね」と流しそうになりました。プランの本文はしっかり書かれていて、Phase 構造も合理的に見えたからです。

しかし、「リスク」という言葉を agent が自発的に使うのは、人間が同じ立場で言うのとは意味が違うことを思い出しました。

なぜ Agent の「リスク」発言は重いのか

AI agent は通常、結論を出すように訓練されています。質問されたら答える、依頼されたら作る。「やれません」「判断できません」と返すのは、コスト関数的に不利なはずです。

それでも Agent が「リスクです」「未確認です」「判断を留保します」と言ってくるとき、それは以下のどれかが起きています。

1. 構造的に情報が欠けている

Agent が情報を取りに行ったが、該当データが取れなかった。例: ジョブの稼働状況を確認しようとしたが、ログが見つからなかった。

2. 矛盾するエビデンスを掴んだ

複数のソースを参照したら、互いに食い違う情報が出てきた。例: README と実装が違う、コメントとコードが矛盾している。

3. 一般則と個別事情の乖離

Agent が知っている一般パターンと、目の前のコードベース固有の状況が乖離していることを察知した。

どのケースも、人間が 「だいたいOK」で押し切ると地雷を踏む性質を持っています。Agent はその地雷の存在を感じ取っているけれど、踏むかどうかの最終判断はできない。だから「リスクです、検討してください」という形で投げ返してきます。

沈黙させない:Agent の不安を decision point に変換する

このサインを無視しない運用ルールは、シンプルです。

Agent が「リスク」「未確認」「判断を留保」「Phase 分離を検討」のいずれかを口にしたら、そのセッション内で押し切らない。即座に Issue / Decision Log に外部化する。

「外部化」というのが重要で、これには3つの段階があります。

Step 1: Agent の発言をそのまま引用してログに残す

要約せず、Agent が使った原文をコピーします。要約すると「ちょっと不安らしい」程度に薄まってしまい、後で読み返したとき重みが消えます。

1
## Decision Log: 2026-05-17 Phase 3 設計
2
3
### Plan agent からの判断留保
4
5
> Phase 3 に含めている fx_staleness_analysis の稼働状況が未確認のまま
6
> 含むのはリスクです。Phase 分離か別 Issue 化を検討してください。
7
8
### 検討事項
9
- 稼働状況の確認方法は何があるか
10
- Phase 分離した場合のスケジュール影響
11
- 別 Issue 化の判断基準

Step 2: その場で決めようとしない

ありがちな失敗は、「じゃあ、その点も気をつけてやりますね」と返してプランをそのまま実行に移してしまうこと。Agent は判断留保したのに、人間が勝手に「気をつける」で押し切る。これは典型的な事故パターンです。

代わりに、「判断を後回しにする」と明示的に決めます

Step 3: 判断トリガーを Issue 化する

「いつ判断するか」を Issue にします。例:

1
Issue: Phase 3 の fx_staleness_analysis 含有判定
2
3
判断条件:
4
- [ ] 稼働状況を実環境で確認(直近 7 日のジョブログ)
5
- [ ] 失敗時の影響範囲を見積もる
6
- [ ] 含めない場合のスケジュール遅延を計算
7
8
期限: Phase 2 完了時点まで

これで、Agent の「ためらい」が忘れられない形で残るようになります。

「いずれ気づくだろう」が一番危険

このルールを作る前、私は何度か 「進めていけば途中で気づくでしょ」モードで押し切って、その後ハマりました。具体的には:

  • Phase 3 に組み込んだまま実装 → 想定外の依存が出てきて手戻り
  • 「気をつけてやる」と言ったが、別の作業に集中している間に 危険箇所を忘れる
  • ハマってからログを読み返すと、Agent が事前に警告していたことに気づく(しかし手遅れ)

最後のパターンが最も悔しいです。Agent はちゃんと教えてくれていたのに、自分が無視した。

CLAUDE.md に組み込む

このルールは個人の意識だけだと崩れるので、CLAUDE.md に運用ルールとして書きました。

1
## Agent の判断留保ハンドリング
2
3
Agent(Plan / Explore / その他 subagent)が以下の表現を使った場合、
4
そのセッションで実行に移さず、必ず Decision Log に外部化する:
5
6
- 「リスクです」「リスクがあります」
7
- 「未確認」「未検証」
8
- 「判断を留保します」「判断材料が不足しています」
9
- 「Phase 分離を検討してください」「別 Issue 化を検討してください」
10
11
外部化フォーマット:
12
1. Agent の発言を原文引用
13
2. 検討事項を箇条書き
14
3. 判断トリガー(いつ・何を確認したら判断するか)を Issue 化

これを書いておくと、Claude Code 自身が 「先ほどの発言は判断留保に該当します。Decision Log に追加しますか?」 と聞いてくるようになります。

副次効果:Agent の質が上がる

このルールを運用していると、もう一つ副次効果が出てきました。Agent が判断留保しやすくなるのです。

理由は、ユーザー(私)が判断留保を歓迎する姿勢を見せるので、Agent も「無理に結論を出さなくていい」と学習する。結果として、

  • 「全部やりました」より「ここは判断材料が足りません」と返してくる頻度が上がる
  • 押し切られた末の事故が減る
  • Agent との協働品質が上がる

逆に、判断留保を無視して押し切っていると、Agent もそれに合わせて「無理にでも結論を出す」モードになり、ハルシネーションが増えます。

適用シーンの判別:すべての agent 発言に適用するわけではない

このルールは 「判断留保系の発言」だけ に適用します。Agent が「やります」「できます」「完了しました」と言っている場合は通常通り進めて構いません。

判別の鍵は、「Agent が結論を保留している兆候があるか」 です。

発言例decision gate?
「実装しました。動作確認済みです」❌ 通常進行
「これで完了です」❌ 通常進行
「リスクがあります」✅ 外部化
「判断材料が不足しています」✅ 外部化
「〜は未確認のままです」✅ 外部化
「Phase 分離を検討してください」✅ 外部化
「これでよろしいでしょうか?」△ 文脈次第(軽い確認なら通常)

判別に迷ったら 「Agent は答えを返したか、それとも投げ返してきたか」 を見ます。投げ返してきていたら decision gate です。

まとめ:AI 協働の最も実用的なシグナル

AI agent は「やります」モードがデフォルトです。だからこそ、「やれません」「リスクです」と言ってくる瞬間は最高度に貴重なシグナルです。

これを「気をつけてやる」「いずれ気づく」で押し切ると、後で必ず手戻ります。代わりに、

  1. そのセッションで実行に移さない
  2. Agent の発言を原文で Decision Log に残す
  3. 判断トリガー(いつ何を確認するか)を Issue 化する

この3ステップで、Agent のためらいが忘れられない判断分岐点に変換されます。

AI と協働するうえで最もコスパが良いのは、「自分が見落としていることを Agent が代わりに気づいてくれる瞬間」を逃さないことです。そのためには、Agent の不安サインを沈黙させない運用が要ります。

Agent の「リスクです」は、「お前は今、地雷の上に立っているぞ」というシグナルです。ありがたく受け取って、その場で踏まずに済むようにしましょう。

Article title:Agentの「〜はリスクです」発言を decision gate として扱う:AI協働の最も実用的なsignal handling
Article author:45395
Release time:2026-05-17

記事へのご質問・ご感想をお聞かせください

フィードバックを送る