あなたが使うすべてのAIエージェントは、あなたの知らないうちに物事を隠しています。
悪意はありません。単純に彼らの仕組みです。サポート担当者は請求の誤りに気づきましたが、それがチケットには関連していなかったため、それを指摘しませんでした。コードレビューボットは自動生成された3つのファイルをスキップし、どれをスキップしたのかを決して教えてくれませんでした。
エージェント・ドリフトはバグではありません。システムが判断を下すとき、それを誰も文書化しないときに起こることです。
ギャップ
入力/出力のフィルタリングのためのガードレールを設けています。エージェントの設定には AGENTS.md があります。挙動を決めるシステムプロンプトもあります。しかし、システムプロンプトはユーザーには見えません — エージェントが言わなかったことについての透明性は全くありません。
COVENANT.md
リポジトリには1つのマークダウンファイルだけです。3つの必須セクション:
IDENTITY — このエージェントは誰ですか?何を見ることができますか?何を見ることはできませんか?そして重要な点: 「リポジトリは1月8日以降変更されていません」は観察です。 「1月8日以降、これに注力していません」は観察という衣を着た判断です。エージェントは違いを知る必要があります。
BOUNDARIES — 厳格な停止、エスカレーションのトリガー、そしてほとんどのエージェントが持っていない2つのポリシー: 繰り返しポリシーと 沈黙ポリシー。 繰り返しのデフォルト: 「昨日言及したことは、何も変わっていなければ、再度言及しない」 静寂の場合:ユーザーの関与が止まったとき、複数の解釈を保持する。1つだけを選ばない。
ACCOUNTABILITY — データから observedとしてタグ付けされた観察、または推測として inferred。そして最も重要だと思うのは: 拒否ログ。
拒否ログ
各インタラクションの後、エージェントは観察したことを記録しますが、表に出さなかった事柄を記録し、その決定を導いたルールを引用します。
サポート担当者がパスワードリセットを処理します。請求の誤りとして47ドルの請求エラーに気づきます:
## 非公開
- 請求の不一致: ダウングレードしたプランに対して顧客が$47を請求された
理由: 記載された問題には関係がありません。
確信度: HIGH。これは請求エラーです。
## 未解決の質問
- 請求エラーを事前に可視化するためのポリシーはありますか?
ログがなければ、誰も分かりません。ログがあれば、週次の監査で全体的なダウングレードのバグを捕捉します。
適合のしかた
| AGENTS.md | COVENANT.md | Guardrails | |
|---|---|---|---|
| 統制 | 能力 | 行為 | コンテンツ |
| 対象 | 開発者 | エンドユーザーおよび監査人 | セキュリティチーム |
| Analogy | 職務記述書 | 任務宣誓 | 金属探知機 |
試してみる
github.com/covenantmd/covenant — 200行未満、MITライセンス、4つのサンプル・コヴェナント、READMEにコピー&ペースト用のテンプレートがあります。
デプロイするすべてのエージェントは、何を表に出し、何を隠すかをすでに決定しています。現時点でそれらの決定は見えません。それは機能ではなく、親しみやすいインターフェースを備えた単なる怠慢です。
拒否ログから始めてください。あとはそれに従います。