View a markdown version of this page

DevOps エージェントメモリ - AWS DevOps エージェント

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

DevOps エージェントメモリ

メモリは、 AWS DevOps Agent がエージェントスペースに固有の合成されたハイシグナルコンテキストで機能を補完するために構築および維持する情報ナレッジ項目です。手続き型知識をエンコードしDevOps エージェントスキル、エージェントの機能を拡張する とは異なり、メモリは、エージェントが調査中により迅速かつ正確な意思決定を行うのに役立つ情報知識をエンコードします。

メモリとは

メモリは、エージェントスペースに関連する合成情報をキャプチャする単一のマークダウンファイルです。例としては、特定のアラームの反復的な根本原因、既知の環境クォーク、ユーザー固有の設定などがあります。メモリはエージェントの機能を拡張しません。エージェントがより良い意思決定を行うために使用するコンテキストを提供します。

メモリストアは、関連するメモリファイルのコレクションです。各メモリストアには、エージェントがコンテンツを参照するかどうかを決定するために使用する名前と説明があります。メモリストアは、トピックごとにメモリをグループ化する組織コンテナです。

メモリストアは 2 つの場所から取得されます。 AWS DevOps Agent は、エージェントスペースのアクティビティから学習したマネージドストアを作成および維持します。カスタムストアを自分で作成して、チーム、サービス、または定期的な問題にとって重要な運用知識をグループ化します。エージェントは同じ方法で処理します。各ストアの名前と説明を読み取り、開くかどうかを決定します。

メモリは、主要な点で他のナレッジアイテムタイプとは異なります。

側面 スキル エージェントの指示 メモリ
ナレッジタイプ 手続き型 (指示) 手続き型 (常にオンの手順) 情報 (合成コンテキスト)
コンテンツ形式 マークダウンまたは ZIP バンドル マークダウンのみ マークダウンのみ
コンテキストインジェクション オンデマンド (エージェントが説明マッチングで決定) 常に (すべてのセッション) オンデマンド (エージェントが説明マッチングで決定)
作成者 ユーザー (UI、CLI)、 AWS DevOps エージェント ユーザー (UI、CLI) ユーザー (UI、CLI、チャット経由)、 AWS DevOps エージェント (学習エージェント)

思い出を使用する理由

メモリを使用すると、エージェントはセッション間で失われる可能性のある履歴パターンや環境知識にアクセスできます。

主な利点:

  • 調査の迅速化 - エージェントは、特定のモニターの最近の根本原因を再現し、繰り返し発生する問題が再び発生したときに冗長な診断手順を回避します。

  • 環境対応 - メモリは、既知のノイズの多いアラーム、インフラストラクチャの異常、各セッションの再検出が困難なコンポーネント関係など、環境固有の詳細をキャプチャします。

  • 継続的な改善 - DevOps エージェントはより多くのインシデントを解決するため、インフラストラクチャに固有のパターンと根本原因のより豊富なナレッジベースを自動的に構築します。

  • ユーザー設定 - メモリはコミュニケーション設定とディレクティブを記録し、エージェントが期待どおりに一貫して動作するようにします。

思い出の仕組み

エージェントセッションが開始されると、エージェントは名前と説明を含むメモリストアのリストを受け取り、その内容は受け取りません。調査中、エージェントは現在のタスクを各ストアの説明と照合して、ストアが関連しているかどうかを判断します。存在する場合、エージェントは内部にメモリを一覧表示し、各メモリはエージェントが同じ方法で使用する独自の説明を保持します。メモリの完全なコンテンツは、その説明が関連している場合にのみ読み取られます。名前と説明はすべてエージェントがストアまたはメモリを開く前に表示するため、説明はエージェントが照合するシグナルです。その内容はエージェントが読み取ると判断するまで非表示のままになります。このプログレッシブ開示パターンは、関連するすべての知識にアクセス可能にしながら、コンテキストの消費を低く保ちます。

各メモリはバージョニングされます。更新ごとに新しいイミュータブルバージョンが作成されるため、以前のバージョンを表示し、メモリが時間の経過とともにどのように変化したかの監査証跡を維持できます。

メモリをフォルダに整理する

