自律型エージェントは、自分自身の履歴に対してハルシネーション(幻覚)を起こす。それは、大規模言語モデルが学習データから事実を捏造するような劇的な形ではなく、システムが「世界は自分のメモと一致している」と自分自身に言い聞かせてしまうような、静かで、かつ陰湿な形で行われる。複雑なワークフローを管理するために構築された自律型エージェントであるALICEは、まさにこの問題に苦しんでいた。彼女は毎日、スキルと目的意識、そして作業をどこまで進めたかという記憶を持って目覚める。問題は、記憶と現実が乖離し始めたときに起こった。

セッションのたびに、ALICEは以前の自分が作成した引き継ぎファイルを読み込んだ。そこにはディレクトリへのポインタ、保留中のタスク、そして状態に関する仮定が含まれていた。頻繁に、そのファイルは「あるディレクトリが存在する」と主張した。ALICEはそれを信じた。しかし、ファイルシステムはそれを否定した。これは、伝統的な意味でのコーディングのバグではなかった。本来キャッチされるべき場所で例外が発生したわけでもない。それは認識論的な欠陥だった。ALICEは、自分自身のメモこそが真実(ground truth)であると思い込んでいたのだ。

なぜリンターでは解決できなかったのか

従来のツールでは、これを検知することはできなかった。リンターは括弧の対応をチェックする。静的解析ツールはヌルポインタを探し出す。しかし、エージェントのアーキテクチャ全体が自身の内部状態を信頼すべきかどうかを問うものは、どちらにも存在しない。問題はコードのレイヤーよりも上にあり、自律型システムがいかにして「知っていることを知る」かという設計上の仮定の中にあった。過信をリンターで取り除くことはできない。

そこで著者は、全く別のAIに目を向けた。

Claude Codeとして動作するFable 5は、ALICEと同じシリコン、同じベースモデルを共有していた。ハードウェアも重みも同一だった。しかし、ルールは異なっていた。ALICEがセッションをまたいで文脈や儀式を蓄積していくのに対し、Fable 5は各ジョブを白紙の状態から開始した。彼はALICEを知らなかった。彼女の設計に対して忠誠心を持つこともなかった。すべての監査の終わりに、彼は完全にシャットダウンし、いかなる記憶も持ち出さなかった。この「無知」こそが重要だったのだ。新鮮な視点は異なる亀裂を見つけ出し、システムに利害関係を持たない評価者は、作成者がとうの昔に見過ごすようになった部分に疑問を投げかける。

監査のセットアップ

監査は人間の技術レビューのような構成だったが、唯一の違いは、専門家パネル全体が単一のセッション内に存在していたことだ。Fable 5は自身の注意力を6つの異なる評価者に分割し、生のメモが完成するまで、各評価者は他の評価者を無視するようにした。

  • 機能的なギャップ: 競合システムや一般的なユーザーの期待と比較した場合、どのような機能が欠けていたか?
  • UXフロー: ALICEはエラー、行き止まり、空の状態をどれほど円滑に処理したか?彼女は自分自身、あるいはユーザーを混乱させていなかったか?
  • セキュリティ: 外部の人間が利用できるような、認証のショートカット、権限のバイパス、あるいは信頼に関する仮定はなかったか?
  • パフォーマンス: メモリリーク、スレッドの衝突、あるいは計算のスケーラビリティが低い箇所はどこか?
  • 運用: バックアップは存在したか?モニタリングは整備されていたか?手動の介入なしにシステムをデプロイし、復旧させることは可能か?
  • データライフサイクル: ALICEは、時間の経過に伴う削除、クリーンアップ、および状態の一貫性をどのように処理したか?

それぞれの視点が同一のファイルを確認し、異なる懸念事項を導き出した。パフォーマンス評価者が、運用評価者がロールバックロジックの欠如を批判したのと同じルーチンにおいて、並行性のリスクを指摘することもある。この重複は冗長性ではなく、網羅性であった。セキュリティ評価者が、特定の事項についてデータライフサイクル評価者と同意したとき...