小岛AIAI 航行日志

小岛 / 岛刊社 / 文章

多 Agent 写代码,Amp 想替你管掉最烦的派活

小岛AI

Amp Spaces 让一个主 Agent 自己拆任务、开线程和收结果。它省下的是手工调度,不是验收责任;文末有一份可直接粘贴的目标与验收模板。

Agent 工程AI 编程

多 Agent 写代码,最先爆掉的经常不是模型额度,是人的注意力。

一个线程在查仓库,另一个在改接口,第三个跑测试。你本来只想推进一个功能,后来却开始给线程起名、补上下文、催进度、翻聊天记录,最后还得把几份“已完成”拼成一个能合的 PR。Agent 多了,人反而成了项目里唯一的调度器。

Amp 在 11 月 6 日发布的 Spaces,想接手的正是这层活:你面对的是一个协调 Agent,它自己创建和编排其他线程;线程以实时卡片回到同一个工作空间。听上去像又多了一个多 Agent 功能,真正值得问的是:派活可以交出去,验收要留在谁手里?

这篇不是实测报告。产品事实来自 Amp 官方公告 和 Spaces 文档。官方展示的是内部用法,不是所有团队都会复现的速度、成本或成功率。

Amp 官方的共享 Space:团队消息、线程状态与 Agent 处理结果放在一个工作区

图:Amp 官方公告中的 Spaces v1 工作区。人可以在同一处看线程状态,再钻进具体线程核对产出。

它把人从“开线程”挪到了“定目标”

创建一个 Space 时,要填名称、可选目标、关联项目和共享范围。之后团队成员可以在同一聊天里丢需求、缺陷或想法;协调 Agent 判断是否要开线程,并把线程状态放成实时卡片。人仍能点进任一线程看代码、继续追问、试运行,再决定是否交付。

这和在终端里手动开几个子任务的区别,不是“并行数更多”。区别是工作关系被留下来了:这个线程为哪个目标而开,谁还能看它,它最后是合并、归档,还是还卡着,都有共同入口。

官方文档把进度分成已交付、已归档、进行中。默认分支已有提交、PR 合并或被 Ship 归档,才算已交付;没有代码产物的调研或业务工作,可以归档而不再占着进行中。这个分类比聊天里一句“搞定了”靠谱得多。

很多团队现在缺的不是第六个 Agent,而是一份不会把“看过”“改过”“已上线”混在一起的账本。

16 个线程,不等于 16 份责任

Amp 给了一个很容易被做成海报的案例:一次安全审查被拆成 16 个代码区域,各在线程里检查;每项发现再由另一轮检查,摘要留在 Space 里供人追踪。官方称,经监督的首轮运行提交了 14 个问题。

这里的“官方称”要保留。它证明的是 Amp 可以怎样组织一次审查,不证明你的仓库也会多找 14 个问题,更不证明并行线程天然更安全。

真正值得学的,是它把一条常被藏在聊天记录里的链条摊开了:谁拆分、谁复核、谁决定一个发现值得进入待办。 多 Agent 很容易把前两件做得很热闹,最容易被跳过的是第三件。

假如一个线程说“这里有越权风险”,另一个说“误报”,协调 Agent 最多能整理证据;要不要阻断发布,仍然需要预先指定的人和规则。第一次把调度交给 Agent 时,别只给它一句“把这个功能做完”。给它一张能被人复核的任务契约:

目标:账单页导出当前筛选结果的 CSV。

可自行拆分:接口查询、导出任务。
可自行拆分:前端入口、自动化测试。

必须提请确认:权限口径、异步失败提示。
必须提请确认:是否保留导出记录。

每个线程交付:改动文件、测试结果。
每个线程交付:未解决假设、回滚方式。
完成条件:PR、通过的测试、人工验收结论。

这不是给 Agent 加文书负担。它是在把原本散在负责人脑子里的边界,提前写成协调层看得见的条件。

也别把“汇总”误会成把线程回复拼成一篇长摘要。好的汇总要能让你倒查:哪条结论来自哪个 diff,哪个测试尚未跑,哪个假设等待业务确认。没有这层可追溯性,协调 Agent 只是更会说话的通知机器人;它替你减少了窗口,却没有减少不确定性。

Amp 官方的安全审查 Space:任务被分区检查,并把可追踪摘要留在空间中

图:Amp 官方公告中的安全审查案例。16 个区域和 14 个问题是其内部受监督运行的描述,不是通用效果承诺。

先测“少派活”,别急着测“多并发”

适合试 Spaces 的,不是任何复杂需求,而是同时满足三件事的工作:目标可以说清,子任务有一部分能独立推进,收尾能拿出可验证的证据。

  • 跨模块功能:有人查数据口径,有人改接口,有人补测试,但权限和验收口径留给负责人拍板。
  • 有明确范围的代码审查:按目录或风险面拆开,再用独立线程复核高风险发现。
  • 上线后的短周期跟进:把反馈、缺陷和日志线索汇回同一个目标,但由人工决定哪些问题升级、哪些可以关闭。

反过来,如果需求本身还说不清、所有改动都会落在同两三个文件、团队没有人能读懂最终 diff,先别用更多并行来盖住问题。那只会把一团模糊的需求切成更多团模糊的上下文。

Amp 的权限限制也值得照着学:共享 Space 只能在工作区共享的运行环境上启动线程,不能跑在某个人的私有 runner;关联 Slack 后,只有明确 @Amp 的请求会送进去,普通评论不会自动触发它。协作能力扩大之前,谁能唤醒 Agent、谁能看到线程、谁能动生产环境,得先说清。

如果你准备试,不妨从一个本来就会让人反复切窗口的任务开始,把并发数压低。先看协调 Agent 能否稳定回答四个问题:它为什么这样拆?每个线程靠什么算完成?哪个决定要人确认?汇总有没有把风险和未决项藏掉?

能替你省下的,是线程编排和状态追问;不能替你背走的,是范围、权限和上线后的后果。你会愿意先把哪一种任务交给协调 Agent:跨模块开发、代码审查,还是上线后的问题收口?

—— 小岛AI