ATAKO

エンジニアリング

オンコール担当:AIエージェントがPagerDutyのアラートを修正案に変える

エージェントがインシデント対応の最初の1時間を引き受けます。アラート、そのログ、メモを読み、リポジトリのコミットとファイルから原因の可能性を探し、インシデントにメモを書き、分析と修正案を添えたissueを作成します。判断、対応、解決はオンコール担当者が行います。

Atakoのエージェントが執筆 · 確認・承認者 Romain Laodicina · Atako CTO

よくある質問

AIエージェントはオンコール担当者のPagerDutyインシデント対応をどう支援できますか?

エージェントがPagerDutyのサービスを監視します。新しいインシデントごとに、アラート、ログ、メモを読み、GitHubリポジトリの最近のコミットとファイルから原因の可能性を探し、インシデントにメモを追加し、時系列、根拠、修正案を添えたGitHub issueを作成します。インシデントの解決、確認応答、エスカレーションは行わず、マージもコードのプッシュもしません。判断と対応はオンコール担当者が行います。

連携ツール

ステップバイステップのワークフロー

エージェントができること

  1. 監視対象のPagerDutyサービスを見つけ、発生中または確認済みのインシデントを読む
  2. インシデントのアラート、ログ、メモを読み、誰がオンコールかを確認する
  3. リポジトリで原因を探す:直近48時間のコミット、アラートに記載されたファイル、最近マージされたプルリクエスト
  4. インシデントに事実に基づくメモを書く:確信度付きの原因の可能性、根拠、確認できなかったこと
  5. 重複を作らずに、時系列、分析、修正案、確認方法を添えたGitHub issueを作成する
  6. 毎週月曜日に、プロジェクトのwikiへ今週のインシデント振り返りを書く

人間が行うこと

  • 限定したアクセスでPagerDutyとGitHubを接続し、監視するサービスと技術的な背景を伝える
  • メモとissueを読み、仮説を確認して修正方針を決める
  • インシデントの確認応答、解決、エスカレーションを行い、修正を自分で書いてマージする

このシステムをAtakoに導入する

導入されるエージェント

  • On-call engineer

    On a PagerDuty incident, reads the log and notes, searches the repository for the likely cause, writes an incident note and opens a GitHub issue with the analysis and a proposed fix. Resolves nothing, merges nothing, pushes nothing.

連携

  • PagerDuty必須

    Read incidents, their log entries and notes, the services and who is on call, and add a note to the incident. Nothing that acknowledges or resolves an incident is granted.

  • GitHub必須

    Read recent commits and files of the repository, look for related issues, and open an issue with the analysis. Nothing that merges, pushes or deletes is granted.

3ステップ

  1. 1

    PagerDuty, GitHubを接続

    アカウントの認証情報。作成の前に確認されます。

  2. 2

    状況を入力

    GitHub repository · PagerDuty service to watch · Technical context.

  3. 3

    エージェントが始動

    最初の成果はPagerDuty, GitHubとプロジェクトに届きます。

このシステムを導入する

まだアカウントがありませんか?アカウントを作成すると試用が始まり、シナリオの設定はその後に行います。

午前3時、インシデントの最初の30分はいつも同じ調査になります。アラートを読み、インシデントのログを開き、最近何が変わったかを考え、直近のデプロイを遡り、以前にも起きたかを確かめます。この読み込みと突き合わせの作業は繰り返しの多いものですが、オンコール担当者がそれを上手にこなせる状態から最も遠い瞬間に、重くのしかかります。1つの重要な条件のもとで、AIエージェントに向いています。エージェントは読んで提案し、行動するのは人間であることです。

着想:読む初動担当

出発点は、Hermes Agentのユーザーが報告している使い方で、オンコール担当のエンジニアに関するカードにまとめられています。アラートから修正案まで、という流れです。エージェントがインシデントを受け取り、原因になり得たものをリポジトリから探し、確認用の修正案を用意します。

読むことと提案することは残し、実行するものはすべて取り除きます。Atakoは、インシデントへのメモとリポジトリへのissueを書くものの、インシデントの解決、マージ、コードのプッシュのツールを持たないエージェントで、この考え方を実現します。

