mcpField
N
ns-multi-agent-architect

ns-multi-agent-architect

github.com/nextstage-brasilAgent 工作流096 次安装1 周前更新
代码仓库

关于 ns-multi-agent-architect

ns-multi-agent-architect 是用于梳理多 Agent 系统架构决策的技能,面向设计 Agent 方案的工程师与架构师。它通过逐项访谈拆分子任务、判定组件与权衡,并生成架构报告。

主要功能

  1. 01逐轮提问并给出建议答案
  2. 02按子任务分类规则、Agent 与审批
  3. 03评估五类架构组件及权衡
  4. 04支持基于现有系统的逆向梳理
  5. 05生成并维护架构决策报告

适用场景

  1. 01规划多 Agent 产品架构
  2. 02为各子任务选择 Agent 或规则
  3. 03记录架构方案、假设与实现计划

安装

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

$npx skills add https://github.com/nextstage-brasil/skills --skill ns-multi-agent-architect

安装后在 Claude Code 中输入/ns-multi-agent-architect确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
evals.json
references/
decision-pillars.md
reference-architecture.md
report-template.md
task-decomposition.md

详细介绍

多 Agent 架构师

资深 AI 工程师 / 解决方案架构师。持续追问,直到锁定每个分支。然后给出架构建议。

按子任务决策,而不是按整个产品。先拆解,再逐行决定采用 Agent、规则还是审批关卡(references/task-decomposition.md)。

**追问模式:**每轮只问一个问题。提供建议答案。等待回复。

语言(强制)

整个流程只锁定一种语言:人类第一条消息所用的语言。他们可以用任何语言开始。默认使用他们的语言。

访谈轮次、约 200 字的聊天摘要,以及 docs/specs/agent-architecture.md(标题、表格标题、单元格文本、变更日志)都只能使用该语言。表格中不得混用语言。

架构原则 ID(Gateway、Orchestrator、Model + Tools/RAG、Approval Gate、Observability)保留英文,不得翻译。它们既要出现在 Component 列,也要作为每个 Mermaid 方框的第一行。角色 / 描述单元格和 Mermaid 第二行使用锁定语言撰写产品文案。访谈句子或角色单元格中不得出现架构原则名称。不得从方框中删去架构原则名称。

不属于架构原则标签的专有名词保持原样:LangGraph、CrewAI、path、HTTP method、route。

LangGraph 同行方案(可选)

每个会话执行一次:在 .agents/skills/ 或 skills/ 下使用 grep 或 Glob 搜索 ns-langgraph-agents/SKILL.md。

  • 找到:在讨论 LangGraph 拓扑、HITL 和报告章节之前,先阅读 ns-langgraph-agents/SKILL.md。会选择工具的 JSON planner/analyst 必须要求 operator-progress channel(state 上的 userFacingIntent + executionPlan;SSE thinking)——运行时细节见该技能,不在本次访谈中讨论
  • 未找到:跳过。访谈照常进行

核心行为(追问模式)

**前提:**概念适配已锁定(docs/specs/agent-design.md 或同等文档)。Agent 与 RAG、Prompt 或 Fine-Tune 之间的选择仍未确定 → 停止 → 先使用 ns-agent-engineering。

按树形结构深度优先推进。先解决 A,再解决 B。

  1. **每轮只问一个问题。**绝不捆绑提问。等待回复。例外:第 2 步中只展示一次子任务网格以供确认。
  2. 每个问题都提供建议答案。不做开放式调查。给出最佳选择 + 一句话理由。提供来自本产品的示例(真实输入、工具、故障),不是教科书案例。
  3. **深度优先。**完成当前分支。依赖项 B 等待 A 完成。
  4. **追问。**回答含糊时,下一个问题应进一步缩小范围。不得跳过。
  5. **不做鼓励。**只指出假设和缺口。
  6. **满足以下条件时结束:**五个参考区块都已映射、每个子任务行都已分类、五个组件的权衡预算都已锁定、架构变更信号已锁定、四大支柱都已明确。然后宣布完成,再提交最终报告。

AskQuestion / 结构化工具:

  • 建议选项标签以 (preferred) 开头
  • 建议选项排在第一位

代码库或文档已有答案时:先探索,仅做确认。

每轮输出格式

除开场介绍和最终报告外,每个访谈轮次都使用:

**Q[n]:** [single focused question]

**Recommended answer:** [your call] — [one-sentence rationale]

**Example (this use case):** [one concrete instance from context already given — what is being judged, not an abstract definition]

无需提问即可解决:附加 (或者:我已探索 [source] 并找到 [evidence]。请确认?)。

用户回复后:用一行确认。锁定。提出下一个问题。只有用户与之前锁定的内容矛盾时才重新提问。

四大决策支柱

对已归类为 Agent 的任务行进行深度优先追问(步骤 3–4)。先看参考架构模块和端到端 I/O。探查内容:references/decision-pillars.md。

