Claude Code 斜杠命令(六):并行工作与后台 Agent

系列目录

  1. (一)快速入门——最常用的基础命令
  2. (二)对话管理——让你的会话有条不紊
  3. (三)上下文管理——不让 Token 成为瓶颈
  4. (四)代码审查三剑客
  5. (五)模型与推理控制
  6. (六)并行工作与后台 Agent(本文)
  7. (七)项目配置与权限管理
  8. (八)研究、规划与 CI/CD 集成

# 并行工作与后台 Agent ## 后台挂起 - /background /bg 当前会话推入后台 - 开新会话继续其他工作 ## 分叉子任务 - /fork 分叉子 Agent 处理旁线 - 主线上下文保持不变 ## 大规模并行 - /batch 分解任务到多个 worktree - 自动创建 PR - 适合无依赖的批量操作 ## 监控管理 - /tasks /bashes 查看所有后台任务 - 查看状态/日志/终止任务 ## 持续执行 - /loop 固定间隔重复执行 - /goal 持续执行直到目标达成 ## Agent 预设 - /agents 配置预设 Agent 角色 - 编码最佳实践供复用

如果你只把 Claude Code 当成一个"更聪明的命令行助手",那你还没用到它真正的上限。并行 Agent 才是 Claude Code 的杀手级功能:你负责方向和决策,多个 AI Agent 同时推进不同任务,互不阻塞。这不是未来,今天就可以用。

核心概念一览

在深入之前,先区分三个容易混淆的命令:

命令 作用 适用场景
/background/bg 当前会话挂到后台继续执行 当前任务耗时长,你想切出去干别的
/fork 从当前会话分叉出一个子 Agent 旁线小任务,不想污染主线上下文
/batch 把一个大任务分解并分配到多个并行 worktree 大规模重构、批量文件处理、多模块同步升级

三者的核心差异:/background 是"我先去忙别的",/fork 是"派个助手去做这件事",/batch 是"召集一支团队同时干活"。


/background 和 /fork:一前一后的两种分身

/background

执行 /bg 后,当前会话会被推入后台继续运行。你可以立即开启新会话处理其他工作,不必等待结果。

典型场景:你正在让 Claude 跑一次全量测试并整理覆盖率报告,这可能要好几分钟。与其盯着进度条,不如:

/bg

然后开新会话继续写代码。用 /tasks 查看进度,完成后再回来看结果。

/fork

/fork/bg 更精准——它保留当前主线上下文不变,另起一个子 Agent 去处理你指定的旁线任务。

典型场景:你正在主会话里实现一个新的支付模块,突然想起需要为已有的用户服务补充单元测试。你不想打断主线节奏,也不想把"写测试"的上下文污染进来:

/fork 为 UserService 补充单元测试,覆盖注册、登录、密码重置三个方法,测试文件放在 tests/unit/

子 Agent 独立执行,主线继续。结果写入文件系统,你随时可以 review。


/batch:召集团队,并行攻坚

/batch 是并行能力的集大成者。它会自动将任务拆解,在多个独立的 Git worktree 中同步执行,最后可以自动开 PR。

适合什么任务

  • 大规模重构:把项目里所有 var 改成 const/let,或者全面迁移到新的 API 风格
  • 批量文件处理:为几十个模块逐一添加 JSDoc 注释
  • 多模块同步升级:同时升级 5 个微服务的依赖版本并修复兼容性问题
  • 多语言翻译:把文档同步翻译成多种语言

使用方式

/batch 把 src/components/ 下所有组件的 PropTypes 校验迁移到 TypeScript 类型定义,每个组件独立处理

Claude Code 会:

  1. 分析任务,确定可并行的子任务边界
  2. 为每个子任务创建独立的 Git worktree
  3. 各自执行,互不干扰
  4. 完成后汇总,可选择自动创建 PR
flowchart LR A[大任务] --> B[拆子任务] B --> C[各 worktree 并行] C --> D[汇总 / PR]

自动开 PR 机制

每个 worktree 完成后,Claude Code 可以用 gh pr create 自动开一个独立 PR,让你逐一 review。这比一个巨型 PR 更容易审查,也更容易回滚单个失败的部分。

注意事项

使用 /batch 前,务必确认任务边界是否清晰。 如果子任务之间存在隐性依赖(比如 A 模块的改动会影响 B 模块的接口),并行执行会产生冲突,合并时一团乱麻。遇到这种情况,先用 /fork 串行处理依赖链,再用 /batch 处理真正独立的部分。


/tasks:后台工作的控制中心

当后台有多个 Agent 在跑,你需要一个统一的监控视图。/tasks(别名 /bashes)就是这个控制台:

