非常停止ボタンのある自律性
自律エージェントが有用なのは、取り返しのつかない操作を実行する瞬間の直前までです。EDDI 6.2.0はヒューマン・イン・ザ・ループ ガバナンスを導入しました。3段階の粒度による明示的な承認ゲートを、タイムアウトポリシー、ループ検知、再起動後も残る状態が支えます。承認は設定であり、独自のアプリケーションコードではありません。
承認ゲートがプラットフォーム側にあるべき理由
多くのチームは承認をアプリケーション層に後付けします。ここにキュー、あそこにWebhook、どこかにデータベースのフラグ。この方式は、プロセスが再起動した瞬間、承認者がオフラインになった瞬間、エージェントが同じ要求をループで再試行した瞬間に破綻します。EDDIは会話パイプラインそのものにゲートを組み込みます。一時停止したターンは停止したまま、割り込む入力は明確な409 Conflictで拒否され、すべての判断はエージェントのライフサイクルと同じ監査証跡に記録されます。
3段階の承認
- ターンレベル承認:
PAUSE_CONVERSATIONアクションがパイプライン全体を停止します。人が再開するまで、以降のユーザー入力は409 Conflictを返すため、保留中の判断を追い越す処理は発生しません。 - ツール呼び出し単位のゲート: 個々のツール呼び出しに、実行前の人による承認を要求できます。globパターンの許可リストと除外リストが対象を正確に定義し、組み込み、HTTP、MCP、A2A、動的、メモリの各ツールに適用されます。
- グループフェーズ承認: マルチエージェントの議論フェーズでは、
PHASEまたはTASKの粒度で人による承認を必須にできます。グループが監督なしに計画から実行へ進むことはありません。
タイムアウトポリシー
人は高可用なサービスではありません。各ゲートは、誰も期限内に応答しなかった場合の挙動を宣言します。
WAIT_INDEFINITELY: 人が判断するまで実行を停止したままにします。無人での実行が決して許されない操作向けです。AUTO_APPROVE: 期限切れ後に処理を続行します。監督が抜き取り確認で足りる低リスクな操作に適します。AUTO_REJECT: 保留中の操作を拒否し、エージェントは拒否時の経路へ進みます。ABORT: 実行そのものを打ち切ります。不可逆な操作や影響範囲の大きい操作で最も安全な選択です。
本番運用に耐える設計
承認の仕組みは最悪の日にこそ評価されます。レビューの最中の再起動、同じ質問を繰り返すエージェント、管理UIではなくSlackで生きている承認者。
- 無進捗ガード: EDDIは一時停止ごとにフィンガープリントを生成します。自動判断の後に同一のフィンガープリントが再び現れた場合、無限の承認ループとして検知し、トークンを浪費せずに循環を断ち切ります。
- クラッシュリカバリ: 保留中の承認はサーバー再起動後も保持され、タイムアウトタイマーは自動的に再設定されます。ローリングデプロイで進行中の判断が静かに失われることはありません。
- Slack承認: インタラクティブなBlock Kitカードが承認者に判断を届けます。引数プレビューはマスクされ、承認者ホワイトリストにより権限のある人だけが操作できます。
- MCP承認: 外部クライアントは保留中の承認を一覧し、MCPツールで承認または却下できます。これらは77のツール群の一部であり、IDEやエージェントクライアントが制御面になります。
ガバナンスとコンプライアンス
人による監督は運用上の好みではなく、規制上の要件です。承認ゲートはEU AI規制法第14条の人的監督に具体的な実装を与えます。特定の人物が特定の操作を承認し、その判断が記録されます。EDDIのコンプライアンスフレームワークとHMAC-SHA256の監査証跡と組み合わせれば、エージェントが何をしたかだけでなく、誰がいつ許可したかまで監査人に示せます。