【要約】EAのAI判断を後から検証できるようにartifactとして保存する設計 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
EA開発者が、AIの判断根拠が不明透明になる「ブラックボックス化」という課題に直面している。AIは入力が同じでも出力が変動するため、事後的な原因分析が極めて困難である。具体的には以下の問題が発生する。
- ・AIへ渡したプロンプトやコンテキストが不明。
- ・AIの生レスポンスと、アプリが解釈したJSONの乖離が追えない。
- ・リトライ時の失敗プロセスやエラー内容が記録されない。
- ・大量のログから、特定の判断に至った根拠へ辿り着けない。
// Approach
開発者がAIの挙動を詳細に分析するため、呼び出しごとに一意のディレクトリを作成する設計を採用する。AIの判断プロセスを「アーティファクト」として構造化して保存する。
- ・
logs/ai_artifacts/YYYY-MM-DD/<HHMMSS_kind_id>/にデータを集約。 - ・
raw_response.txtとparsed_response.jsonを分離して保存。 - ・判断ログに
artifact_dirを持たせ、ログから直接参照可能にする。 - ・APIを介して、ダッシュボードから画像やログを即座に閲覧可能にする。
- ・リトライ時のエラーや中間レスポンスもすべて保存対象とする。
// Result
開発チームがAIの判断プロセスを完全に可視化できる体制が整う。これにより、システムの信頼性と改善速度が向上する。
- ・AIの出力ミスかパーサーのバグかを即座に切り分けられる。
- ・過去のAI出力を固定して、ロジックのみのバックテストが可能になる。
- ・リトライの失敗パターンを特定し、プロンプトの改善に繋げられる。
- ・ダッシュボードにより、運用中の異常を迅速に検知・確認できる。
Senior Engineer Insight
> LLMをミッションクリティカルなシステムに組み込む際の、極めて実践的な設計である。特に「生レスポンス」と「パース後データ」を分離する点は、非決定的なAIを扱う上で必須の作法だ。また、アーティファクトをバックテストに再利用する思想は、AIの変動要素を排除してロジックの純粋な差分を見るために不可欠である。実運用では、画像やリトライログによるストレージ消費の増大が懸念されるため、保存期間や圧縮戦略の策定が次のステップとなるだろう。