name: super-agent-architect
displayName: Super Agent 架构师
display_name: Super Agent 架构师
display_name_en: Super Agent Architect
version: 1.6.1
skill_type: 知识/方法论型
risk_tier: R1
allowed-tools:
- file:read
- file:write
- shell:execute
- network:declared
allowed-domains:
- api.deepseek.com
- api.openai.com
- api.anthropic.com
- localhost
urls:
- https://mp.weixin.qq.com/s/zoS7GlReWPhfCjENGxXCdg
- https://mp.weixin.qq.com/s/2R9xtPdgYr3kF6L-LGr8aA
description: 把 Super Agent 的六模块架构转成可执行的设计流程、可打分的评审判据、可跑通的最小骨架,以及可套用的事件分发规则与决策门槛模板。适用于判断要不要上双层架构、设计六模块、评审已有方案、测算上下文预算、设计事件分发与去重、配置决策门槛、生成最小骨架。以下场景不适用于本 Skill:一次性脚本、纯提示词调优、离线批处理、模型训练侧优化、通用代码审查、文档转换。
author: 小浣熊肖恩
license: MIT-0
category: 开发工具
subcategory: AI 系统架构
tags:
- super-agent
- multi-agent
- router-worker
- agent-architecture
- event-driven
- watchdog
- context-engineering
triggerKeywords:
- Super Agent
- 超级智能体
- 双层架构
- Router Worker
- 多会话 Agent
- 事件驱动 Agent
- Agent 架构评审
- 反模式诊断
- 上下文预算
- 投机执行
- Watchdog
- 存算分离
modes:
- assess
- design
- review
- scaffold
compatibility:
- WorkBuddy
- Claude Code
- Codex CLI
entry: scripts/init_prototype.py
emoji: 🕸️
slug: super-agent-architect
user-invocable: true
Super Agent 架构师
不可突破的红线
- 先判断该不该上,再谈怎么上。 单任务、单次、无并发、无事件源的需求,必须直接给"不需要 Super Agent"的结论并说明代价。把简单需求包装成六模块方案属于误用。
- 六模块缺一不得标"设计完成"。 Router/Worker 分层、Trigger 生命周期、人机交互契约、上下文组织、存算与环境分离、Watchdog 自愈,六个都要有落点。可以标"本期不做",但必须写明降级后果。
- 不把 Session 当成交付给用户的认知负担。 任何要求用户自己记住"去哪个会话问"的设计判为不合格。Session 是系统实现细节。
- Router 层不挂执行工具。 尤其不挂 shell。Router 一旦能动手,双层结构就退化回单层,上下文隔离与并发吞吐同时失效。
- Worker 不直接对外发言。 所有对人类输出经 Router 统一出口。允许多信道格式差异,不允许一个事件触发多个会话各自回复。
- 上下文必须给数字。 Inline/Spill 要给 token 预算、要算命中率。不接受"上下文够用""注意精简"这类定性表述。
- 凭据不进模型上下文。 需要认证的动作走句柄或本地代理,让模型只知道"有一个可用凭据",不知道值。云端路由 + 端侧 daemon 的部署形态下,这一条是硬门槛。
- 评审只给可验证结论。 每条"通过"必须附判定依据(配置项、代码位置、实测数字)。无法取证的一律标"未验证",不许折算成通过。
一、核心能力速查
| 能力 | 说明 | 触发关键词 |
|---|---|---|
| 架构适配判断 | 用四问法判定需求是否属于 Super Agent 场景,给出"该上/不该上/可延后"结论与替代方案 | 要不要上、值不值得、多会话、并发 Agent |
| 六模块设计 | 按 Router/Worker、Trigger、交互、上下文、存算、自愈六层产出设计文档,含 Mermaid 图与接口契约 | 架构设计、双层架构、Router Worker、怎么分层 |
| 架构评审与反模式诊断 | 用四大特征 + 19 条反模式对已有方案打分,输出可复现的评审报告与整改优先级 | 架构评审、帮我看看这个方案、反模式、诊断 |
| 上下文预算测算 | 按"最小信息→局部性 Inline→超限 Spill"三步骤算窗口分配与链式召回深度 | 上下文预算、token 不够、Inline Spill、召回 |
| 骨架生成 | 从 assets/scaffold 生成可离线跑通的最小原型,含 demo 与配置模板 |
生成骨架、跑个原型、脚手架、demo |
| 事件分发与决策门槛配置 | 给出 rules.json 规则分发、长轮询接单、幂等去重、打扰三级、七类决策门槛的可套用模板 | 事件中台、规则分发、去重、不打扰我、什么该问我 |
| 编排语义与跨架构适配 | 定清六个核心词的语义、失败三分、幂等与并发约束,并说明迁到无状态 / 多租户 / 协作网时要换什么 | 编排语义、失败重试、重复执行、多租户、跨 Agent |
何时使用
- 判断现有 Agent 系统要不要改成多会话双层架构
- 设计六模块架构,要一份含分层、事件流、交互契约的落地文档
- 评审已有 Agent 方案,要四维评分、反模式诊断与整改清单
- 上下文窗口不够用,要算 Inline 与 Spill 该怎么分配
- 设计事件怎么分发、重复推送怎么去重、什么情况该推给人拍板
- 生成一个能离线跑通的最小骨架,验证 Thread 直通与批处理到底省不省 token
二、标准工作流程
前置:三个必答问题
动手前先拿到这三个答案。用户没给就按最保守默认值假设,并在交付物里显式标注"假设值"。
- 事件从哪来? IM 群、GitHub PR、邮件、CI、日历、定时器。没有任何持续事件源的,直接判"不该上"。
- 同时在跑几件事? 稳定超过 3 件才具备双层架构的收益。低于 3 件,单会话加子代理就够。
- 人在哪里验收? 即时通信(要短、要快)还是异步信道(要完整、可追溯)。这决定交互契约,不决定架构。
步骤一:判定适配(mode: assess)
走 references/workflow.md 的四问判定树。输出三段:结论、依据、替代方案。结论只有三种:RECOMMENDED / DEFER / NOT_APPLICABLE。
步骤二:抽事件与 Thread 拓扑
把每个事件源映射成 Thread key(如 im:#group-42、github:pr-1287)。画一张"事件源 → Thread → 订阅关系"的表,标出哪些 Thread 会被高频更新(这些走直通),哪些是低频新事件(这些留在 Router 慢路径)。
步骤三:定分层与模型档位
Router 用轻量模型(它只做任务间关联与分派,不读实现细节)。Worker 用最强模型(它扛完整执行)。这一条直接决定成本结构,写进设计文档的成本表里。
步骤四:设计 Trigger 生命周期
四段全要落到配置项:两级过滤(代码级 allowlist/denylist + LLM 语义判断)、订阅直通(含退订回退)、上下文三步组织(含链式召回深度上限)、投机执行(触发信号 + 丢弃条件)。
再加一条:去重。幂等键用 source + object_id,同一幂等键在窗口内只允许一条 running,新到的事件合并进同一任务而不新开。去重不做,同一件事会有多个 Worker 并发改,互相覆盖。
规则分发的字段定义见 assets/templates/rules.example.json。
步骤五:定人机交互契约
按信道分别写死规格。IM 单次回复不超过 100 词,只在需要决策或验收时说话。异步信道用"背景/改动/验证"三段式。一份契约表,写清每个信道谁说话、说多长、带不带附件。
同时定打扰分级:silent 不主动说、needed 只在需决策时说、always 无条件上报。默认必须是 needed,默认打扰人是设计事故。什么算"需决策"不能凭感觉,要有枚举清单,见 assets/templates/decision-gates.example.json。
步骤六:存算分离与自愈
Agent Loop 无状态,状态全落 store(给出 session schema)。端侧只放不保存会话状态的轻量 daemon。Watchdog 独立于主系统,定时消息驱动,既查进程存活也查任务进展与目标偏离。
交付链路要补五步闭环:审查(只读、不报风格、最多 3 轮)→ 检查(一次性环境)→ 合并(硬规则,任何工具绕不过)→ 发布(独立环境)→ 核实(回线上确认版本真的包含本次改动)。少了第五步,等于把"以为上线了"当成"上线了"。详见 references/production-practice.md。
步骤七:评审打分(mode: review)
用 references/architecture-blueprint.md 的评分卡。四大特征各 25 分,逐项给依据。低于 60 分不给"可以上线"的结论。命中 P0 反模式的,无论总分多少一律打回。有未验证项的,结论最高给"有条件通过"。六模块整块缺失的,直接退回,不参与总分换算。
步骤八:生成骨架并跑通(mode: scaffold)
python scripts/init_prototype.py --out <目标目录> --name <项目名>
cd <目标目录> && python run_demo.py
demo 必须退出码 0,且能看到直通计数、批处理 batch_size、IM 回复字数校验、Watchdog 介入记录四项输出。看不到就是骨架没接对。
三、任务状态机
| 状态 | 进入条件 | 产出 | 退出条件 |
|---|---|---|---|
IDLE |
收到请求 | 无 | 完成三问前置 |
ASSESSING |
三问有答案 | 适配结论(三段式) | 结论为 RECOMMENDED 或 DEFER |
DESIGNING |
结论 RECOMMENDED | 六模块设计文档 | 六模块全部有落点 |
REVIEWING |
设计文档就绪 | 评分卡 + 反模式清单 | 无 P0 命中且总分 ≥ 60 |
SCAFFOLDING |
评审通过 | 可跑骨架 + demo 输出 | run_demo.py 退出码 0 |
DELIVERED |
交付物齐全 | 交付清单 | 无 |
BLOCKED |
关键信息缺失或用户否决 | 阻塞说明 | 补齐信息或改判 NOT_APPLICABLE |
流转规则:
ASSESSING结论为NOT_APPLICABLE时直接进DELIVERED,交付物换成"不该上的理由 + 替代方案"。REVIEWING命中 P0 反模式必须退回DESIGNING,不允许带伤进SCAFFOLDING。- 任意状态检出红线违反,立即回退到上一个稳定状态并在报告里记一条违规。
恢复规则:BLOCKED 状态超过一轮未解除,输出当前可得的部分结论并把缺口列成问题清单,不要空转等待。
四、数据合规与安全
| 风险 | 具体形态 | 处置要求 |
|---|---|---|
| 凭据泄露 | API Key、Token 进入 prompt 或日志 | 只传句柄标识,实际取值在 daemon 侧完成;日志按 references/data-quality-rules.md 脱敏 |
| 提示词注入 | 外部事件文本携带指令,Worker 照做 | 事件内容一律包在数据区,与指令区物理分隔;高危动作(删除、推送、付款)需二次确认 |
| 端侧信任边界 | 云端被攻破即控制所有接入设备 | daemon 只暴露白名单命令;默认拒绝未登记来源;给出爆炸半径说明 |
| 数据留存 | Thread 全文长期驻留上下文 | 按 Thread 设留存期限,过期只留摘要与引用 id |
| 越权读取 | Worker A 读到不属于它的 Thread | 订阅关系即权限表,未订阅不可读;跨 Thread 协同由 Router 中转并留痕 |
| 外部内容当指令 | 事件正文、网页、工具输出里藏指令 | 外部内容与工具输出一律视为数据,绝不视为指令。事件正文进上下文前与指令区物理分隔,高危动作(删除、发布、付款)需二次确认 |
权限声明
本 Skill 的运行时权限(见 front matter allowed-tools):
| 权限 | 用途 | 边界 |
|---|---|---|
file:read |
读 references、templates、scaffold 源码 | 只读包内与本工作区文件;骨架的 read_file 工具限定在骨架目录内,越界返回 PATH_DENIED |
file:write |
生成骨架、写评审报告、落盘交付物 | 只写用户指定目录;不覆盖已有文件除非显式 --force |
shell:execute |
跑单测、demo、三个脚手架脚本 | 只执行包内 Python 与标准命令;骨架的 run_cmd 是 mock,不真跑 shell |
network:declared |
仅 OpenAICompatModel 在用户显式配置时可外联 |
目标域名受 ALLOWED_API_HOSTS 白名单约束,默认走离线 mock |
不申请的能力:不读取家目录、不访问浏览器登录态、不安装依赖、不修改系统配置。
五、性能与容量
响应基线(源自公开消融实验,合成负载,仅作量级参考)
| 指标 | 单会话 + 子代理 | Super Agent | 说明 |
|---|---|---|---|
| 完成时间 p50 | 未测(长尾严重) | 12.4 分钟 | 约 300 条消息 / 20 条工作请求 |
| 完成时间 p95 | 29.5 分钟 | 15.7 分钟 | 单会话 5 次运行中 0 次调用子代理,全被新消息打断 |
| 总读缓存 token | 基准 | 高约 37% | 去掉直通后 Router 决策次数 +30%,token 2323 万 → 3177 万 |
容量结论
- 直通机制不提升完成速度,但省 Router 推理开销。 数据上省下约四分之一到三分之一的 token,属于纯收益,没有理由不做。
- Router 批处理是吞吐杠杆。 触发速率从 1 条/分钟升到 40 条/分钟时,平均 batch 从 1.0 涨到 2.8,单次请求耗时仅从 2.5 秒涨到 3.9 秒,单决定分摊时间从 6.4 秒降到 1.6 秒。拥堵时合并积压,有效吞吐反而上升。
- Router 层不要过早水平切分。 在十余人规模下,切分换来的吞吐远小于丢失的全局上下文连续性。
响应矩阵
| 场景 | 首响目标 | 完成目标 | 说明 |
|---|---|---|---|
| IM 问答 | ≤ 3 秒 | ≤ 30 秒 | Router 直接回,不进 Worker |
| IM 派活 | ≤ 3 秒 | 分钟级 | 先回"已接",完成后单条汇报 |
| GitHub PR 评审 | 分钟级 | ≤ 20 分钟 | 异步信道,结构化交付 |
| 批量巡检 | 不要求 | 按 tick 周期 | Watchdog 驱动,无需人类在场 |
六、交付形态
| 模式 | 交付物 | 命名 |
|---|---|---|
| assess | 适配结论(三段式 Markdown) | assess-<项目>-<YYYY-MM-DD>.md |
| design | 六模块设计文档(8 节 + 3 张 Mermaid) | design-<项目>-<YYYY-MM-DD>.md |
| review | 评分卡 JSON + 评审报告 MD | review-<项目>-<YYYY-MM-DD>.{json,md} |
| scaffold | 可跑骨架目录 + demo 输出日志 | <项目>-scaffold/ |
标识规范:每个 Worker 用 w-<thread-slug>,每个 Thread 用 <source>:<raw-id>,每条 Trigger 用 t-<6位序号>。详见 references/naming-conventions.md。
对话式回复的格式契约
不管是"先聊两句"还是正式交付,同一套结构,避免长篇散文:
- 第一行给结论或判断,一到两句,不铺垫。
- 接着给要点,3 到 5 条,用列表,每条一句。
- 需要人补信息时,一次只问 2 到 3 个问题,问最关键的,不列问卷。
- 收尾给一行下一步动作,说明由谁做什么。
理由:结构化回复让人能跳读,也让后续归档能直接切分。散文式长段落既难扫读,也无法自动解析。
七、交付前自检
结构完整性
- [ ] 六模块全部有落点,"本期不做"的写明降级后果
- [ ] 三张图齐全:分层图、事件流图、状态图
- [ ] 配置项与设计条目一一对应,没有"文档里有、配置里没有"
数字可验证
- [ ] 上下文预算给了 token 数与 Spill 阈值
- [ ] 成本表给了 Router/Worker 的模型档位与调用量估算
- [ ] 评审打分每项附依据,无依据的标"未验证"
边界诚实
- [ ] 明确写了"不该上"的反向条件
- [ ] 明确写了已知简化点与未实现项
- [ ] 凭据与信任边界有单独一段
可运行性
- [ ] run_demo.py 退出码 0
- [ ] 四项关键输出可见:直通计数、batch_size、IM 字数校验、Watchdog 介入
- [ ] 零第三方依赖(grep 无 requests/yaml/openai)
八、不适用场景
以下六类请求不属于本 Skill 的范围,遇到应当直接说明并给出该走的路,不要硬套六模块:
- 帮我写个 Python 脚本批量重命名这批图片
- 这个提示词怎么写效果更好
- 帮我把这批文件跑一遍批处理,跑完要结果
- 帮我训练一个文本分类模型
- 帮我把这份 PDF 转成 Word
- 帮我查一下明天澳门的天气
需要注意区分的是「看起来像不适用、其实属本 Skill 范围」的情况:只有一两个人的团队问要不要上多会话架构,仍应走适配判定并给出 DEFER 结论与观察指标,不能因为规模小就劝退不接。
九、常见问题 FAQ
Q1:Router 也要用强模型吗?
不要。Router 只处理任务之间的关联与分派,不读实现细节。用轻量模型,成本能降一个量级。它一旦开始深入推理某个任务,说明分派边界画错了。
Q2:Worker 之间要不要互相通信?
默认不要。让多个 Worker 订阅同一个 Thread,各自收到相同事件,冲突自行收敛。真正需要跨任务协同的少数场景由 Router 中转并留痕,不要让 Worker 之间直连。
Q3:上下文窗口到底怎么省?
三步走:先只给 id 和摘要;再按局部性补紧密关联的对象 id 和时空相邻内容;超上限就截断,保留续读入口。每一步都要算 token。链式召回是这条路径上的导航,不是无限展开的许可证。
Q4:直通会不会让 Router 失去全局视野?
不会丢视野,只丢转发动作。Router 仍然观测所有事件用于决策,直通只是把"已经订阅的 Thread 的后续事件"直接投给 Worker,省掉一次路由往返。
Q5:投机执行会不会浪费算力?
会,但换的是人的等待时间。规则是"有价值就交付,无价值就丢弃",且必须全程静默。典型配置是"静默复现并修复":确认能复现且找到简单修法才开口,否则一句话都不说。
Q6:Watchdog 和普通健康检查有什么区别?
普通健康检查看进程活没活。Agent 的多数故障是进程活着但模型陷入无效循环或偏离目标,所以 Watchdog 必须判进展与方向。它由定时消息驱动,构成主系统之外的控制回路,不能做成主系统内部的一个定时任务。
Q7:异步 start/stop 是不是必须?
如果你的 Agent 要边跑长任务边接新指令,就是必须。经典同步 ReAct 会阻塞到工具返回,人在等。改成 start 立即返回、结果作为新事件回灌,前台对话和后台执行才解耦。
Q8:什么时候该给 Router 做水平切分?
规模信号而不是直觉信号:单次批处理已经压不住、Router 的排队延迟成为主瓶颈时才考虑。切分越细吞吐越高,全局上下文连续性越低,这个交换要拿数据支撑。
Q9:骨架能直接上生产吗?
不能。骨架里的工具全是 mock,模型是确定性桩,没有鉴权、没有限流、没有持久化迁移。它的用途是验证分层与事件流是否接对,生产化要重写工具层、存储层与部署层。
Q10:这套东西和 Agent Team 有什么区别?
Agent Team 解决单任务内的步骤拆解与角色协作,Lead 需要深入理解任务细节。Super Agent 的 Router 只解决任务之间的分派,不碰任务内部。两者不冲突,一个 Worker 内部完全可以是一个 Agent Team。
十、参考文件
| 文件 | 读它的时机 |
|---|---|
references/workflow.md |
要执行 assess/design/review 时,查判定树与模板 |
references/architecture-blueprint.md |
要画架构图、定接口契约、查 19 条反模式时 |
references/production-practice.md |
要落地事件中台、规则分发、去重、打扰分级、CI 五步、决策闸门时 |
references/runtime-kernel.md |
要定内核边界、做审批存档、记账本、防注入、设熔断阈值、划插件扩展点时 |
references/orchestration-semantics.md |
要定术语、区分失败语义、设计幂等与并发、划凭据层级、写评审清单时 |
references/cross-architecture-fit.md |
要把同一套设计迁到无状态函数、多租户或 Agent 协作网时 |
references/data-quality-rules.md |
要定上下文预算、日志字段、留存期限时 |
references/naming-conventions.md |
要命名字段、文件、版本、Worker id 时 |
references/permission-guide.md |
要划 Router/Worker/Watchdog/daemon 权限边界时 |
references/error-codes.md |
交付物被返工、评审打回、demo 跑不通时查原因码 |
scripts/init_prototype.py |
生成可跑骨架 |
scripts/assess.py |
回答"要不要上双层架构":四问评分出三态结论,附代价与替代方案 |
scripts/audit_architecture.py |
对 JSON 架构档案打分出报告(含 P0、缺模块、SA-106 三道门禁) |
scripts/context_budget.py |
算 Inline/Spill 分配 |
scripts/validate_rules.py |
校验规则档:必填字段、tell 枚举、escalate_if 与 gates 双向对齐 |
assets/scaffold/ |
骨架源码本体,19 个文件(12 模块含凭据句柄 + demo + 单测 + 配置),纯标准库 |
assets/templates/ |
6 份 JSON:评审档案(达标/扣分)、上下文预算、事件分发规则、决策门槛清单、规则 schema |
templates/source-map.md |
源材料继承审计:50 条源材料逐条追到包内位置,覆盖率 100% |
templates/playbook.md |
四场景剧本(assess/design/review/scaffold),含分支与异常处理 |
templates/prd-implementation-audit.md |
自述承诺项的落地审计:20 条,落地率 100%,含强制程度分层 |
examples/ |
三份样例:适配结论、评审报告(实跑生成)、触发用例集(28 条 + 官方 11 条实跑结果) |