この記事の要点

  • 入力から結果までを一つの実行IDで結び、時系列と責任主体を追跡できるようにする
  • 内部推論の全文ではなく、判断結果、適用ルール、承認、ツール操作を記録する
  • 機密情報を最小化しながら、改ざん検知と再現性を確保する
01

ログの量と説明可能性は同じではない

AIエージェントはモデル、検索、外部API、ブラウザ、通知など複数の仕組みを横断します。それぞれのログが残っていても、時刻や識別子が別々では、一件の結果がどの入力と判断から生まれたのかを説明できません。

監査に必要なのは、すべてのデータを保存することではなく、特定の実行を端から端まで検証できることです。そのために、関連する記録を実行単位の証拠パッケージとして束ねます。

02

共通の実行IDで出来事をつなぐ

ワークフロー開始時に一意の実行IDを発行し、モデル呼び出し、承認依頼、ツール実行、外部システムの応答まで引き継ぎます。再試行や子タスクには別のIDを付け、親実行との関係を記録すると、重複や分岐を追跡できます。

  • 開始・終了時刻と、各ステップの順序
  • 実行を開始した利用者、サービス、スケジュール
  • 使用したワークフロー、モデル、設定、ルールのバージョン
  • 親実行、子タスク、再試行、承認依頼の関連ID
  • 正常完了、部分成功、失敗、SAFE_HOLDの最終状態
03

判断過程ではなく、検証可能な根拠を残す

モデルの内部推論を全文保存しても、監査担当者が業務判断を再現できるとは限らず、不要な個人情報や機密情報を増やす可能性があります。代わりに、参照した入力、適用したルール、判定結果、信頼度や検証結果、選択したアクションを構造化して記録します。

ツール操作では、実行主体、対象、主要な引数、応答状態、外部側の処理IDを保存します。本文やファイルの全量が不要な場合は、保管場所への参照とハッシュを残し、後から同一性を確認できるようにします。

04

一件の証拠パッケージに必要な内容

レビュー担当者が複数の管理画面を行き来しなくても、何が起きたかを時系列で確認できる形を目指します。人間の承認や手動修正も外部イベントとして扱わず、同じパッケージへ含めます。

  • 受け付けた依頼、入力元、入力データの参照またはハッシュ
  • 適用したポリシーと、許可・拒否・要承認の判定
  • 人間の承認者、対象内容、日時、差し戻しコメント
  • 各ツールの操作内容、対象、結果、外部システムの処理ID
  • 生成物と変更前後の差分、実施した自動検証
  • エラー、再試行、停止理由、未確認の副作用、再開条件
05

機密性と改ざん耐性を両立する

証跡に認証情報、個人情報、メール本文などを無条件で複製すると、ログ自体が新しいリスクになります。項目ごとに保存目的と閲覧者を決め、不要な値はマスキングし、原本への参照だけで足りる情報は重複保存しません。

記録はエージェント自身が上書きできない保管先へ送り、連番、ハッシュ、時刻情報などで欠落や変更を検出できるようにします。閲覧、出力、保持期限後の削除も記録対象に含めます。

  • 秘密情報と認証情報を収集前に除外またはマスキングした
  • 証跡の書き込み権限と閲覧権限を分離した
  • 保存後の変更と欠落を検知できる仕組みがある
  • 業務上必要な保持期間と削除方法を定めた
06

証跡は定期的に取り出して検証する

保存されているだけのログは、必要な場面で検索できないことがあります。正常完了、承認拒否、部分成功、タイムアウトなどの代表例を選び、証拠パッケージだけで実行内容と最終状態を説明できるか定期的に確認します。

不足が見つかった場合は、項目を増やす前に、どの判断を検証できなかったかを特定します。監査担当者、運用担当者、開発担当者が同じ実行IDを使って会話できる状態が、証跡を実務に役立つものへ変えます。

PRIMARY SOURCES

参考資料