/tasks

它会列出所有正在运行或已完成的后台任务,包括:

  • 任务描述和启动时间
  • 当前状态(运行中 / 已完成 / 失败)
  • 最近输出的摘要

你可以点进具体任务查看详细日志,也可以手动终止某个卡住的任务。

习惯用法:每隔一段时间瞄一眼 /tasks,就像看多个浏览器标签页的加载状态。哪个完成了,去处理结果;哪个异常了,进去看日志。


/loop 和 /goal:持续执行的两种姿势

/loop

/loop 让 Claude 以固定间隔或自定 pace 重复执行某个操作。

场景:你在等一个外部 API 的数据就绪,想每隔 5 分钟自动检查一次:

/loop 5m 检查 https://api.example.com/status 是否返回 ready,是则通知我

也可以用于开发过程中的持续监控:每隔 2 分钟跑一次 lint 并汇报新增的 warning。

/goal

/goal/loop 更智能——它不是机械地重复,而是持续尝试直到达成一个明确目标。

场景:你想让 Claude 持续修复测试,直到所有测试都通过:

/goal 运行测试套件,分析失败原因并修复,直到 npm test 全部通过

Claude 会自主循环:跑测试 → 看报错 → 修代码 → 再跑测试,直到目标达成或判断无法继续推进为止。/goal 适合有明确终止条件的任务,避免无限循环消耗资源。

stateDiagram-v2 [*] --> 跑测试 跑测试 --> 看报错: 有失败 看报错 --> 修代码 修代码 --> 跑测试 跑测试 --> [*]: 全部通过

/agents:预设你的 Agent 团队

/agents 让你配置预设的 Agent 角色,类似于给团队成员分配职责。

/agents

在配置界面,你可以定义:

  • Agent 名称:如 test-writerdoc-botsecurity-reviewer
  • 系统提示:这个 Agent 专注于什么、遵循什么规范
  • 默认工具权限:允许它访问哪些文件、执行哪些命令

配置好之后,你可以在 /fork/batch 中直接引用这些预设 Agent,而不需要每次重新说明背景和规则。这在团队协作中尤为有价值——把最佳实践编码进 Agent 配置,新成员直接复用。


典型工作流

下面是一个真实场景的工作流示意:你在主线开发新功能,同时让后台 Agent 并行推进其他工作。

graph LR A[主线开发\n新功能] --> B[/fork 写测试\n/bg 跑构建] B --> C[/tasks 监控\n任务状态] C --> D[汇总结果\n合并 PR]

主线永远不阻塞,每个分支任务独立推进,最终在 /tasks 统一收口。


常见误区和风险提示

1. /batch 前没有确认任务边界

这是最常见的坑。并行 worktree 各自修改文件,如果两个任务都改了同一个配置文件或公共模块,合并时会产生冲突。使用 /batch 前,明确告诉 Claude 每个子任务的文件范围,或者让它先列出计划再执行。

2. /goal 缺少终止条件导致无限循环

/goal 很强大,但如果目标描述模糊(比如"持续优化代码质量"),它可能永远找不到停止的理由。始终给 /goal 一个可验证的终止条件,比如"直到 test coverage 达到 80%"或"直到 lint 零报错"。

3. 忘记用 /tasks 监控,任务悄悄失败

后台 Agent 失败不会主动打断你。如果你启动了 /bg/fork 之后就完全忘记它,等回来发现任务早就失败了,日志也可能已经滚走一部分。养成定期看 /tasks 的习惯,或者用 /loop 配置一个自动检查后台任务状态的监控。


并行 Agent 是 Claude Code 从"工具"升级为"协作者"的关键一步。掌握这些命令,你的工作节奏会发生质的变化:不再等待 AI 完成一件事再做下一件,而是像一个技术 lead 一样,把任务分发出去,自己专注在最需要判断力的地方。

下一篇我们进入项目配置与权限管理,看看如何通过 /config 和权限系统让 Claude Code 更安全、更贴合你的项目规范。

实操清单

  • 在耗时任务中尝试 /bg 推入后台,开新会话继续工作
  • 使用 /fork 在主线开发时分叉子 Agent 处理旁线任务(如补充测试)
  • 识别项目中适合 /batch 的批量任务(无跨文件依赖的改动)
  • 使用 /batch 前明确告知每个子任务的文件范围
  • 执行 /tasks 查看所有后台任务状态
  • 尝试 /goal 实现"持续修复直到测试全部通过"的自动化循环
  • /agents 中配置常用 Agent 角色(如 test-writer、security-reviewer)