Claude Code新增了一项名为Projects的测试版功能:只需把一个大型开发目标交给Claude,它就能并行推进工作。协调者(负责规划和分派工作的Claude)会把目标拆分为多个任务,并为每个任务单独启动一个线程。每个线程都是独立的Claude Code会话,在云端各自的Git分支上运行。这项功能的目的,是省去大型工作过去所需的手动协调,包括配置子智能体、同时开着多个终端会话,以及手动管理worktree。Projects正在面向Pro和Max订阅用户逐步开放。
与普通会话有何不同
Projects由三个部分组成:
| 组成部分 | 作用 |
|---|---|
| Project | 作为工作空间、持续进行的一个对话 |
| 协调者 | 在对话中把目标拆分为任务,并分派所有任务 |
| 线程 | 负责一个任务的独立Claude Code会话,在云端自己的Git分支上运行 |
最大的变化在于,过去需要人借助多个终端会话、子智能体和worktree手动完成的编排工作,现在由协调者接手。
由于线程在云端运行,合上笔记本电脑后它们仍会继续工作,用户也可以在手机上查看进度。如果某个任务需要只有本地电脑才有的工具,例如Chrome DevTools,可以只把这一个线程拉到本地机器上继续。
这项功能适合跨越多个会话或多个代码仓库的目标。两个例子:从一个分布在多个代码仓库中的应用里移除已停止维护的软件包;或者修改一个API端点,同时更新后端、Web前端和移动应用。

▲ 协调者向线程分派工作
创建项目
在桌面端或网页端打开Claude标签页,选择“New project”。设置界面需要填写三项内容:名称、目标,以及项目可以操作的代码仓库或文件夹。
以一个性能下滑的网站为例:
- 名称: Site Performance
- 目标: 在移动端和桌面端都把p75 LCP降到2.5秒以下、CLS降到0.1以下
- 代码仓库: 营销网站和API
LCP(Largest Contentful Paint)衡量页面主要内容显示出来所需的时间,CLS(Cumulative Layout Shift)衡量页面加载时布局跳动的程度。两者都属于衡量页面体验的指标集Core Web Vitals。“p75”指75%的访问能达到该数值。把目标写成可衡量的数值,Claude就有了明确的完成标准。
项目创建后会进入主对话,协调者会打招呼并建议下一步操作。
从问题报告到8个并行线程
在这个例子中,发给协调者的请求直接描述了症状:营销网站的Core Web Vitals已连续一个月下滑,移动端p75 LCP达到4.1秒,CLS达到0.28,用户不断反映页面跳转很慢。请求最后只有一句“调查并修复”。
Claude检查了两个代码库,追踪瓶颈,然后给出了一份按优先级排序的计划:
- 客户端页面跳转
- 未经优化的图片
- 页面内容缓存
- 脚本延迟加载
- 网页字体预加载
- 拆分JavaScript包
- 为横幅预留空间
- 压缩静态资源
开发者批准计划后,Claude一次启动了8个工作线程,每个线程负责一项修复。每个线程都以卡片形式显示,上面有实时计时和对应的Git分支名称。
指挥线程
线程可以完全自主运行,但用户始终能看到全部情况并加以控制。
- 查看: 点击任意线程卡片,即可看到Claude的实时终端输出、正在修改的代码以及当前步骤。
- 调整: 直接在线程中输入指令,可以调整其优先级,或立即停止。在这个例子中,图片优化线程收到的指令是把首屏主图保留为优先加载图片。
- 解除阻塞: Threads侧边栏会显示哪些工作线程正在运行,哪些因等待用户输入而被阻塞。
线程完成任务后,会自动在GitHub上创建拉取请求,或在发布前先征求用户同意。在这个例子中,修复内容包括为34个图片标签明确指定宽度和高度。之后,线程会继续跟踪自己创建的拉取请求:监控持续集成(CI,即每次变更都会自动运行的构建和测试)检查,修复失败的测试,并回应审阅者的意见。协调者的动态会汇总所有拉取请求的状态,已批准的变更可以直接在对话中合并。
示例项目的最终结果如下:
| 指标 | 修复前 | 目标 | 修复后 |
|---|---|---|---|
| 移动端p75 LCP | 4.1秒 | 2.5秒以下 | 2.2秒 |
| 桌面端p75 LCP | 未说明 | 2.5秒以下 | 1.4秒 |
| CLS | 0.28 | 0.1以下 | 0.08 |

▲ 修复后的性能指标
Library:所有线程共享的产出物
Projects设有Library标签页,用来存放Claude生成的文档等产出物。在这个例子中,Claude被要求撰写一份复盘报告,总结已解决的问题以及修复前后的数据。它生成了一份报告,其中的柱状图对比了移动端LCP、桌面端LCP和CLS。
Library相当于项目长期使用的共享文件夹。除了生成的文档,还可以存放上传的设计稿和技术规格。当前和今后的所有线程都能读取并更新其中的内容,因此后续任务可以从前面任务积累的上下文开始。
用连接器和例行任务持续检查
连接器可以把项目接入外部开发和监控工具。在Environment设置中启用Sentry连接器后,Claude就能直接查询真实用户的遥测数据和错误日志。
例行任务用于添加按计划重复执行的工作。示例只用一条指令就完成了设置:每天下午5点从Sentry拉取营销网站的Core Web Vitals和错误日志,如有指标退化,就调查并修复。当每日检查发现性能退化时,Claude会启动一个专门的调查线程,并创建一个包含修复方案、可供审阅的草稿拉取请求。这样,事后排查就变成了在后台运行的主动检查。
控制用量和成本
每个线程都是一个完整的Claude Code会话,因此并行运行多个线程时,消耗套餐用量上限的速度远快于单个对话。Claude Code团队的建议可以归结为以下几项设置:
| 设置 | 建议 | 原因 |
|---|---|---|
| 协调者的effort | Low | 它的职责是分派和规划,不需要深度推理 |
| 线程默认模型 | Sonnet 5.5 | 足以应对范围明确的任务 |
| 困难线程 | Opus 5.5 | 更大的模型只留给复杂工作 |
| 行为规则 | 限制并发线程数,编码前先提交大纲 | 防止线程意外地一下子增多 |
模型和effort级别可以在General设置中分别为协调者和线程设定,也可以选择更轻量的Haiku 4.5。把协调者调到Low以上,似乎很少能明显改善协调效果,主要只会增加token成本。线程数上限之类的规则写在与协调者的对话中即可,示例把并发数限制在5个线程。
需要全局适用的规范,可以放进项目记忆。设置中的MEMORY.md文件用来保存编码规范和偏好,当前和今后的所有线程都会继承。该字段最多可输入16,000个字符。
上手步骤
与一条提示词就能完成的小任务相比,Projects在跨代码仓库、需要多个步骤的目标上似乎更能发挥作用。第一次使用时,可以按以下步骤进行:
- 选一个跨越多个代码仓库或会话的目标,并写成可衡量的数值。
- 连接所有相关代码仓库,先审阅协调者的计划再批准。
- 把协调者的effort设为Low,把线程默认模型设为Sonnet 5.5,并设定并发线程数上限。
- 把团队的编码规范写进MEMORY.md,让所有线程都遵守。
- 如果需要反复执行同一项检查,就用连接器和例行任务实现自动化。
Projects仍处于测试阶段,功能和界面可能会变化。线程越多,用量消耗越快,因此在交给它更大的目标之前,最好先从一个小而明确的目标开始。