プロジェクト経験概要
SREのインシデント調査を支援するAI分析基盤「Ops Evidence Synthesis(OES)」を個人で設計・実装しました。
LLMにログを渡して原因を推測させるのではなく、証拠を固定し、複数モデルの分析結果、反証、不足証拠を整理した上で、最終判断を人間へ戻すことを目的としています。
チーム情報
個人開発、1名。
課題設定、アーキテクチャ設計、Python実装、AI連携、テスト、GCPインフラ構築、Terraform、Cloud Runへの公開まで担当しました。
開発・実装内容A:AIへ渡す証拠とデータ境界の設計
【概要】
実運用ログをAIで分析しつつ、raw logや機密情報を外部へ出さないためのEvidence Pipelineを実装しました。
【どのような機能の開発・実装か】
raw logとsource codeはローカルに保持し、sanitization後のEvidence ItemだけをAI分析へ渡します。
システムの意味やログの解釈についてもAIだけで決定せず、人間が内容を確認・承認したOperational Profileを作成し、分析対象のEvidence BundleとともにSHAで固定する仕組みを実装しました。
【課題・問題点】
LLMによる障害解析では、入力したログやコードの境界が曖昧になると、どの情報を根拠に回答したのか後から確認できません。
また、分析途中で追加情報が暗黙に混入すると、同じ入力から同じ判断過程を再現できなくなります。
【打ち手・使用した技術】
「AIの精度を上げる」前に、「何を根拠としてAIに判断させたのかを固定する」方針を採用しました。
raw dataをローカルでsanitizationし、Evidence Itemへ変換。承認済みProfile、Evidence Bundle、model provenanceをSHAで固定しました。
承認後はsource contextへ再アクセスできない境界も設け、分析途中で証拠条件が変化しないようにしました。
使用技術:Python、SHA-256、JSON Schema、GCS、PostgreSQL、Cloud Run
開発・実装内容B:複数AIによる分析と誤判定防止
【概要】
複数AIが同一証拠を分析し、その結果を比較・検証するincident review pipelineを実装しました。
【どのような機能の開発・実装か】
各AIに同一のEvidence Bundleを入力し、回答にEvidence IDを付与させます。
その後、引用が実際の証拠と対応しているかを検証し、supporting evidence、counter-evidence、missing evidence、モデル間の不一致を保持したままreviewを生成します。
【課題・問題点】
複数AIが同じ原因を回答した場合、多数決で正しいと判断する実装も可能です。
しかし、全モデルが同じ誤った仮説を生成する可能性があり、「5モデルが同意した」という事実は原因を証明するものではありません。
特に障害対応では、誤った原因確定が不要な設定変更や別障害を引き起こす可能性があります。
【打ち手・使用した技術】
モデル間の一致度を「原因である確率」として扱わない設計にしました。
AIは原因を確定する役割ではなく、証拠、反証、不足証拠、次に確認すべき項目を整理する役割としました。
引用検証を行い、Evidence IDに存在しない根拠を使用した回答を検出します。また、証拠不足やモデル間の不一致を消さずにreviewへ残します。
最終的なcause promotionや運用操作はhuman gateを通過しなければ実行できない設計としました。
使用技術:Python、Gemini、Vertex AI、構造化JSON、citation validation、PostgreSQL
【成果】
実際のstream_v3ログ45,000行を入力した評価では、45,000件を再sanitizationし、1,036件のEvidence Itemを生成しました。
5/5 providerからschema-validな分析結果を取得しましたが、自動的に原因確定した項目は0件とし、6件をValidation Targetとして人間の確認対象に残しました。
「AIが答えを出すシステム」ではなく、「AIが判断に必要な証拠を整理し、証拠以上の判断をしないシステム」として動作させています。
開発・実装内容C:GCP上での安全な公開・再現環境
【概要】
開発環境だけでなく、第三者が実際の分析結果と判断過程を確認できる公開環境をGCP上に構築しました。
【課題・問題点】
公開デモで任意のログやURLを入力可能にすると、機密情報の送信、プロンプトコスト増加、不正利用などのリスクがあります。
一方、事前計算した静的画面だけでは、実際にAI処理が動作することを確認できません。
【打ち手・使用した技術】
公開reviewは事前計算した結果をread-onlyで表示し、モデル実行コストを発生させず確認できるようにしました。
別途Fast GCP Reviewを用意し、固定された2,000行のsanitized sampleのみを入力可能にすることで、実際のモデル実行も確認できる構成としました。任意ファイル、URL、ログ入力は受け付けません。
Cloud Build、Artifact Registry、digest固定したCloud Run revision、smoke testを用いてbuild・release経路を構成し、TerraformではCloud Run Job、Cloud SQL、BigQuery、Secret Manager、monitoringなどのproduction構成をコード化しました。
使用技術:Google Cloud Run、GCS、Cloud Build、Artifact Registry、Terraform、Cloud SQL/PostgreSQL、BigQuery、Secret Manager、Python