6月30日消息,Anthropic 旗下终端编程工具 Claude Code 已将子代理的默认执行模式从同步切换为异步。这一变更意味着当子代理在后台执行代码测试、重构或 PR 审查等任务时,用户与主代理之间的对话可以不间断地继续。Claude Code 创建者兼负责人鲍里斯·切尔尼(Boris Cherny)此前在访谈中多次谈及并行代理工作流的设计思路,这次默认行为的调整将他所推崇的多线程开发模式从高级技巧变成了开箱即用的标准体验。 目前仍需关注的是,异步子代理在遇到需要用户授权的操作时会自动拒绝而非暂停等待,这对权限模型的设计提出了更高要求。
从阻塞到并行:默认行为的改变
此前版本中,Claude Code 的子代理在执行期间会阻塞主对话。用户必须等待子代理完成或手动将其切换至后台。新版本的改变很直接:无论是内置的 Explore、Plan 子代理,还是用户自定义的子代理,以及新增的 Fork(会话分叉)功能,所有子代理一经启动即进入后台执行。用户如需恢复旧行为,可设置环境变量CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1。
这不是一个需要学习的新功能,而是取消了一个此前存在的摩擦点。对于只运行单任务的用户影响有限,但对于同时管理多个子代理的高级用户,这等于去掉了人工调度的负担。
切尔尼的工作流为什么值得参考
切尔尼在 Pragmatic Engineer 的访谈中描述了自己的日常:同时开启五个终端标签页(各自独立 checkout),先用 plan 模式迭代方案,确认后让代理一次性完成实现,每天提交 20 至 30 个 PR。这种并行模式的前提正是子代理不阻塞主线程。他将这套方法概括为"一旦有了好的计划,代理几乎每次都能一次完成实现"。
Claude Code 于 2025 年 2 月随 Claude 3.7 Sonnet 一同发布,最初是切尔尼在 2024 年 9 月加入 Anthropic 后几天内写出的终端原型。一年多以来,它已从内部工具演变为支持代码库管理、Git 操作、IDE 集成和多代理编排的完整开发环境。
异步带来的权限取舍
默认异步并非没有代价。后台子代理继承当前会话已授予的权限,但当它遇到未授权的工具调用时,不会暂停并弹出授权提示,而是直接拒绝该调用并继续执行后续任务。这意味着如果一个后台子代理的任务涉及敏感操作(如文件删除或 Git force push),它会静默跳过而非提醒用户。
官方文档建议的应对方式是:当后台子代理因权限不足而失败时,用户可以启动一个前台子代理执行相同任务,以交互方式逐一授权。这种设计的逻辑是"宁可跳过也不让后台任务阻塞前台",但它要求用户对子代理的权限范围有清晰预期。
开发者工作流正在从"对话"转向"调度"
这次改动的行业意义不在于单一功能的强弱,而在于它反映了 AI 编程工具的交互范式转移。当子代理默认不阻塞主线程,用户的角色从"逐步指导者"变成"任务调度者"——分配任务、审查结果、处理异常,而非实时监控每一步执行。这与传统 IDE 插件式 Copilot 的"补全建议"模式有本质区别。 切尔尼等高级用户已经在此基础上构建循环(loop)——让代理自动处理重复性任务序列。这种模式的效率收益显而易见,但也引入了失控风险:一个设计不当的循环可能反复执行无效操作并消耗大量 Token。目前 Claude Code 提供了maxTurns 参数来限制子代理最大回合数,作为防止无限循环的基础保障。
接下来要看的是生态工具链的跟进速度
异步子代理默认化之后,真正的瓶颈可能不在 Claude Code 自身,而在上下游工具链是否能支撑这种并行密度。五个并行代理意味着五倍的 Git 操作、五倍的测试运行、五倍的 CI 负载。对于个人开发者这是可控的,但对于团队级别的部署,代码仓库的锁机制、CI 队列的吞吐能力和 Token 成本的可预测性都将成为新的约束变量。Anthropic 是否会在 Claude Code 层面提供资源调度和成本控制的原生方案,是接下来值得关注的方向。