# Claude Code 多代理、后台与 Workflows

> Claude Code: Agent View、background sessions、/background、/batch、/fork、/goal、/loop、dynamic workflows、agent teams 和多代理缓存/成本边界。

URL: https://docs.passion8.cc/docs/claude-code/parallel-agents
Language: zh-CN
Publisher: Passion8

Claude Code 现在有多种“并行推进”方式。不要把它们混成一个概念:

| 方式 | 运行对象 | 适合 |
| --- | --- | --- |
| Subagent | 当前会话里的一次专门委派 | 调研、review、隔离上下文 |
| Background session | 一个完整 Claude Code session 放到后台 | 长任务继续跑,终端释放 |
| Agent View | 管理多个 background sessions | 一屏看多个任务进度 |
| `/batch` | bundled skill,拆成多个 worktree/subagent | 大迁移、大规模重复改动 |
| Dynamic workflows | Claude 写脚本编排许多 subagents | 审计、迁移、研究、循环修复 |
| Agent teams | 多个命名 teammate agents | 复杂协作和持续团队化任务 |

Agent Teams、Channels 和 permission relay 的详细配置见 [Agent Teams 与 Channels](https://docs.passion8.cc/docs/claude-code/agent-teams-channels)。Advisor、Agent View、`/goal`、dynamic workflows、Routines、Ultraplan 和 Ultrareview 的横向选择见 [高级工作流与云端协作](https://docs.passion8.cc/docs/claude-code/advanced-workflows-cloud)。

## Background Session

把当前会话转后台:

```text
/background
/bg 继续跑测试,失败就修到通过
```

从 shell 管理:

```bash
claude agents
claude agents --json
claude attach <id>
claude logs <id>
claude stop <id>
claude respawn <id>
claude rm <id>
```

缓存边界:

| 动作 | 影响 |
| --- | --- |
| `/background` | 同一个 session 继续,旧前缀仍可按 TTL 命中 |
| `claude attach` | 附加后继续该 session 历史 |
| `claude respawn` | conversation 保留,但升级/进程环境变化可能导致下一轮重建 |
| `claude stop` | 停止后不继续刷新 TTL |

## Agent View

`claude agents` 打开 Agent View,可以查看多个后台 session:

| 能力 | 说明 |
| --- | --- |
| Monitor | 看每个 session 当前状态、是否需要输入 |
| Peek and reply | 不完全 attach 也能发一句 |
| Attach | 进入某个后台 session |
| Dispatch | 从 Agent View 新派发任务 |
| Filter | 按目录、状态、PR 等过滤 |
| Shell JSON | `claude agents --json` 用于脚本化 |

背景 session 的文件改动通常通过 git worktree 隔离。`.claude/worktrees/` 变大时需要清理已完成任务。

## `/fork` 与 `/branch`

| 命令 | 作用 | 什么时候用 |
| --- | --- | --- |
| `/branch [name]` | 当前 conversation 复制一条分支并切过去 | 你想亲自试另一条路线 |
| `/fork` | 把当前上下文交给后台子任务 | 想让旁路任务自己跑 |

两者都继承已有前缀。TTL 内通常比重新开会话更容易命中缓存。

## `/batch`

`/batch <instruction>` 是官方 bundled skill,会:

1. 研究代码库。
2. 把任务拆成 5 到 30 个相对独立单元。
3. 展示计划让你批准。
4. 为每个单元创建隔离 worktree 和后台 subagent。
5. 每个 subagent 实现、测试,最后通常开 PR 或留下结果。

适合:

| 任务 | 例子 |
| --- | --- |
| 大迁移 | `/batch migrate src from Redux to Zustand` |
| 重复模式修复 | `/batch replace deprecated API usage across packages` |
| 大范围测试补齐 | `/batch add missing tests for service modules` |
| 并行 review | `/batch audit every package for unsafe env access` |

不适合:

| 情况 | 原因 |
| --- | --- |
| 需求很模糊 | 会拆出错误单元 |
| 改动强耦合 | 多 worktree 容易冲突 |
| 没有测试或验证口径 | 很难收敛 |
| 你要严格逐步确认 | 后台并行不透明 |

## Dynamic Workflows

Dynamic workflow 是 Claude 生成并运行一个编排脚本,脚本再调很多 subagents。它适合“重复、可拆、要汇总”的工作。

常见提示:

```text
用 workflow 审计所有 content/docs 页面,找出英文 UI 文案和坏链接,最后给我一个汇总。
```

```text
用 workflow 迁移每个 package 的 ESLint 配置,每个 package 一个 subagent,最后统一跑测试。
```

workflow 与 `/batch` 的差异:

| 项目 | `/batch` | Dynamic workflow |
| --- | --- | --- |
| 定位 | 大规模代码改动 skill | 通用编排机制 |
| 单元 | 5 到 30 个 worktree/subagent | 由脚本决定 |
| 复用 | 任务型 | 可保存脚本复用 |
| 观察 | 通过后台 session / progress | `/workflows` 查看 |

## `/goal`

`/goal` 设置一个完成条件,让 Claude 持续工作直到目标满足或真的阻塞。

```text
/goal 完成 docs 站迁移: 所有新增页面构建通过,无裸露 :::,新路由 200,移动端无横向溢出。
```

好 goal 的特点:

| 好 | 差 |
| --- | --- |
| 有可验证条件 | “把它做好” |
| 包含测试或检查命令 | “尽量完善” |
| 允许 Claude 自主推进 | 每一步都等人工确认 |
| 明确什么算阻塞 | 遇到小错误就停 |

缓存上,`/goal` 本身只是会话状态。后续每轮普通追加消息,会不断刷新 TTL。若中途 `/compact` 或切模型,仍按对应规则处理。

## `/loop` 与 scheduled tasks

| 命令 | 用途 | 缓存建议 |
| --- | --- | --- |
| `/loop` | 当前 session 周期性检查 | 间隔短于 TTL 最省 |
| `/schedule` | 设一次性或周期性任务 | 间隔长时 1h TTL 更稳 |
| Routines | 云端托管自动化 | 独立云端缓存 |

长间隔巡检不要期待 5m TTL 一直热。把 prompt 写短、把项目规则放 CLAUDE.md、把结果输出约束清楚更重要。完整策略见 [Routines 与 /loop 调度](https://docs.passion8.cc/docs/claude-code/routines-scheduling)。

## 成本与缓存边界

| 对象 | 缓存关系 |
| --- | --- |
| 主会话 | 自己的 system prompt、项目上下文、conversation |
| Subagent | 独立 conversation,官方说明多为 5m TTL |
| Background session | 一个完整 session,有自己的历史和 TTL |
| Worktree | 工作目录不同,system prompt 里的路径不同,通常不共享主目录前缀 |
| Web/cloud session | 云端环境独立,不共享本地 Passion8 缓存 |
| Advisor | 开关不破坏主缓存,advisor 自己的调用不复用 |

## 操作建议

1. 小范围任务先用主会话,不要过早开并行。
2. 调研类任务用 subagent,避免主上下文被大量文件撑爆。
3. 大迁移用 `/batch` 或 workflow,但先让 Claude 产出拆分计划。
4. 多个后台 session 必须靠 git worktree 和测试口径收敛。
5. 每个后台任务都要有“完成后跑什么命令”的要求。
6. 不要让多个 agent 改同一文件区域,冲突成本会吞掉并行收益。

## 官方参考

- [Run agents in parallel](https://code.claude.com/docs/en/agents.md)
- [Agent View](https://code.claude.com/docs/en/agent-view.md)
- [Dynamic workflows](https://code.claude.com/docs/en/workflows.md)
- [Subagents](https://code.claude.com/docs/en/sub-agents.md)
- [Worktrees](https://code.claude.com/docs/en/worktrees.md)
- [Agent teams](https://code.claude.com/docs/en/agent-teams.md)
- [Channels](https://code.claude.com/docs/en/channels.md)
- [Goal](https://code.claude.com/docs/en/goal.md)
- [Scheduled tasks](https://code.claude.com/docs/en/scheduled-tasks.md)
