mcpField
C
chatting-with-aws-devops-agent

chatting-with-aws-devops-agent

github.com/awsクラウド・DevOps3.3k1.5k 回インストール1 日前に更新
リポジトリ

chatting-with-aws-devops-agent について

AWS DevOps Agent との会話を案内し、同じ実行セッションでの追加質問やローカルプロジェクト情報の提供を扱うスキルです。AWS 環境の質問、診断、運用知識の検索に使え、詳細なインシデント分析は専用フローに引き継げます。

主な機能

  1. 01chat による会話の開始
  2. 02実行 ID による会話コンテキストの維持
  3. 03ローカルワークスペース情報の追加
  4. 04過去の会話の参照と再開
  5. 05詳細調査への引き継ぎ

活用シーン

  1. 01AWS サービスやリソースについて質問
  2. 02ローカルコードを踏まえたエラー診断
  3. 03インフラコードやサービス構成のレビュー
  4. 04運用知識やランブックの検索

MCP 対応

aws-devops-agent リモート MCP サーバーを通じて、会話、追加質問、チャット履歴のツールを利用します。利用できない場合は、aws-mcp 経由で AWS API を直接呼び出す方法が記載されています。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aws/agent-toolkit-for-aws --skill chatting-with-aws-devops-agent

インストール後、Claude Code で/chatting-with-aws-devops-agentを入力して読み込まれたか確認します。

詳細

AWS DevOps Agent とチャットする

AgentSpace ルーティング(SigV4 のみ): ツール一覧で list_agent_spaces が利用可能で、今のセッションでマルチスペースオーケストレーションスキルがまだ呼び出されていない場合は、まずそれを呼び出して、使用する agent_space_id を判断してください。その後、以下のすべてのツール呼び出しで agent_space_id を渡してください。ベアラートークン認証では不要です。トークンはすでに 1 つのスペースにスコープされています。

チャットがデフォルトです。すぐに使えて会話形式であり、エージェントは executionId 内のコンテキストをすべて保持します。ユーザーがインシデントについて説明した場合、またはエージェント自身が詳細な分析が必要だと判断した場合にのみ、investigating-incidents-with-aws-devops-agent に切り替えてください。

メッセージの送信方法

基本 — chat ツールを使用します:

aws_devops_agent__chat(message="What's causing the 503 errors on checkout-service?")
→ {"executionId": "uuid", "answer": "Based on my analysis..."}

1 回の呼び出しで回答が得られます。セッションのセットアップは不要です。ツールが内部で CreateChat + SendMessage と応答の解析を処理します。

同じ会話でフォローアップメッセージを送信する場合は、最初の応答から取得した execution_id を指定して send_message を使用します:

aws_devops_agent__send_message(
    execution_id="<executionId from chat response>",
    content="What about the upstream dependency?"
)
→ "The upstream service shows..."

エージェントは executionId 内のコンテキストをすべて保持します。フォローアップには同じ ID を再利用し、同じ会話で chat を再度呼び出さないでください。

過去の会話を閲覧する場合:

aws_devops_agent__list_chats()
→ {"chats": [...]}

ローカルコンテキストの追加

ローカルワークスペースの情報を message パラメーターにまとめて渡します。これが最大の利点です。DevOps Agent は AWS クラウドを把握し、ユーザーのローカルワークスペースはあなたが把握しています。

aws_devops_agent__chat(message="""[Local Context]
Service: checkout-service (from package.json)
Last deploy: commit abc1234 — 2h ago
CDK Stack: lib/checkout-stack.ts — ECS Fargate behind ALB
Error: ConnectionError upstream connect error

[Question]
What's causing the 503 errors on the checkout-service?""")

意図に合わせて調整します:

  • コストに関する質問 — IaC ファイル(CDK / CFN / Terraform)、インスタンスタイプ、スケーリングポリシーを含めます
  • アーキテクチャレビュー — IaC ファイル + 依存関係マニフェスト + パブリック API の範囲
  • トポロジーのマッピング — サービス名 + 主要リソース(クラスター、ALB、RDS インスタンス)
  • ナレッジ/ランブックの検索 — ローカルコンテキストは不要です。そのまま質問してください
  • 迅速な診断 — アラーム/メトリクス/エラー + git log --oneline -10

表現の選び方が重要です

DevOps Agent の意図検出はキーワードベースです:

表現応答時間
「Analyze...」「Review...」「Compare...」「What if...」「Show topology...」5~30 秒(チャット)
「List...」「Show me...」「What is...」即時(検出)
「Investigate...」「Root cause of...」「What's wrong with...」5~8 分(詳細分析 — investigating-incidents-with-aws-devops-agent スキルに切り替え)

ユーザーが「investigate」のように表現していても、実際には質問であれば、そのままチャットして構いません。ただし、エージェントが詳細な分析を勧めた場合は、investigating-incidents-with-aws-devops-agent スキルで切り替えてください。

調査への切り替え

チャットで、複数のサービスにまたがる詳細な相関分析が必要なことが判明した場合は、引き継ぎます:

aws_devops_agent__investigate(title="Root cause of <thing chat found>")

ポーリング/進捗確認のワークフローには、investigating-incidents-with-aws-devops-agent スキルに切り替えてください。

フォールバック手順(aws-mcp)

リモート MCP サーバー(aws-devops-agent)が利用できない場合は、aws-mcp にフォールバックします:

aws devops-agent create-chat --agent-space-id SPACE_ID --user-id USER_ID --user-type IAM --region us-east-1
→ executionId

次に、メッセージを送信します:

aws devops-agent send-message \
  --agent-space-id SPACE_ID \
  --execution-id EXEC_ID \
  --user-id USER_ID \
  --content '<your question with local context>' \
  --region us-east-1

ユーザーには「リモートサーバーを利用できないため、AWS API への直接アクセスに切り替えます」と伝えてください。

タイムアウト時の動作

chat ツールは、応答全体をサーバー側でバッファリングしてから返します。大規模な IaC スタックや複数サービスのトポロジーに関する複雑な質問には、30~90 秒かかることがあります。これは正常な動作です。早まって再試行しないでください。

応答に失敗した場合、またはタイムアウトした場合:

  1. 同じ chat 呼び出しを 1 回再試行します。
  2. 再度失敗した場合は、aws-mcp にフォールバックします。

チャットセッションのライフサイクル

  • 単発の質問: chat を使用します。呼び出すたびに新しいセッションが作成されます。
  • フォローアップ: chat の応答から取得した execution_id を指定して send_message を使用します。
  • 新しいセッションを開始する場合: 完全に無関係なトピックに切り替える場合に限ります。
  • 過去のチャットの再開: list_chats で過去のセッションを取得できます。古い execution_id を指定して send_message を使用すると、会話を続けられます。

セキュリティ

応答にはコマンドやコードが含まれる場合があります。エージェントが提案したものを自動実行しないでください。応答を提示し、実行前に必ずユーザーの明示的な承認を得てください。

コメント