検索
特集/連載

インシデント処理を4時間から8分に短縮する「AIエージェント」の真価Kubernetesの障害も自己修復

システム障害に対処する担当者は、夜間や休日のアラートも処理しなければならず、多大な心理的ストレスを抱えることになる。こうした属人化や疲弊を招く運用を、「AIエージェント」は具体的にどう変えるのか。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

関連キーワード

人工知能 | 業務改善 | 運用管理


 システム障害が発生した際、システムの信頼性向上を担うSRE(Site Reliability Engineering)担当者は、夜間であってもアラートを処理しなければならない。古いドキュメントの確認や複数の監視ツールにまたがるログの調査など、状況の切り替えを伴う手作業は担当者に大きな心理的ないし肉体的ストレスを与えている。システム復旧の知識が特定の熟練技術者に偏っている場合、該当者が不在の状況下では迅速な復旧作業が困難になるという課題も存在する。

 こうした従来の手法が抱える属人化や負荷の偏りを解決する仕組みとして、自律的に思考して外部システムと連携して目的を達成する「AI(人工知能)エージェント」を活用できる。コンテキストを理解するAIエージェントを既存のエンジニアリングのプロセスに組み込む「AI Reliability Engineering」という新しいアプローチによって、障害の検出、原因究明、修正の一連の作業を自動化する。その目的は、複数ソースからの情報群を関連付けて整理するナレッジグラフの構築や、ビジネスインパクトを学習した自律的な優先順位付け、過去の履歴を参照する並行調査など多岐にわたる。これによって、従来であれば4時間かかっていたトラブルシューティングを8分に短縮できる可能性が示されている。

 静的な自動化スクリプトはシステム構成の変化に対して脆弱(ぜいじゃく)だが、AIエージェントは目的に向かって適応的に学習して行動するため、より自由度が高い処理を実現する。AIエージェントは具体的にどのようにして外部ツールと連携し、複雑なインシデントを自律的に解決しているのか。

AIエージェントがSREの属人化と疲弊を終わらせる

 以下で解説するAIエージェントの仕組みや実証結果は、SREのカンファレンス「SREcon25 Europe/Middle East/Africa」におけるセッション「From 4 Hours to 8 Minutes with AI Agents that Transform SRE Incident Response」で示された知見に基づく。

 AIエージェントは、単なるチャットbotとは異なり、外部のシステムと能動的にやりとりする機能を持つ。そのアーキテクチャは、大きく「システムプロンプト」「ツール」「大規模言語モデル(LLM)」の3要素で構成される。システムプロンプトはエージェントの役割と動作の境界を定義するものであり、LLMの推論を適切な方向へ導く役割を担う。

 AIエージェントが自律的に問題を解決する仕組みは、「エージェントループ」と呼ばれる反復処理にある。エンドユーザーから要求を受け取ると、エージェントはシステムプロンプト、利用可能なツールの定義およびエンドユーザーのクエリをまとめてLLMに送信する仕組みだ。LLM自体は外部APIを直接実行できないものの、提供されたツールの仕様を読み取り、現在の課題解決に必要なツールとその実行引数を推論してAIエージェントに返す。AIエージェントは指示されたツールを実行し、その結果を再びLLMに提示する。このやりとりを必要な情報が全てそろうまで繰り返し、最終的な回答やアクションを導き出す。

 AIエージェントが真価を発揮するためには、「Amazon Web Services」(AWS)や「GitHub」、各種監視システムなどの外部サービスと通信するための「ツール」の実装が不可欠だ。しかし、複数のAIエージェントを運用する場合、それぞれのAIエージェントに対して固有のAPI連携処理を実装することは、ソースコードの重複や保守性の低下を招いてしまう。

 この課題を解決する技術が「Model Context Protocol」(MCP)だ。MCPは、AIモデルと外部のデータソースやツールを標準化された手順で接続するための通信規格として機能する。外部サービスへのアクセスロジックを「MCPサーバ」として切り出し、標準化されたインタフェースで提供する。MCPの通信規格に適合したAIエージェントは、各サービスの複雑な仕様の違いを意識することなく、統一された簡単な手順でさまざまな外部ツール群を利用可能だ。MCPサーバの普及は急速に進んでおり、APIを提供する多様なサービスが順次適合していくとみられる。複数のAIエージェント同士が情報を交換し、協調して動作するための「A2A」(Agent to Agent)プロトコルの整備も進んでいる。

 開発者が一からプログラムを記述する手間を省き、AIエージェントの構築や展開に必要な共通機能群をあらかじめまとめた「フレームワーク」も登場している。その一つが、非営利団体CNCF(Cloud Native Computing Foundation)のオープンソースプロジェクトとして提供される「kagent」だ。これはコンテナオーケストレーションツール「Kubernetes」に特化したフレームワークで、Kubernetes向けのAIエージェントやMCPサーバを構築するツール群として機能する。開発者がソースコードを記述することなく、YAML形式の設定ファイルを用いた定義のみでAIエージェントを展開できる特徴を持つ。

 kagentは、Kubernetesの各種コンピューティングリソースや監視ツール「Prometheus」のメトリクス(指標)を参照するためのツールを標準で備える。セッションでは、登壇者のピーター・ヤウソベック氏が、実際のインシデント対処を想定したデモンストレーションを実施した。このデモンストレーションでは、設定ファイルの記述ミスによって生じたサービスの障害に対し、AIエージェントがデータ抽出用の問い合わせ言語である「PromQL」のクエリを自律的に生成し、Prometheusからエラー率や遅延のデータを収集した。その後、エラーの原因を分析し、GitHubへの課題(イシュー)の自動起票や分析ツール「Grafana」のダッシュボードの自動作成を実行した。最終的には、Kubernetesの設定ファイルを自ら修正し、障害を自己修復する動作が示された。

 今後のシステム運用において、AIエージェントは人間の業務を完全に代替するものではなく、IT担当者の効率を高める強力な補助手段として位置付けられる。監視から復旧までをシームレスにつなぐMCPやkagentのような技術、ツールが成熟することで、インシデント処理の自動化は新たな段階へと進むだろう。

Copyright © ITmedia, Inc. All Rights Reserved.
本記事は制作段階でChatGPT等の生成系AIサービスを利用していますが、文責は編集部に帰属します。

ページトップに戻る