メモリの名前はストア内のパスであるため、単一のフラットリストを保持する代わりに、関連するメモリをフォルダにグループ化できます。名前/で を使用して、 alarms/checkout-latencyや などのメモリをネストしますservices/checkout/overview。メモリの場所は保持する内容を示すため、エージェントは最初にインデックスを読み取り、タスクに関連するいくつかのファイルのみを開きます。これは、上記の同じプログレッシブ開示パターンです。

たとえば、エージェントの環境マップは、概要、各サービスのファイル、各重要なリクエストパスのファイルなど、一連のファイルと、エージェントが最初に読み取るインデックスです。オペレーターアプリはこのフォルダ構造にメモリを表示するため、エージェントが移動する方法でストアを参照できます。

マネージドメモリストア

AWS DevOps Agent は、エージェントスペースのアクティビティから学習すると、マネージドメモリストアのセットを自動的に作成および維持します。これには、組み込み monitorsおよび directives ストア、 AWS DevOps Agent が学習する環境の各エリアのストア、トポロジ、コード依存関係、パイプライン構造、ツール使用パターンが含まれます。 AWS DevOps Agent は以前、この知識を学習スキルとして提示していました。現在、ここで説明するストアではメモリと同じ知識を保持しています。これらのストアの構築および更新方法については、「メモリの構築および更新方法」を参照してください。

モニター

モニターごとの反復的な根本原因履歴。各メモリファイルは、特定のモニター (アラームまたはメトリクス) に対応し、そのアラームのインシデントを生成した原因カテゴリを調査ごとの証拠とともに一覧表示します。エージェントは、トリアージ前に発射アラームに一致するエントリを読み取って、現在のインシデントが既知のパターンと一致するかどうかをすばやく特定します。

エージェントスペースで過去 2 週間に調査がある場合、学習エージェントは 1 日に 1 回実行して最近の調査を分析し、このストアに記憶を抽出して保存します。このストアのメモリ項目は、2 週間更新がない場合に削除されます。ストアがいっぱいになると、最も古いメモリ項目が削除されてスペースが作成されます。

ディレクティブ

エージェントの動作を誘導するユーザー作成のディレクティブ。このストアを使用して、インフラストラクチャの規則や命名設定など、エージェントが従うべきスタンディング指示を記録します。

例:

  • 「Lambdas は使用されなくなりました。サービスは Fargate を使用します。」

  • 「ストレージサービスは Orders Storage Service と呼ばれます。」

リフレクション

見逃されたり見落としたりしたことに関する以前の調査から得られた教訓。調査に関するフィードバックを送信すると、実際の根本原因が調査の結果と異なる理由を分析するメモリが作成されます。このアラームの今後の調査では、同じ間違いを避けるためにメモリを使用します。

詳細については、「調査に関するフィードバックの提供」を参照してください。

エージェントスペースの理解

understanding-agent-space ストアは、エージェントスペース内のリソースと関係のマップを保持します。これには、主要なドメインの概念、デプロイ環境 (AWS アカウントとリージョンのペア、Azure サブスクリプションとリージョンなど)、論理サービスの接続方法を示すコンテナレベルのアーキテクチャ、アプリケーションの中心となるリクエストパスとトラバースするコンポーネント、およびコードリポジトリのコンテナへのマッピングを含むプレーン言語システムの概要が含まれます。

ストアは、リソースタイプと ARNs、テーブル名、キュー URLs。各コンテナメモリは、各コンポーネントにリンクされたアラーム、ダッシュボード、モニターなどのオブザーバビリティカバレッジもキャプチャし、各コンポーネントを関連するコードリポジトリ、パッケージ、infrastructure-as-code 定義にマッピングして、ソースコードからデプロイされたリソースまでの完全なトレーサビリティチェーンを提供します。

また、エントリポイントから各中間サービス、データストア、外部依存関係まで、コンポーネントの詳細度で完全なend-to-endのリクエストフローを記述する重要なリクエストパスごとにメモリを保持します。各パスメモリには、コンポーネント間のオペレーションとインタラクションメカニズムのシーケンスフローが含まれ、パスに関連するオブザーバビリティシグナルをカタログ化します。各ホップのロググループパターン、アラーム名とディメンションを含む主要なメトリクス (レイテンシー、エラー率、スロットリング、トークンクォータ)、サービスやアカウント間で相関できる分散トレーススパンです。

