【要約】黙って失敗する無人エージェントを検知するツールを公開した [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
無人エージェントの運用において、成果物が欠落する「Silent Failure」が深刻な課題だ。自動化が進む中で、この問題は検知が極めて困難である。
- ・終了コードが0のため、ジョブは成功扱いとなり通知も飛ばない。
- ・人間が偶然確認するまで、失敗に気づけないリスクがある。
- ・HTTP 200でも中身が0バイトのファイルが生成される等の、従来の監視では検知困難な故障モードがある。
- ・自動化により品質チェックの目が失われ、欠落が数週間放置される恐れがある。
// Approach
成果物の状態を「契約」として定義し、3層の検証プロセスで検知と解析を行う手法を採用している。
- ・第1層(契約):
contracts.yamlに成果物のパス、更新日時、最小サイズを記述し、期待値を宣言する。 - ・第2層(チェッカー): LLMを使わない軽量CLIで契約違反を判定し、違反時にexit code 1を返す。
- ・第3層(検死官): 違反時のみLLMを起動し、ログから原因仮説と再発防止策を含むpostmortemを生成する。
- ・設計思想: 信頼性を優先し、勝手に問題を隠蔽する自己修復機能はあえて実装せず、診断と通知に特化している。
// Result
本ツールの導入により、無人ジョブの欠落を早期に検知し、原因特定までの時間を大幅に短縮できる。
- ・JEPXの「0バイトファイル問題」のような、従来の監視では見逃す失敗を確実に検知できる。
- ・検死レポートにより、人間が検証すべきコマンドや原因仮説が即座に提示され、事後解析の負荷が軽減される。
- ・Claude Code pluginとの連携により、開発環境への統合や運用フローへの組み込みが容易である。
Senior Engineer Insight
> 監視コストと検知精度のバランスが極めて合理的だ。定常監視は決定論的なCLIで行う。異常時のみLLMを動かす設計は、コストとレイテンシの両面で実戦向きだ。自己修復を排除した判断も、不確実なAIを運用に組み込む際の「信頼の境界線」を理解している。ただし、設定ミスが検知自体を阻害するリスクがある。導入時のテストは必須だ。