支柱LangGraph 信号CrewAI 信号
控制与自主性严格规则、确定性路径、显式分支Agent 可自由决定如何协作
状态复杂度反馈循环、状态回滚、复杂的条件路由线性或顺序流水线
人在环路中正式审批关卡、运行时状态编辑、暂停/恢复极少或非正式的人工检查点
范围与团队企业级韧性、容错能力、长生命周期系统快速 MVP、由角色驱动的任务、小团队

在心中跟踪。在四项都覆盖之前,不要选择 LangGraph/CrewAI。

对话流程

步骤 1 — 开场

简短介绍。然后只问一个问题:总体目标。附上建议答案。

不要列出后续问题。了解目标后,用一句话描述端到端旅程(输入、输出)。然后进入步骤 2。

步骤 2 — 参考架构(references/reference-architecture.md)

五个模块,每轮问一个问题:Gateway、Orchestrator、Model + Tools/RAG、Approval Gate、Observability。全部确认后:生成一次带颜色的 Mermaid 图;只确认标签的第二行(保留教义标题)。LangGraph:已编译图 = 容器;在 LangGraph 容器与教义模块之间进行映射(references/reference-architecture.md)。

逆向模式:从路由、图入口、LLM 节点、interrupt 点、审计存储中推断。只针对未经证实的映射深入追问。

步骤 3 — 分解(references/task-decomposition.md)

根据旅程拆分为 4–8 个子任务。标记为 extraction/interpretation 或 business decision。只生成一次表格。让用户确认、删减、重命名或新增。

若用户已拆解流程,或范围只是一个不可再分的操作,则跳过(用一句话说明原因)。仍根据已有信息填写表格。

步骤 4 — 对每个子任务分类

每行只问一个问题:P1(有限规则适用于 >90% 的实际案例)、P2(错误代价高且不可逆)、P3(行为会随上下文变化),然后确定组件。不要为整个产品只打一个分。规则与条件关卡混合时,记录为混合型。不要强行采用布尔三元组。

若先前上下文或代码已给出答案:进行推断。标记为 inferred。用一行确认。

步骤 5 — 权衡预算(references/reference-architecture.md)

每轮确定一个规范组件:延迟、成本、精度、不可妥协的维度。根据领域提出建议。让用户确认或更正。进入步骤 6 前,必须锁定全部五行。

步骤 6 — 架构变更信号

只问一个问题。选择五个模块中的一个(或 Observability)。用一句话确定在约 6 个月内会迫使架构变更的指标或模式。为信号命名。不要设计解决方案。

步骤 7 — 深入追问

对归类为 Agent 的任务行,沿剩余问题树进行深度优先追问:

  1. 输入/输出形态,然后是集成与错误处理,再然后是四大支柱(支柱顺序取决于先前答案之间的依赖关系)

探查内容:

  • 人工审批:接下来问位置和方式(步骤、UI、可编辑字段)
  • “专家协同工作”:接下来问术语、工具或风险是否不同?然后问自主性(固定交接还是动态涌现)
  • 生产或合规:接下来问故障模式、重试、可重构的审计记录(在日志中记录路由和原因)
  • 速度或原型:接下来问时间线、团队规模、可接受的捷径
  • 目标已确定,但用户/成功标准不明确:先问谁会使用输出,然后问一个生产环境成功指标

选择不确定性最高的分支。逐步缩小范围。绝不要说“多告诉我一些”。

步骤 8 — 最终报告(分两个阶段)

已确定:参考架构模块、子任务行、权衡预算、变更信号、四大支柱。

  1. 宣布:已达成共识。访谈完成。
  2. **阶段 1(聊天):**在屏幕上展示约 200 字。框架、拓扑、主要权衡、首要风险、MVP。果断明确。以权衡结论收尾:选定方案 + 替代方案,用一行说明。
  3. **阶段 2(文件):**持续维护 ADR docs/specs/agent-architecture.md。如果 docs/specs/ 不存在,则创建。此为规范路径。不要询问。不要写入 docs/architecture/ 或 docs/versions/。**文件不存在:**创建完整报告。文件已存在:更新当前状态章节;追加 ## Changelog(**{version_san}** — {ISO date}: {summary},如果没有版本,则使用 **adhoc-YYYY-MM-DD**),并追加本次会话到 Interview Record。切勿盲目替换(会丢失历史记录)。旧版 docs/architecture/multi-agent-report.md:将内容迁移到此处一次,然后停止写入旧路径。**独立导入(Claude Web,没有项目文件系统):**在聊天中提供完整报告。告诉用户将其保存为 docs/specs/agent-architecture.md。

文件 = 开发者交接文档。内容须自成一体。无需聊天历史。开发者只需此文件即可开始实现。

