【Agents】Claude Code 多 Agent 入门:从一问一答到并行协作
你和 Claude Code 的日常是不是这样敲一句提示、等它回答、再敲一句这种你来我往的 QA 乒乓模式处理简单任务绰绰有余。但一旦任务变复杂比如搜索项目里所有 deprecated API同时检查 README 是否过期顺便看看测试覆盖率你就开始了漫长的排队先搜代码等结果再看 README等结果再查测试……一个下午就这么没了。 问题不在 Claude 不够聪明而在于你一直在串行使用一个可以并行工作的工具。 Claude Code 内置了多 Agent 能力。它可以把复杂任务拆成多个子任务启动多个子代理同时工作最后汇总结果。从 QA 模式升级到 Agent 模式效率提升的关键不是更多对话而是并行 自主。 上图直观展示了两种模式的核心区别左边的 QA 模式是严格的一问一答串行流程每个任务必须等上一个完成右边的 Agent 模式由主对话统一调度多个子代理同时工作最终汇总结果。同样的三个任务时间开销从三倍变成一倍。一、什么是 Agent和 QA 模式有什么不同1.1 Agent与QA 先用一个类比把概念说清楚。QA 模式像你和一个助手面对面对话。你说一句他做一件事做完了汇报你再说下一句。助手很能干但同一时间只能做一件事。Agent 模式像你是项目经理手下有多个专项组。你开了个晨会把今天的任务分配下去搜索组去查代码、架构组去设计方案、开发组去改模块然后各组同时开工完成后各自汇报你综合决策。 在 Claude Code 里这些专项组叫子代理Subagent。每个子代理是主对话中启动的一个独立工作者有自己的上下文窗口和工具集干完活把结果摘要交回主对话。1.2 三种内置子代理 Claude Code 提供了三种类型的子代理各有分工。类型能力模型适合场景Explore只读搜索Haiku快找文件、搜代码、快速了解项目结构Plan只读分析主模型设计方案、分析架构、评估影响范围General-purpose读写执行主模型复杂多步任务、代码修改、在独立 worktree 中工作Explore是侦察兵。它用的是更轻量的 Haiku 模型只能读不能写但速度快、成本低。当你让 Claude “看看项目里有没有 XXX”它大概率会派出 Explore agent。Plan是架构师。用主模型的全部推理能力来分析代码、设计方案但同样只读不写。适合帮我想想这个重构该怎么做这类规划性任务。General-purpose是全能选手。能读能写能执行命令是唯一能实际修改代码的子代理。更强大的是它可以在独立的 worktree 中工作完全不影响你当前的代码后面会重点讲。二、Agent 的工作原理 理解了三种子代理再来看它们是怎么被调度的。整个流程分四步 如图展示了多 Agent 的完整工作流程主对话在顶部接收任务后向下分派给三个子代理并行执行每个子代理在独立的上下文中工作完成后将摘要汇总回主对话。整个过程中子代理之间互不干扰。2.1 第一步主对话接收任务 你在对话中输入一个复杂请求比如搜索所有 TODO同时分析 auth 模块的安全性再把 logger 模块重构一下。2.2 第二步识别可并行的子任务 主对话分析你的请求发现这三件事相互独立可以同时进行。于是它决定启动三个子代理。2.3 第三步子代理独立工作 每个子代理拿到自己的任务描述后在独立的上下文窗口中工作。这里有三个关键点上下文隔离子代理有自己的上下文不会占用主对话的上下文空间。这意味着你不用担心一个大任务把上下文撑爆。每个子代理在自己的空间里独立思考、独立调用工具。并行执行 多个子代理可以同时启动、同时工作。搜索 TODO 的 Explore agent 和分析安全性的 Plan agent 不需要互相等待。不能嵌套子代理不能再启动子代理。这是一个硬限制保证了调度结构的简洁永远只有主对话 → 子代理一层关系。2.4 第四步结果汇总 每个子代理完成后把结果以摘要的形式返回主对话。注意是摘要不是全部上下文这也是保护主对话上下文空间的设计。主对话拿到所有子代理的结果后综合判断、给你最终回复。三、实践怎么触发 Agent 好消息是你不需要学任何特殊命令。用自然语言描述任务Claude 会自动判断是否需要启动子代理。3.1 场景一让 Claude 自己决定 最简单的方式像平时一样提需求但把多个任务放在同一条消息里帮我搜索项目中所有使用了 deprecated API 的地方同时检查 README 是否需要更新 Claude 看到同时和两个独立任务会自动启动 Explore agent 搜索代码同时分析 README 的内容。你不需要手动指定用哪种子代理Claude 会根据任务性质自行选择。3.2 场景二明确要求并行 如果任务更多可以显式列出并要求并行并行做这三件事 1. 搜索所有 TODO 注释 2. 检查测试覆盖率 3. 分析依赖是否有安全漏洞 关键词并行会让 Claude 更倾向于启动多个子代理。但即使不写这个词只要任务之间相互独立Claude 也可能自动并行处理。3.3 前台 vs 后台 子代理还有前台和后台之分这直接影响你的工作流前台子代理 会阻塞主对话。你能看到它的执行过程也能在它需要权限时交互式确认比如是否允许执行 npm install。适合你想监控进度的场景。后台子代理不阻塞主对话。它在后台默默工作你可以继续和 Claude 聊其他事情。但因为无法交互确认后台子代理需要预先授权工具权限。如果运行过程中遇到未授权的工具调用它会自动跳过而不是暂停等待。 一个实用的经验对于搜索类任务Explore agent放后台没问题因为它只用只读工具对于修改类任务General-purpose agent建议放前台这样遇到需要确认的操作时你可以及时响应。四、一个实际的例子 把上面的知识串起来看一个完整的使用场景我要做一次代码清理。请同时做这几件事 1. 搜索所有标记为 deprecated 的函数列出来 2. 检查 package.json 里有没有不再使用的依赖 3. 在独立的 worktree 里把所有 var 声明改成 const/letClaude 收到这条消息后会这样调度启动一个Explore agent后台快速搜索deprecated标记启动一个Plan agent后台分析 package.json 的依赖使用情况启动一个General-purpose agent前台带 worktree在独立副本中执行 var → const/let 的批量修改 三个子代理同时工作。前两个很快返回搜索和分析结果第三个在 worktree 里改代码、跑测试确认没问题后报告完成。主对话汇总三个结果给你一份完整的报告deprecated 函数列表、无用依赖建议、以及 var 替换的改动摘要和 worktree 分支名。你满意的话merge 分支即可。整个过程你只发了一条消息。五、总结记住这几点就够了QA 模式 vs Agent 模式的核心区别串行 vs 并行被动回答 vs 主动执行。不是说 QA 模式不好简单任务用 QA 模式更直接。但当任务可以拆分、可以并行时Agent 模式能帮你省下大量等待时间。三种子代理各有分工不需要全用。Explore 负责快速搜索Plan 负责分析规划General-purpose 负责实际修改。大多数场景下 Claude 会自动选择合适的类型你不需要手动指定。触发方式就是自然语言。把多个任务写在一条消息里加上同时、并行这样的提示词Claude 就会自动调度子代理。不需要记任何特殊语法。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2440837.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!