コードの依存関係について

understanding-dependencies ストアには、service-to-service完全な依存関係マップとパッケージ依存関係マップがあります。これを使用して、リポジトリの接続方法を理解します。どのサービスがどのサービスを呼び出すか、それらの間でどのイベントが流れるか、どのパッケージを共有するか、インフラストラクチャの境界がどこにあるかなどです。このストアは、変更の爆発半径を評価し、アップストリームとダウンストリームの影響を特定し、デプロイの順序を理解するために不可欠です。

パイプライントポロジについて

understanding-pipeline-topology ストアは、リリースまでのステップ、環境プロモーション、デプロイなど、プロジェクトパイプラインを最初から最後までマッピングします。これにより、エージェントは本稼働環境と本稼働環境を区別し、リリースプロセスの変更箇所を把握できます。

ツールのベストプラクティス

tool-use-best-practices ストアには、エージェントが過去の調査から抽出した効果的なツール使用パターン、一般的な障害モード、パラメータガイダンスがあるため、既知の落とし穴を回避し、無駄なステップを減らして調査を実行します。これにより、サポートされている調査シナリオを含む各ツールを一覧表示するルーティングメモリと、ツールの各カテゴリのメモリが保持されます。ツールのガイダンスには、最大 3 つのセクションを含めることができます。

  • ベストプラクティス — CloudWatch Logs Insights クエリテンプレート、環境固有のメトリクス名前空間とディメンション、CloudTrail イベントソースフィルターなど、ツールの使用の成功から抽出された調査主導の手法。各エントリは調査シナリオを中心に編成されており、過去の調査で観測された具体的なパラメータ値と例が含まれています。

  • 一般的なエラー — 繰り返し発生する障害モードとその修正。各エントリは、アクセスできないアカウントのクエリや不正な形式の集計クエリの作成など、特定のエラー状態を記述し、エージェントが調査ステップを浪費することなくエラーを回避または回復できるように修正アクションを提供します。

  • 出力管理 — 大きなレスポンスを返す傾向があるツール呼び出しのガイダンス。各エントリは、診断値を維持しながら出力サイズを小さくするパラメータ変更または処理戦略を記述します。

ライブインフラストラクチャアクセスが利用可能になると、 AWS DevOps Agent はこれらのパターンを環境に対して検証してから含めます。確認済みのパターンは自信を持って記述され、未確認のパターンは注意深い言語を使用し、未確認のパターンは除外されます。

メモリの構築と更新方法

AWS DevOps Agent は、マネージドメモリを動作時に自動的に構築および更新します。手動で維持する必要はありません。バックグラウンドラーニングエージェントは、エージェントスペースと最近の調査を分析し、マネージドストアで記憶を書き込んで更新します。

  • エージェントスペース理解ストアは、エージェントスペースが最初のリソース検出を完了すると最初に生成され、接続されたコードリポジトリ、デプロイパイプライン、またはオブザーバビリティ統合が変更されると再生成されます。接続されたアカウント AWS、Azure アカウント、または Dynatrace アカウントへの変更は、すぐにではなく、次回のスケジュールされた更新に反映されます。アクティブなエージェントスペースの場合、ストアは最大 3 日に 1 回、定期的なスケジュールで更新されます。エージェントスペースは、過去 6 日間に少なくとも 1 つの調査が完了している場合にアクティブになります。6 日間何もない場合、スケジュールされた更新は自動的に一時停止し、新しい調査が完了した後に再開されます。

  • Tool Use Best Practices ストアは、前回の更新以降に少なくとも 10 件の新しい完了した調査が累積された後に更新され、3 日に 1 回まで更新されます。

  • モニターストアは、エージェントスペースが過去 2 週間に調査を行ったときに 1 日に 1 回更新されます。

このメモリを手動で再生成するには、オペレーターアプリのトポロジページで再生成を選択するか、チャットで AWS DevOps エージェントに更新を依頼します。