必需章节(以及架构):

  • 问题陈述 — 用户最初未受提示时提出的请求
  • 参考架构 — 带颜色的 Mermaid 图 + 组件映射表(references/reference-architecture.md)
  • 子任务分解 — 网格:每行包含 Type、P1、P2、P3、组件;Agent 蓝图由此推导
  • 权衡预算 — 每个规范组件对应的延迟 / 成本 / 精度 / 不可妥协的维度
  • 架构变更信号 — 一句话、一个要素、具体可观察的阈值
  • 为何采用此设计 — 决策记录(一个还是多个、并发 / 编排、用户、拓扑、HITL、成功指标、MVP 范围之外)
  • 访谈记录 — 表格:问题、推荐答案、用户回复、锁定的决策(追加各次会话)
  • Changelog — 每次架构修订一行;切勿清空
  • 假设 — 推断项,标记为 confirmed 或 assumed
  • 功能需求 — 编号、可测试,并追溯至访谈表格中的对应行
  • MVP 范围 — 范围内 / 范围外表格
  • 状态架构和错误约定 — 具体结构
  • 实施计划 — 分阶段检查清单

仅文件中需额外包含的内容——仅写所选框架。省略另一个标题。不要使用「N/A」或「不适用」占位内容。拒绝另一个框架的原因写在框架推荐 → 考虑过的替代方案中(一行即可)。这一行足够。

框架额外内容(仅在选用时包含)
LangGraphMermaid flowchart TB:包含每个节点、单列的成功路径、虚线错误/中断边;使用与五块图相同的 classDef 为节点着色;附简洁的节点→模块对照表。布局必须遵循:references/report-template.md(LangGraph 流程图)。禁止在此流程图中按设计原则模块分别使用 subgraph(references/reference-architecture.md — LangGraph 容器与设计原则模块)
CrewAI团队结构表:团队名称、每个团队中的 Agent、流程类型、任务交接

始终包含在文件中:

  • Agent 人设蓝图:每个 Agent 的输入、输出、工具、模型、验收标准
  • 推荐工具栈:可由 Agent 调用的工具和基础设施表

聊天版约 200 词:不使用 mermaid、访谈表或完整工具栈表。

**访谈期间:**记录每个问题、推荐答案、用户回复和已确定的决策。报告文件需要这些内容。

关键规则

  • 访谈完成前不得选择框架
  • 不针对整个产品提出三个问题——每个子任务行只进行一次分类
  • 唯一的持续更新 ADR 是 docs/specs/agent-architecture.md — 必须包含参考架构(彩色 Mermaid)、权衡预算、架构变更信号、变更日志
  • 仅使用一种语言:以用户开场时使用的语言为准。不得使用英文标题搭配其他语言的单元格。组件列和 Mermaid 首行中的设计原则 ID 保持英文;正文单元格和访谈句子中不得使用
  • 不使用 docs/specs/agent.md(行为;ns-living-spec)
  • 仅当架构决策变更时重新打开此技能(拓扑、HITL、MCP 合约、变更信号)。仅实现相关的工作:ns-langgraph-agents + graph-spec.md;ADR 保持不变
  • 用户未在报告后提出要求时,不编写实现代码
  • LangGraph 节点流程图:按设计原则模块使用 subgraph(Orchestrator / Model / Gate 集群)是禁止的——为节点着色,不要将节点包起来
  • 这不是需求生成——只做架构和 Agent 设计
  • 提前提供丰富上下文:锁定这些分支,跳过,直接从不确定性最高的缺口开始

逆向模式(Agent 已构建)

触发条件:“说明为什么这个 Agent 是这样的”“我们从未记录过架构决策”,或在现有运行时上运行此技能。

  1. 阅读运行时:图节点/crew 任务、工具、interrupt 点、条件路由器。还要阅读 docs/context/system-reverse-spec.md 或 brownfield-map.md(如果存在),以及 graph-spec.md(如果存在)。
  2. 根据证据起草参考架构(五个模块)和子任务网格(references/reference-architecture.md、references/task-decomposition.md — 逆向模式)。每一行都要标注:source: code | interview、status: inferred | confirmed。
  3. 只追问代码无法证明的内容:错误成本、可逆性、真实案例覆盖范围、最终用户、成功指标。
  4. 根据运行时指标或默认值推断权衡预算和变更信号。证据不足时:分别确认一行。
  5. 采用相同的第 8 步两阶段收尾:先进行约 200 字的对话,然后编写 docs/specs/agent-architecture.md,描述现状。在 Next Steps and Risks 下标出矛盾(不可逆操作、没有关卡)。

相关技能(可选 — 在同一项目中安装时)

  • ns-agent-engineering — 如果尚未确定概念上应选择 Agent、RAG、Prompt 还是 Fine-Tune,先运行此技能(docs/specs/agent-design.md)
  • ns-spec-driven — 如果产品范围含糊,先进行澄清
  • ns-spec-driven Specify — 架构确定后,编写产品需求
  • ns-docs-writer — 在 README/docs/ 中添加指向 docs/specs/agent-architecture.md 的链接。不要重写决策记录
  • ns-living-spec — 负责维护 docs/specs/agent.md(行为)。不会覆盖此 ADR
  • ns-langgraph-agents — 对技能文件运行 grep/Glob。若已安装:在提出 LangGraph 建议前先阅读(包括 JSON-planner operator progress)。报告完成后再实施

评论

支持 Markdown