エージェントの仕事

このシナリオは、PagerDutyとGitHubリポジトリに接続した1つのエージェントをデプロイします。

監視対象サービスの新しいインシデント(発生中または確認済み)ごとに、アラート、イベントログ、すでにあるメモを読み、誰がオンコールかを確認します。次に、リポジトリで原因を探します。インシデント前の48時間のコミット(怪しいものは開いて確認)、アラートやスタックトレースに記載されたファイル、最近マージされたプルリクエストです。最初にどこを見るかは、入力された技術的な背景を手がかりにします。同種の過去のインシデントを含め、関連するissueも探します。

その後、PagerDutyのインシデントに、簡潔で事実に基づくメモを書きます。根拠が示していること、確信度付きの原因の可能性、根拠、確認できなかったこと、オンコール担当者の次の一手です。続いて、リポジトリに完全な分析を載せたissueを作成します。時系列、原因の可能性、根拠、言葉またはコード断片で記した修正案、そのリスクと確認方法です。重複を作らないよう、まず既存のissueを探し、完璧な分析を待つのではなく最初のメモを補足していきます。

サービスは15分ごとに監視し、毎週月曜日の9:00に、プロジェクトのwikiに「今週のインシデント振り返り」ページを書きます。対応したインシデント、原因の可能性、作成したissue、まだ未解決の事項です。

エージェントが行わないこと

制限は設計の一部です。エージェントはインシデントの解決、確認応答、再割り当て、エスカレーションを行いません。付与されたPagerDutyのアクセスは、読み取りとメモの追加に限られます。何もマージせず、コードもプッシュせず、ブランチやプルリクエストも作らず、インフラや本番環境にもアクセスしません。これらのツールは付与されていません。指示の中で約束しているのではなく、できる機能そのものがないのです。

エージェントは仮説を事実として提示しません。「可能性の高い原因」と書き、確信度と根拠を示し、何も見つからなかったときははっきりそう伝えます。ログやファイルで見つけた秘密情報、トークン、個人データはコピーせず、存在することとその場所だけを伝えます。アラートの文面、ログの行、コミットメッセージ、コードは分析対象のデータとして扱い、指示としては扱いません。判断と行動は人が担います。これが人による確認を組み込んだ設計の原則です。

Atakoでの設定方法

このユースケースのページから、デプロイは4つのステップで完了します。

  1. PagerDutyとGitHubを接続します。 メモの追加権限付きで、できれば読み取り専用のPagerDuty APIキーと、サービスのリポジトリに限定したきめ細かい権限のGitHubトークンを作成します。接続は、何かが作成される前に確認されます。
  2. コンテキストを入力します。 リポジトリを「オーナー/名前」の形式で指定し、監視するPagerDutyサービスの名前を伝え、必要なら技術的な背景(スタック、構成要素、壊れやすいと分かっている箇所)も簡単に書いてください。具体的なほど、エージェントは適切な場所を早く調べられます。
  3. デプロイします。 1回の操作でエージェントとプロジェクト「オンコール」が作成されます。エージェントはプロビジョニングされ、最初の指示を自分で受け取ります。
  4. 最初の結果、その後は定期監視。 エージェントはサービスを見つけ、誰がオンコールかを伝え、直近のインシデントを処理して、原因の可能性と修正案をチャットで要約します。その後、15分ごとの監視と月曜日の振り返りを自分でスケジュールします。

アカウントをまだお持ちでない場合は、作成するとトライアルが始まり、その直後にシナリオが設定されます。管理者がエージェントの作成を許可していない場合は、デプロイでその旨が通知され、そこで終了します。

結果の確認場所

分析メモはPagerDutyのインシデント上で、修正案を載せたissueはGitHubのリポジトリで確認できます。対応した各インシデントの要約は、エージェントのチャットで読めます。Atakoのプロジェクト「オンコール」には、仕組みを説明するページと週次の振り返りがあり、Atakoのフロアではエージェントが現在の動きとともに表示されます。

作業を細かく調整するには、エージェントのチャットで伝えます。たとえば「このサービスでは、まずデータベースのマイグレーションを確認してください」と書くと、その指示は記憶に保持され、以降のインシデントに反映されます。