概要レポートは、エージェントスペース理解メモリから構築されます。これは、 AWS DevOps Agent が環境について知っていることのバージョニングされた読み取り専用ビューであり、 AWS DevOps Agent 管理コンソールのエージェントスペースの詳細ページのサマリーレポートタブ、およびウェブアプリの Artifacts セクションで利用できます。トポロジページでは、環境を論理コンテナとコンポーネントとして視覚化します。トポロジグラフは、Agent Space Understanding メモリにフィードするものでもあります。詳細については、「DevOps エージェントトポロジとは」を参照してください。

独自のメモリストアの作成

独自のメモリストアを作成して、チーム、サービス、または定期的な問題の運用知識を保持できます。例えば、チームがルーチンタスクについて実行する標準手順や、スケジュールに従って作成する運用レポートの背後にある状況などです。ストアに名前と明確な説明を付けます。エージェントは説明を使用してストアがいつ関連しているかを決定するため、具体的で正確な説明が最も重要なものです。

メモリストアは、コンソールから、または AWS DevOps エージェントとチャットして作成できます。

メモリストアを作成するには (コンソール):

  1. エージェントスペースオペレーターウェブアプリのナレッジページに移動します。

  2. メモリタブを選択します。

  3. メモリストアの作成 を選択します。

  4. 名前と説明を入力し、作成を選択します。

メモリストア (チャット) を作成するには:

Ask AWS DevOps エージェント。例えば、次のようになります。

  • 「 Payment-runbook という名前のメモリストアを作成し、支払いサービスを調査するためのスタンディングガイダンスを保持します。」 - ストアを作成します。

  • 「 Payment-runbook ストアでは、チェックアウトレイテンシーアラームは夜間のバッチジョブ中に急増することが予想されることに注意してください。」 - メモリをストアに追加します。

  • 「定期メンテナンスタスクの標準ランブックを保持する運用手順という名前のメモリストアを作成します。」 - 標準操作手順用のストアを作成します。

  • weekly-report-context という名前のメモリストアを、毎週のオペレーションレポートが従うセクション、ソース、フォーマットで作成します。」 - 定期的な運用レポートのストアを作成します。

エージェントは、マネージドストアを使用するのと同じ方法でカスタムストアを使用します。タスク中にストアの説明を読み取り、ストアが関連している場合は、必要なメモリを開きます。カスタムストアは、マネージドストアと同じ制限にカウントされます。「メモリの制限」を参照してください。

効果的な説明の記述

ストアの説明は、ユーザーが書く最も重要なものです。これは、エージェントがストアが関連しているかどうかを、そのストア内で何かを読み取る前に判断する方法だからです。エージェントがタスクを操作すると、メモリではなく各ストアの名前と説明が表示され、説明が内容が適用されることを知らせる場合にのみストアが開きます。同じ は 1 つのレベルを保持します。各メモリには独自の説明があり、エージェントは説明が関連している場合にのみメモリの完全なコンテンツを読み取ります。正確な説明により、ストアは適切なタイミングで開かれます。 notesや などのあいまいなラベルmiscは、エージェントに何も一致させないため、回答が内部にある場合でもストアをスキップします。

ストアが保持するものと、エージェントがそれを使用するタイミングという 2 つのことを説明する説明を記述します。信頼できるパターンは、「チェックアウトや請求のレイテンシーを調査するときに読み取る」など、適用される状況で終わることです。具体的かつ具体的な内容にし、個人宛ての命令ではなく、ストアの件名に関するプレーンステートメントとして表現します。例えば、次のようになります。

  • あいまいすぎる:「支払いメモ」

  • 有効: 「支払いサービスのスタンドランブック、既知の問題、エスカレーション連絡先」。チェックアウト、請求、または返金のインシデントを調査するときは、「」を参照してください。

説明は最大 1,024 文字です。後で絞り込むことができ、エージェントが使用を期待したストアで描画しない場合の通常の修正です。

メモリストアに入れるもの

メモリストアには、環境、反復的な根本原因、スタンディング規則とディレクティブ、過去の作業から抽出した結果と概要に関する事実など、永続的で合成された知識が格納されています。生データではなく、後で思い出す価値のある結論を保存します。

