概要
https://zenn.dev/makocchan/articles/perf_investigating_agent
詳細内容
## AIエージェントで障害対応とかにおける調査を少しでも楽にしたい
https://zenn.dev/makocchan/articles/perf_investigating_agent
筆者は、AIエージェントを活用しOpenTelemetryのトレース・ログ情報とソースコードを連携させることで、専門家依存のシステム障害調査を効率化する具体的な検証手法とその成果を提示します。
**Content Type**: ⚙️ Tools
**Language**: ja
**Scores**: Signal:4/5 | Depth:4/5 | Unique:4/5 | Practical:5/5 | Anti-Hype:4/5
**Main Journal**: 86/100 | **Annex Potential**: 84/100 | **Overall**: 84/100
**Topics**: [[AIエージェント, 障害対応, OpenTelemetry, Vertex AI Vector Search, ソースコード解析]]
システム運用における障害対応は専門的なノウハウが求められ、特に有識者不在時には原因調査や復旧が遅れがちです。本記事は、この課題を解決するため、LLMベースのAIエージェントによる調査の効率化を検証した具体的な事例を紹介します。
著者は、自社開発アプリケーションの非公開問題調査を前提とし、以下のコンテキストをAIエージェントに利用させます。
1. **構造化ログ**: TraceID, SpanID, サービス名, 関数名, ファイル名などの詳細情報を含むアプリケーションログ。
2. **トレース**: OpenTelemetryにより出力されるアプリケーション処理の流れや処理時間情報。構造化ログと対応付けるためサービス名属性を設定し、関連するアプリケーション間で伝搬させます。
3. **ソースコード**: 実際に本番稼働するアプリケーションのソースコードを全てベクトル化し、Vertex AI Vector Searchに登録します。
これらのコンテキストは、OpenTelemetryのトレース情報やアプリケーション名称、関数名などによって相互にリンクされるように設計されています。
検証環境はGoogle Cloud上に構築され、AIエージェントの実装にはGoogle ADK (Agent Development Kit) が使用されています。調査対象となるアプリケーションは、ランダムにスリープやエラーを発生させ、トレース・ログ情報をCloud TraceやCloud Loggingへ連携します。
AIエージェントは、それぞれCloud Trace、Cloud Logging、Vertex AI Vector Searchへの照会と調査を行う3つのサブエージェント(トレース分析、ログ分析、コード分析)と、それらを統括するルートエージェントで構成されます。
実際の検証では、「サービスのレイテンシが長い」というユーザーからの調査依頼に対し、各サブエージェントが連携し、有識者レベルの精度の高い回答(ボトルネックの特定、エラー原因の分析、改善策の提示)が得られました。著者は、特にトレースとログ情報に加えてソースコードと突き合わせることで、より具体的な原因究明と対策が可能になったと強調しています。
本番導入に向けては、トレースのサンプリングによる情報欠損への考慮、複数のアプリケーションリポジトリに対応したVertex AI Vector Searchのインデックス設計、そしてAIエージェントと運用担当者間のインタフェース(調査トリガーやコミュニケーションツール連携)の検討が今後の課題として挙げられています。この検証は、AIエージェントがシステム障害調査を大幅に効率化し、専門家依存を解消する可能性を示唆するものです。