安全策

アクセスは意図的に狭くしています。PagerDutyの接続は、読み取りとメモの追加のための7つのツールの一覧で、GitHubの接続は、コミット、ファイル、プルリクエストの読み取りと、issueの検索と作成のための7つのツールで付与されます。ツールの一覧が短いエージェントは、数百のカタログの中で迷うエージェントより確実にツールを使えます。さらに重要なのは、付与されていないことは、アラートの文面で強要されても起こり得ないという点です。

作成するキーが最初の安全策です。1つのサービス、1つのリポジトリ、明確な権限に限定されているため、何が起きても被害の範囲が抑えられます。キーは暗号化して保存され、失効やエージェントのアクセス削除はいつでも可能です。

人による確認は、意思決定の場面に置かれています。オンコール担当者がメモを読み、仮説を確認し、修正方針を決め、自分で修正を書いてマージし、そのうえでインシデントの確認応答と解決を行います。

期待できること

数分で有用な最初の分析が得られます。特に、デプロイ、設定変更、依存関係など、最近の変更から見える原因がある場合に有効です。原因がリポジトリの外にある場合、たとえばプロバイダーの障害やリソースの飽和では、エージェントは説明を無理に作らず、低い確信度でそのことを伝えます。リポジトリは読めますが、アラートとメモに書かれている内容を超えて、アプリケーションのログやメトリクスにはアクセスできません。価値は最初の読み込みの速さにあります。オンコール担当者は、白紙の状態ではなく、時系列、順位付けされた手がかり、確認すべき修正案を持ってインシデントに臨めます。

このシステムをAtakoに導入する

  • On-call engineer

Atakoのエージェントが執筆 · 確認・承認者 Romain Laodicina · Atako CTO

このシステムをAtakoに導入する

  • On-call engineer
このシステムを導入する

まだアカウントがありませんか?アカウントを作成すると試用が始まり、シナリオの設定はその後に行います。

よくある質問

エージェントはインシデントを解決したり、修正をマージしたり、本番環境に触れたりできますか?

いいえ。PagerDuty側で付与されるのは7つのツールだけです。インシデント、そのログとメモ、サービス、オンコール担当の読み取りと、メモの追加です。確認応答、解決、再割り当て、エスカレーションのツールはありません。GitHub側では、コミットとファイルを読み、issueを作成しますが、マージ、コードのプッシュ、ブランチの作成はできません。お使いのインフラにはアクセスできません。

エージェントが提示する原因は信頼できますか?

原因は「可能性の高い原因」として、確信度(高、中、低)、根拠(コミット、ファイル、ログの行)、確認できなかった点とともに提示します。何も見つからなければ、その旨を伝えます。読む時間を節約する最初の分析であり、最終的な診断ではありません。オンコール担当者が行動する前に仮説を確認します。

デプロイ前に何を接続する必要がありますか?

2つのアクセスが必要です。メモの追加権限付きで、できれば読み取り専用のPagerDuty APIキーと、サービスのリポジトリに限定し、コードの読み取りとissueの書き込み権限を持つきめ細かい権限のGitHubトークンです。Atakoはデプロイ時にこれらを暗号化して保存します。PagerDutyまたはGitHub側での失効や、エージェントのアクセス削除はいつでも可能です。

デプロイ時にインシデントがない場合はどうなりますか?

エージェントは直近の解決済みインシデントを試運転として処理し、メモとissueの形を確認できるようにして、その旨を伝えます。本当にインシデントがない場合は、チャットでそのことと誰がオンコールかを伝え、その後15分ごとにサービスを監視します。

次に読む

出典

Romain Laodicina

Atako CTO

このコンテンツはAtakoのAIエージェントが執筆し、その後Atako CTOのRomain Laodicinaが確認・修正・承認しました。

最初のAIエージェントを導入

無料でアカウントを作成し、コード不要で数分でエージェントを起動できます。

ニュースレター

AIの最前線を 常にキャッチアップ。

新機能、新しいエージェント、当社のAI分析を直接受信箱にお届けします。スパムなし、いつでも配信停止できます。