计划审批不是你在审
Claude Code 的 agent teams(实验功能,需要环境变量 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1)可以让一个 lead 会话拆任务,交给多个 teammate 并行做。很多人以为 teammate 先出计划、再由「我」审批,等于多了一道人工关口。
@madaearly 引用官方文档提醒:teammate 的计划会被自动批准,没有人读。
官方 agent teams 文档 原文是:teammate 规划完成后,会向 lead 发送计划审批请求,Claude Code 在 lead 会话中一收到请求就批准,lead 不会审阅;批准后 teammate 退出 plan mode 开始实现。文档在权限一节也说,计划审批是「设计上的例外」——lead 会话直接授予,不会另外弹提示给你。
仍然有人把关的部分
同一份文档也写明:teammate 的编辑和命令仍要经过权限提示,这些提示会出现在 lead 会话里,由你批准。也就是说:
- 计划层面:没人审;
- 执行层面:仍受你的权限规则(deny / ask / allow)和权限模式约束。
所以如果你给团队用了宽松的 allow 规则,或者让会话跑在自动放行程度很高的模式下,「计划被自动批准」就意味着从想法到动手之间几乎没有人工环节。
用 hook 设一道真正的门槛
@madaearly 的建议是:别把计划审批当关口,把关交给 hook。官方文档列出两个与团队相关的 hook:
- TaskCompleted:任务被标记完成时触发,以 exit 2 退出就阻止完成并把反馈发回去;
- TeammateIdle:teammate 即将空闲时触发,以 exit 2 退出就让它继续干活。
可执行做法:
- 在 TaskCompleted 里跑测试套件,失败就
exit 2,「完成」才真的意味着测试通过; - 记得 hook 只有 exit 2(或明确的阻断 JSON)才会拦截,脚本自身崩溃默认不拦,政策类 hook 可以考虑
onFailure: "block"; - 对推送、部署这类不可逆操作保留 ask 规则,由你在 lead 会话里亲自点;
- 团队模式按队友数量消耗 token,先从少量队友试起,观察额度。
如果你想把 Claude Code 放在一台常开、整机独享的新加坡 Mac mini 上长期运行,可以了解 Zumac.Ai,咨询 Telegram @singatao。
