Agent 多角色协作:主Agent+Subagent VS 跨多会话,小白入门工程化实战

Agent 多角色协作:主Agent+Subagent VS 跨多会话,小白入门工程化实战
Agent 实战解析主AgentSubagent VS 跨多会话小白入门工程化实战摘要Vibe Coding的时候很多人会想能不能让AI分工产品做需求、设计出方案、开发写代码、测试找Bug、质检查质量、风险评估踩坑预警本文讲清楚两套主流方案单会话「主Agent Subagent子代理」、多工具跨独立会话协作讲明白定义、实现方式、优缺点、角色怎么分配、适合什么场景小白也能看懂附带工程化落地规范。环境背景基于 VSCode Claude Code 插件Cursor、Codex 等AI编码工具通用概念。一、先搞懂3个基础概念1. Agent智能代理Agent就是一个拥有独立思考、工具调用能力的AI数字员工可以接收任务、读文件、跑脚本、输出报告。2. Subagent子代理定义在同一个会话里面由主Agent派生出来的「独立数字员工」。Subagent拥有自己独立的上下文看不到完整主会话全部聊天记录子代理干完活只会把最终结果交还给主Agent内部思考、命令行日志不会污染主对话。Subagent之间互相看不见子代理不能直接互相调用不能主动触发别人干活所有任务派发全部交给主Agent统一管理。文件存放项目目录下.claude/agents/xxx.md每个角色一个md配置文件。3. 跨会话多独立会话定义打开多个完全互不干涉的AI窗口可以是同一个工具多个会话也可以是不同工具混合比如Claude Code、Cursor、Codex各开一个窗口。每一个会话都是完整独立AI实例拥有自己全套上下文记忆。AI本身不能自动互相通信数据交互依靠「人复制粘贴」或者读写本地磁盘文件。概念通俗类比名词生活化比喻主Agent项目经理总负责人分配任务、汇总结果拥有写业务代码权限Subagent子代理公司各个岗位员工产品、测试、质检只干分配给自己活干完把报告上交项目经理员工之间不能直接互相派活跨独立多会话好几家不同公司每家各有一套完整团队互相没有内部通讯系统只能通过U盘本地文件或者人传话交接工作二、方案一单会话 主Agent Subagent以Claude Code为基础✨方案定义只打开1个VSCode Claude Code会话由1个主Agent充当项目经理派生多个Subagent子代理充当各个岗位员工完成多角色协作。所有调度AI自动完成不需要手动切换窗口复制粘贴。️如何实现1目录结构工程化规范你的项目/ ├── CLAUDE.md # 项目全局规则、编码规范每次会话自动加载 └── .claude/ ├── agents/ # 存放所有子代理配置一个角色一个md │ ├── product‑expert.md # 产品角色subagent │ ├── design‑expert.md # 设计角色subagent │ ├── review‑expert.md # 需求评审subagent │ ├── risk‑expert.md # 风险评估subagent │ ├── test‑expert.md # 测试专家subagent │ └── quality‑expert.md # 质量检测subagent └── _scratch/ # ✨临时输出目录子代理输出报告写这里.gitignore添加配置不要提交临时文件到git仓库.claude/_scratch/*2两种数据传递方式短报告几千字以内Subagent直接把文本报告返回给主Agent。大报告、JSON、长测试日志Subagent输出写入.claude/_scratch/本地文件只把文件路径返回给主Agent主Agent读取文件再把路径交给下一个Subagent读取。⚠️重要限制Subagent之间不能直接互相唤醒调用A子代理写完文件不会自动叫B子代理来读全部任务流转必须由主Agent中转调度。每次新任务开始主Agent优先清空_scratch文件夹避免读取上一轮旧报告造成逻辑错乱。3完整执行流程图1.清空_scratch临时目录输出需求文档写入_scratch/spec.md派发任务读取spec.md输出设计文档_scratch/design.md派发任务读取两份文档输出风险报告汇总全部报告主Agent亲自编写业务源码输出测试报告输出质检报告不通过全部通过用户实现登录功能主Agent「项目经理」产品Subagent设计Subagent风险评估Subagent编写业务代码⚠️只有主Agent允许修改src业务源码测试Subagent仅允许写测试文件质量检测Subagent静态代码审查是否全部通过?执行Git提交Hook门禁检查4角色分配权限配置工程化重点小白照着抄⚠️核心铁律修改业务源代码的权限只留给主AgentSubagent尽量做只读审查、输出报告禁止随便修改业务代码避免黑盒修改、文件冲突角色做成Subagent工具权限能干什么禁止干什么产品专家✅是Read,Glob只读梳理业务、输出需求文档写入_scratch不写业务代码、不执行shell命令设计专家✅是Read,Glob只读输出交互、组件设计方案不写业务代码需求评审专家✅是Read,Glob只读检查需求漏洞、缺失场景不写业务代码风险评估专家✅是Read,Glob只读识别安全风险、技术债务不写业务代码测试专家✅是Read,Glob,Bash,Write编写单元测试、运行测试只能写*.test.*测试文件禁止修改src下面业务源码质量检测专家✅是Read,Glob,Bash运行lint静态扫描输出质检报告禁止修改业务源码只做审查不擅自修复代码业务开发编码❌不要做Subagent主Agent拥有完整读写权限编写业务源代码子代理一律禁止碰业务源码开发相关规范写在哪里CLAUDE.md项目架构、命名、编码规范会话启动自动加载。主Agent调度提示词定义开发流程、约束、人在回路校验规则。✅优点AI自动调度任务不需要手动复制粘贴、切换窗口不打断Vibe Coding心流。️天然隔离上下文Subagent内部思考、执行日志不会污染主会话减少token消耗降低幻觉。统一权限管控、统一Git版本检查点、统一Hook提交门禁工程化容易落地。可以串行/并行派发多个子代理干活。❌缺点全部运行在同一个工具内不能混用Cursor、Codex其他工具的能力。每派生Subagent会消耗额外token不要一次性同时启动大量子代理原型阶段优先只启用测试、质检2个后期再加其他角色。极端版本存在极小概率提示词泄漏bug解决方案强制子代理只返回摘要或者文件路径不要返回完整原始工具日志。适合使用场景✅绝大多数Vibe Coding从0到1做原型、业务迭代开发。✅希望搭建自动化需求‑开发‑测试‑质检流水线。✅想要工程化GitHook提交门禁做提交质量拦截。三、方案二多工具跨独立会话协作Cursor / Claude Code / Codex多窗口✨方案定义打开多个完全独立的AI会话窗口可以是同一个软件多标签也可以混合不同AI编码工具。每个会话固定一个角色。例会话AClaude Code做产品会话BCursor做开发会话CCodex做安全风险评估。会话之间没有内置通信能力两种交互手段人工复制粘贴报告、代码文本手递手传递信息。读写项目本地磁盘同一个文件夹例如.claude/_scratch/文件作为“U盘”传递数据。⚠️重点就算读写同一个本地文件AI不会自动互相触发执行。A会话写完文件B会话不会自动感知必须要人手动切窗口让B会话读取文件。想要自动调度需要自己写外部Shell脚本已经超出AI编码工具本身能力。️如何实现打开多个客户端窗口每个窗口分配固定角色。角色A输出报告保存到./.claude/_scratch/xxx.md。手动切换窗口让角色B读取磁盘上这份文件继续工作。如果多会话都开启写文件权限注意不要同时修改同一个源码会出现文件覆盖冲突。简易流程图人是调度核心用户人工调度切换窗口会话1产品角色输出报告写入本地文件会话2开发角色读取本地文件编写业务源码会话3测试质检角色读取代码执行审查测试会话4风险评估角色读取代码输出风险清单✅优点完全彻底上下文隔离零污染。审查会话完全看不到开发会话的思考过程可以规避“自己写代码自己包庇Bug”的确认偏见非常适合对抗式Review。可以发挥不同工具特长Cursor擅长IDE编辑Claude Code擅长Git脚本自动化Codex擅长沙箱安全扫描。每个会话可以配置完全不一样模型、提示词互不干扰。❌缺点‍人是调度中心没有自动化每一步都要手动切换窗口、复制或者处理文件打断Vibe Coding流畅心流。⚠️会话状态漂移风险A会话修改了代码B会话不知道项目最新状态容易产出和现状冲突的方案。⚠️多会话同时写源码极易出现文件互相覆盖冲突没有统一Git检查点、统一Hook管控。不适合长链路连续业务迭代。适合使用场景✅对抗式第三方复核代码开发完成之后新开一套干净会话做安全审计、全盘代码审查消除单模型的偏见。✅多个完全互不相关任务并行做调研。❌不适合从0到1完整开发流水线原型Vibe Coding主力工作流。四、两套方案核心对比总表对比维度方案一单会话 主AgentSubagent方案二跨多独立会话Cursor/Codex/Claude Code多窗口调度方式✅AI自动派发任务不需要人工复制粘贴❌需要人手动调度复制粘贴或者操作本地文件上下文污染风险低子代理中间日志不进主会话只上交报告⭐零污染会话之间100%隔离能否混用不同AI工具❌只能当前同一个工具内部✅可以混合Cursor、Codex、Claude Code文件冲突风险低只有主Agent修改业务源码高多会话都可以写代码容易覆盖Token消耗中等派生子代理会增加消耗每个会话独立消耗token总消耗更高工程化难度中等配置md文件统一Git/Hook高缺少原生流水线需要外部脚本辅助Vibe Coding原型开发适配度⭐⭐⭐⭐⭐ 主力推荐⭐⭐仅适合事后复核对抗审查能力⭐⭐⭐⭐⭐⭐⭐⭐五、初学者落地实操建议避坑指南建议的上手路线第一步优先使用【主Agent Subagent】作为主力Vibe Coding工作流原型阶段不要一次性全部启用7个角色Subagent先开启测试专家、质量检测专家2个够用就好。业务代码修改权限牢牢交给主AgentSubagent优先做只读输出报告。使用_scratch目录存放子代理输出gitignore忽略每次任务清空临时文件防止旧文件干扰。第二步项目迭代稳定之后再增加产品、设计、风险评估Subagent。第三步代码完成之后可选使用【跨多会话】作为补充增强新开干净Cursor/Codex会话做第三方对抗审查进一步找漏洞。❌新手高频踩坑点❌把业务开发编码交给Subagent子代理后果上下文丢失、黑盒修改代码并行任务出现文件冲突。✅正确业务源码修改权限只保留在主Agent。❌指望Subagent之间互相调用、互相唤醒干活✅正确所有任务派发全部由主Agent中转。❌跨会话当做主力开发流水线不停切换窗口复制粘贴丢失Vibe Coding的心流。❌子代理输出大量原始日志全部返回主会话造成主会话token爆炸。✅正确大报告写入_scratch本地文件只回传路径。❌不清理临时目录读取上一轮旧报告逻辑全部错乱。六、总结主AgentSubagent是Claude Code原生多角色协作方案AI自动调度适合绝大多数Vibe Coding开发子代理只做分析输出报告业务编码交给主Agent做好权限管控是工程化落地首选。跨多独立会话隔离性最强适合对抗式第三方复核审查但是没有自动化调度不要作为从0到1开发的主力流水线。两套方案不是二选一可以组合使用主AgentSubagent做日常开发开发完成后用跨会话做二次第三方校验。写在最后多Agent不是越多越好。角色越多token消耗越高调度出错概率上升。初学者切忌盲目堆一大堆Agent/Subagent够用才是最重要。

最新新闻

日新闻

周新闻

月新闻