mcpField
C
coordinating-multi-space-devops-agent

coordinating-multi-space-devops-agent

github.com/aws云与 DevOps3.3k1.5k 次安装今天更新
代码仓库

关于 coordinating-multi-space-devops-agent

用于在多个 AgentSpaces 之间路由 AWS DevOps Agent 查询的技能。它帮助选择相关空间、并行比较环境,并在空间间使用共享运行手册,避免向所有空间重复查询。

主要功能

  1. 01发现已配置的 AgentSpaces
  2. 02按环境或用途路由查询
  3. 03并行查询并比较多个空间
  4. 04跨空间使用知识空间的运行手册
  5. 05分别跟踪各空间的调查

适用场景

  1. 01比较生产环境与预发布环境
  2. 02查找某服务的共享运行手册
  3. 03在负责该问题的环境中开展调查

MCP 相关

通过 AWS DevOps Agent 远程 MCP 服务的工具列出 AgentSpaces,并向选定空间发送对话或调查请求。多空间路由需要 SigV4 身份验证。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aws/agent-toolkit-for-aws --skill coordinating-multi-space-devops-agent

安装后在 Claude Code 中输入/coordinating-multi-space-devops-agent确认已加载。

详细介绍

查询多个 AgentSpaces

前置检查

如果可用工具中没有 aws_devops_agent__list_agent_spaces,则远程 MCP 服务尚未连接。告知用户请说“帮我设置 AWS DevOps Agent”,以便自动加载 setup-devops-agent 技能。

前提条件:必须使用 SigV4 身份验证

多空间路由需要 SigV4 身份验证——Bearer 令牌的作用范围仅限单个 AgentSpace,无法路由到其他空间。

许多实际团队会运行多个 AgentSpace——通常包括生产空间、暂存空间,以及专门存放跨账户共享运行手册的“知识”空间。每个空间都有自己关联的 AWS 账户、运行手册和历史记录。

此技能负责路由。当用户配置了多个空间,或问题确实涉及多个账户时,请使用此技能。

发现空间

aws_devops_agent__list_agent_spaces()
→ {"agentSpaces": [{"agentSpaceId": "as-abc123", "name": "prod"}, ...]}

如果只返回一个空间,则此技能不适用——直接使用 chatting-with-aws-devops-agent 或 investigating-incidents-with-aws-devops-agent(无需 agent_space_id)。

如果返回多个空间,请判断用户的问题属于以下哪种情况:

问题类型策略
仅针对一个环境(“生产环境出问题了”)单空间——选择匹配的空间
涉及多个环境(“比较生产环境和暂存环境”)并行——分别查询并综合结果
通用知识(“我们有哪些适用于 ECS 的运行手册?”)如果有名为“知识”的空间,则路由到该空间
含糊不清(“我们的服务很慢”)询问用户是哪个环境,不要猜测

每个会话的路由记忆

如果用户在本地存储了路由指南(例如 .claude/aws-agents-for-devsecops.md、AGENTS.md 或项目专属备注),请在会话开始时读取一次,并在后续对话中将其用作路由表。预期格式:

| Space | AWS Profile | Agent Space ID | Purpose |
|-------|-------------|----------------|---------|
| prod  | acme-prod   | as-abc123      | Production incidents, customer-facing services |
| stage | acme-stage  | as-def456      | Pre-prod validation, integration testing |
| kb    | acme-shared | as-ghi789      | Shared runbooks, cross-account knowledge |

如果没有指南,请执行发现流程:

  1. aws_devops_agent__list_agent_spaces() → 获取所有空间。
  2. 对于每个空间:aws_devops_agent__chat(message="Summarize the AWS accounts, services, and runbooks you have access to.", agent_space_id="<SPACE_ID>") → 获取一段摘要。
  3. 提议将路由指南写入项目(例如 .claude/aws-agents-for-devsecops.md、AGENTS.md 或项目专属备注),以便后续会话跳过发现流程。

模式 A — 并行查询,综合回答

当用户想要进行比较时使用:“比较生产环境和暂存环境的错误率”“此问题是否同时发生在两个账户中?”“审查所有环境的成本”。

# 1. Query each space in parallel with environment-specific context
aws_devops_agent__chat(message="<question> | env=prod | <prod IaC context>", agent_space_id="PROD_ID")
→ {"executionId": "...", "answer": "..."}

aws_devops_agent__chat(message="<question> | env=stage | <stage IaC context>", agent_space_id="STAGE_ID")
→ {"executionId": "...", "answer": "..."}

# 2. Synthesize locally — present a side-by-side summary, not two separate dumps

不要只是粘贴两份回复。 阅读两者,找出相同点和差异,并告诉用户具体的差异——这才是价值所在。

模式 B — 先查询知识,再在各空间中采取行动

当一个空间中的运行手册或知识可用于指导另一个空间中的工作时使用。

# 1. Ask the knowledge space first
aws_devops_agent__chat(
    message="What's our standard runbook for ECS 503 errors?",
    agent_space_id="KB_ID"
)
→ {"answer": "<runbook text>"}

# 2. Apply that runbook in the target environment
aws_devops_agent__investigate(
    title="ECS 503 errors on checkout-service. [Runbook from knowledge space] <runbook text> [Local context] ...",
    agent_space_id="PROD_ID",
    priority="HIGH"
)

DevOps Agent 不会在空间之间共享状态——你需要将知识空间的回复引用到调查的 title 中,以此作为桥梁。

模式 C — 定向查询单个空间

当用户明确指出某个空间或环境时使用。

# Pick the matching agentSpaceId from your routing memory, pass it on the call
aws_devops_agent__chat(message="<question>", agent_space_id="<matched_space_id>")

如果路由含糊不清且用户没有说明,询问一次——这总比向错误的账户发起查询好。

模式 D — 调查之间不共享状态

调查按空间分别进行。如果问题涉及多个账户,可能需要进行两项调查:

aws_devops_agent__investigate(title="Latency spike — prod side", agent_space_id="PROD_ID", priority="HIGH")
aws_devops_agent__investigate(title="Latency spike — stage side", agent_space_id="STAGE_ID", priority="HIGH")

跟踪两个 taskId,并分别轮询。将调查结果一并呈现。

这种情况很少见——通常只有一个空间负责处理该问题。默认不要扩展到多个空间。

不要这样做

  • 不要用每个问题轰炸所有空间。 这样既慢又耗费资源,而且用户要阅读的输出会多出 3 倍。
  • 不要在未确认范围的情况下广撒网。 如果某个空间的 description 或已记录的覆盖范围未提及相关服务,就跳过它——向范围不匹配的空间提问,通常会一直卡住,而不是返回“我不知道”。
  • 默认不要并行发起调查。 每次调查需要 5–8 分钟。选择负责处理该事件的那个空间。
  • 不要在对话中悄悄切换空间。 如果后续问题需要转到其他空间,请告知用户:“正在切换到知识空间查询运行手册。”

超时指南

chat 工具会在服务端缓冲完整响应,然后再返回。复杂的跨账户查询在每个空间可能需要 30–90 秒。如果某个空间在 90 秒内没有响应,很可能是范围不匹配——请提示“空间 X 在 90 秒内未响应——跳过(可能是范围不匹配)”,然后继续处理,不要一直等待。

另请参阅

  • examples/multi-space-walkthrough.md:完整演示场景(生产环境事件、与预发布环境对比,以及查询知识空间中的运行手册)。
  • setup-devops-agent 技能:首次配置多个 AgentSpaces、AWS 配置文件和 Shell 包装器。

评论

支持 Markdown