メモリストアは、単一の調査用のスクラッチパッドではなく、ツールの出力用のキーと値のキャッシュでもありません。ツール呼び出しの未加工の結果をストアに格納して同じ調査の後半で取得することはできません。調査中、エージェントはすでにツール出力を作業コンテキストに保持しています。代わりに、エージェントが今後のセッションで再利用できる事実を記録するか、確立された結果 (例えば、「チェックアウトサービスが Payment API を同期的に呼び出す」) を見つけます。

最良の結果を得るには:

  • 各メモリは、エージェントが必要なものを正確に取得できるように、大きなダンプではなく 1 つの事実または教訓に集中させます。

  • 調査全体で何が当てはまるかを保存し、それを生成した調査に 1 回限りの作業データを残します。

メモリの表示

エージェントスペースオペレーターウェブアプリのナレッジページから、すべてのメモリストアとそのコンテンツを表示できます。

メモリストアを表示するには:

  1. エージェントスペースオペレーターウェブアプリのナレッジページに移動します。

  2. メモリタブを選択します。

  3. メモリストアのリストを参照し、それぞれに名前、説明、エージェントタイプのスコープを表示します。

ストア内のメモリを表示するには:

  1. メモリタブで、探索するメモリストアの横にある表示を選択します。

  2. ストアの詳細ページには、名前、説明、バージョン番号、最終変更日を含むすべてのメモリが名前順にアルファベット順に一覧表示されます。

特定のメモリを表示するには:

  1. ストアの詳細ページから、読み取るメモリの横にある表示を選択します。

  2. メモリ詳細ページには、レンダリングされたマークダウンコンテンツと、作成日、最終更新日、バージョンセレクタが表示されます。

以前のバージョンを表示するには:

  1. メモリの詳細ページで、バージョンセレクタードロップダウンを使用して古いバージョンを選択します。

  2. コンテンツが更新され、選択したバージョンが表示されます。

メモリのアクティブ化と非アクティブ化

個々のメモリストアまたは個々のメモリを、削除せずにアクティブまたは非アクティブに切り替えることができます。

メモリストアを切り替えるには:

  1. メモリタブで、メモリストアの横にあるトグルスイッチを使用します。

  2. 非アクティブの場合、エージェントはそのストア内のメモリにアクセスしません。

個々のメモリを切り替えるには:

  1. メモリストアに移動して、メモリのリストを表示します。

  2. アクティブ化または非アクティブ化するメモリの横にあるトグルスイッチを使用します。

  3. 非アクティブの場合、エージェントは調査中にその特定のメモリをスキップします。

Chat でメモリを編集する

チャットインターフェイスで DevOps エージェントとチャットすることで、メモリを作成、更新、または削除できます。チャットエージェントはメモリストアに直接書き込むことができます。

Chat コマンドの例:

  • 「ストレージサービスは Orders Storage Service と呼ばれます」 - ディレクティブストアでメモリを作成または更新します。

  • 「Canary アラームのメモリを更新して、デプロイ中にぼやけていることに注意してください」 - モニターストア内の特定のメモリを更新します。

  • 「古いデータベース接続文字列に関するメモリを削除する」 - 不要になったメモリを削除します。

  • 「network-quirks という名前のメモリストアを作成し、eu-west-1 NAT ゲートウェイが 350 秒後にアイドル接続を削除することに注意してください」 - ストアとその最初のメモリを作成します。

チャットエージェントは、ユーザーに代わってメモリストアに直接書き込みます。

メモリストアの削除

不要になったカスタムメモリストアを削除できます。マネージドストア (monitors、directives、学習済みスキルストアなど) は削除できません。

  • チャットでは、エージェントは記憶がまだ含まれているストアを削除しません。最初に記憶を削除するように求められます。メモリを削除してから、ストアを削除します。

  • コンソールで、ストアを削除すると、含まれているメモリも削除されます。これは元に戻すことができないため、削除するストアであることを確認してください。

チャットでストアを削除するには、エージェントに依頼します。例えば、次のようになります。

Delete the network-quirks memory store.

メモリ制限

メモリには、次の制限が適用されます。

[リソース] 制限
エージェントスペースあたりのメモリストア 50
メモリストアあたりのメモリ 200
個々のメモリコンテンツサイズ 100 KB