Next-Step Architecture · winBrain Creator OS
在 winbrain_os-ink-agent-sdk-clean 下一步仓库架构上,两条路线的落地差别
| 维度 | subagent 方案 | Dynamic Workflow 方案 |
|---|---|---|
| 谁持有计划 | 主 agent 上下文(Claude 逐轮决策) | JS 脚本(运行时执行,Claude 上下文只留最终答案) |
| 代码落点 |
expert-x/.claude/agents/*.md(frontmatter:
name/model/tools/description)
|
.claude/workflows/*.js(phase 循环/分支/汇总)
|
| 中间结果存哪 | Claude 上下文窗口(token 随轮次累积) | 脚本变量(不污染上下文,进度视图可查) |
| 调度者 | Claude 自己:Agent 工具(description/prompt/subagent_type/model/name/isolation) | 运行时:脚本编排,可 fan-out / 分支 / 多阶段 |
| 规模 | 每轮几个委派任务 | 几十到几百个 agent/run(≤16 并发,≤1000 总量) |
| 中断恢复 | 中断即重开回合 | 可 resume:已完成 agent 返回缓存,后续按启动顺序重跑 |
| 可重跑性 | 重跑靠重新对话(worker 定义可复用) | 编排本身可重跑、可保存为命令、可随 plugin 分发 |
| 运行中输入 | 逐轮可交互 | 运行中无用户输入(阶段间签核需拆多 workflow) |
| 隔离 | subagent 继承父会话 sandbox(isolation:"worktree" 可选) | 脚本运行在隔离环境(无 fs/shell/import),agents 继承会话权限 |
| 成本 | 低:一次会话内聚合,无额外进程 | 高:多 agent 多阶段,>25 agents 或 >150 万 token 触发 Large 警告;/config 可设规模指导 |
| 质量模式 | 无内建(需 prompt 手写互审) | 内建:独立 agents 对抗互审、多角度起草再权衡 |
| 与现状契合 | SDK 0.3.220 原生;事件流 execution.ts 已有 subagent kind;三处 options 已配 workflowSizeGuideline | SDK 支持(0.3.220);workflowSizeGuideline 已设 unrestricted;/workflows 进度视图需 Web/TUI 映射 |
.claude/agents/<expert>.md:角色定义(name/model/tools/description)
.claude/workflows/ 目录,Claude
按任务生成编排脚本
1. SDK 0.3.220 subagent 能力(node_modules/@anthropic-ai/claude-agent-sdk/sdk-tools.d.ts 实证)
interface AgentInput {
description: string; // 3-5 词任务描述
prompt: string; // 任务
subagent_type?: string; // 自定义 agent 定义
model?: "sonnet"|"opus"|"haiku"|"fable";
run_in_background?: boolean; // 并行
name?: string; // SendMessage({to: name}) 寻址
isolation?: "worktree"|"remote";
}
2. 官方 Dynamic Workflows(code.claude.com/docs/en/workflows.md)
"orchestrate many subagents from a script Claude writes and you can rerun" · 计划在代码:循环/分支/中间结果在脚本变量,Claude 上下文只留最终答案 · ≤16 并发 agents / ≤1000 agents/run;无运行中输入;禁止 import() · 可 resume(已完成 agent 缓存);可保存为命令;随 plugin 分发 · >25 agents 或 >150 万 token → Large workflow 警告;/config 规模指导 small/medium/large · /deep-research 为内置 workflow(fan-out 搜索 + 交叉验证 + 投票 + 引用报告)
3. 当前仓库已有痕迹(winbrain_os-ink-agent-sdk-clean)
· src/application/contracts/execution.ts:3 kind: "runtime"|"tool"|"subagent"|"asset"|"risk" · src/adapters/outbound/claude-agent-sdk.ts:43 workflowSizeGuideline: "unrestricted" · src/adapters/outbound/claude-agentbay-session.ts:52 workflowSizeGuideline: "unrestricted" · src/adapters/outbound/claude-ontology-assistant.ts:28 workflowSizeGuideline: "unrestricted" · docs/testing/unlimited-agent-execution.tdd.md — 明确放开 workflow 规模建议
4. 专家资产现状(organization.ts)
ExpertAsset = { id, name, description, pluginPath, employees[], ontologyMcpIds?, mcpServerIds?, status }
buildChatOptions: plugins:[{type:"local", path}], skills: context.skillNames
→ 两方案都只需在 plugin 资产之上加 .claude/agents/ 或 .claude/workflows/ 一层