之前我分享过两个非常火的 Claude Code 技能(skills)以及我的使用方式:YC CEO @garrytan 的 gstack(一个人模拟整支团队:CEO 评审(review)、架构评审(review)、浏览器 QA、周报统计),以及 Jesse Vincent 的 Superpowers(标准化的 brainstorm → plan → execute → review 流程,120k stars,几乎已经是 Claude Code 的标配)。

但这周,我正在用 Compound Engineering(CE)替代 Superpowers。也推荐你试试看。

为什么我认为 CE 比 120k stars 的 Superpowers 更好用?我们可以借助 Anthropic 官方博客提出的 harness 架构来理解这个问题。理解了这个框架,后面的对比就会一目了然。

Anthropic 的 Harness 架构

Anthropic 在去年 11 月和上周分别发布了两篇工程博客,提出了一套让 agent 跨多个上下文窗口(context window)持续工作的 harness 架构。核心有四个角色:

  1. Planner agent,把大任务拆成 feature list

  2. Coding agent,每次只做一个 feature,完成后留下结构化笔记

  3. Evaluator agent,独立审查(不让 builder 评价自己的工作)

  4. 跨 session 桥接,通过 progress file 传递上下文

上周的第二篇文章引入了 generator-evaluator 分离:agent 评价自己的工作会过度乐观,因此把做事的和评价的拆成两个独立 agent,效果显著提升。Anthropic 用这套架构让 agent 自主开发了一个完整的 claude.ai 克隆,包含 200 多个可验证的 feature。

用这个框架来审视 gstack、Superpowers 和 CE,差距就非常明显了。

gstack:Planner + 浏览器 Evaluator

gstack 做对了 harness 中两个关键角色。

/plan-ceo-review 和 /plan-eng-review 对应 Planner agent,分别从产品和架构视角把关。/qa 会打开浏览器运行 staging URL,像真实用户一样进行测试,对应 Evaluator agent。Anthropic 论文中明确提到,让 agent 像人类用户一样测试,"dramatically improved performance"。

gstack 的哲学是 "Boil the Lake":在 AI 时代,完成整件事的边际成本趋近于零,因此永远做完整版。在 Planning 和 QA 上,它依然是最好的。

但 gstack 主要覆盖的是决策层和测试层,没有结构化的增量执行工作流(workflow),也没有知识积累机制。这并不是 gstack 的问题,而是它的定位如此:它并不试图覆盖整个流程。

Superpowers:流程有了,深度不够

Superpowers 的 120k stars 已经证明了它的质量。brainstorm → plan → execute → review 这套流程,帮助很多人从“跟 AI 瞎聊”升级到了“有流程地使用 AI”。它的 subagent-driven-development 甚至实现了 generator-evaluator 分离:独立的 spec-reviewer + code-quality-reviewer。这已经比很多 skill 更好了。

但和 CE 相比,深度上的差距体现在三个地方。

Plan:Superpowers 在当前上下文(context)里直接写 plan。CE 的 /ce:plan 会并行 spawn research agent,搜索历史经验、扫描 codebase pattern、读取 git history,因此 plan 是建立在项目历史知识之上的,而不只是基于当前 prompt。

Review:Superpowers 有 2 个 reviewer(spec + quality)。CE 会并行 spawn 6 到 15 个专项 reviewer:correctness、security、performance、testing、maintainability、adversarial(50+ 行 diff 触发)、learnings-researcher、project-standards,每个 reviewer 都会独立产出 P0-P3 报告。

第三点,也是最关键的一点:Superpowers 没有知识积累机制。做完就结束了,下一个 session 还是从零开始。

而这第三点,才是我真正用 CE 替换 Superpowers 的原因。

/ce:compound:Anthropic harness 博客都没解决的问题,CE 解决了

Anthropic 的 harness 用 claude-progress.txt 做跨 session 桥接:session A 做完后写笔记,session B 读笔记再继续做。这是线性的,只服务于相邻的两个 session。

CE 做了一件不一样的事。

当你做完一个功能或者修完一个 bug 后,运行 /ce:compound。它会并行 spawn 三个 agent:

Context Analyzer,回溯整个 session 对话,提取问题类型、涉及组件、症状。

Solution Extractor,从 debug 过程里提取:哪些方法没用、哪些方法有效、root cause 是什么、如何预防。

Related Docs Finder,搜索已有的 docs/solutions/ 做查重。如果高度重复,就更新旧文档,而不是新建。

三个 agent 跑完之后,orchestrator 会进行汇总,并把结构化文档写入 docs/solutions/。文档结构大致是:Problem(一两句问题描述)、What Didn't Work(排查过程中尝试过但无效的方法)、Solution(最终解法和代码)、Prevention(以后如何避免)。每篇文档都带有 YAML frontmatter,并按 category 分目录存储,方便后续搜索。

这些文档会被未来所有 /ce:plan 的 learnings-researcher 搜索到。它不是给“下一个 session”用的,而是给“所有未来 session”用的。

比如你修复了一个 edge runtime 兼容性的 bug,compound 会把它记录下来。三周后你在做另一个功能时碰到类似的 runtime 问题,plan 阶段的 agent 就会自动把那个 learning 翻出来,直接标注之前踩过的坑以及对应解法。

Anthropic 的 progress file 是备忘录:上一班留给下一班的交接记录。

CE 的 docs/solutions/ 是知识库:所有 session 都可以查询的项目记忆。

备忘录解决的是连续性,知识库解决的是积累性。一个是线性的,一个是指数级的。

这就是 "compound" 的含义:每次工作的产出不只是代码,还有下一次可以复用的知识。用得越久,agent 就越懂你的项目。

这也是我们一直在讨论的“永续” agent 的关键。“永续” agent 的核心并不是 24/7 不停工作,而是在持续不断工作的同时,也能持续不断地自我改进(self-improving)、自我优化,避免重复的错误和重复的浪费。

关于自动化:一个值得深入的问题

翻看 CE 的源码时,我发现一件很有意思的事:/lfg 全自动模式(从 plan 到 PR 一条龙)里,并没有 compound 步骤。你需要手动运行 /ce:compound。

为什么作者选择不把 compound 自动化?我认为这个设计是有道理的。并不是每个 session 都值得 compound:改个 typo、调个 CSS、跑个 migration,这些都不会产生新的知识。只有那些真正 debug 了一个坑、发现了一个 pattern、踩到了一个雷的 session,才值得记录。要是每个 session 都自动 compound,就会产生大量噪音,docs/solutions/ 会被低价值文档淹没,反而降低 learnings-researcher 的搜索质量。

但人会忘记。这确实是个真实的问题。

我现在在搭建的一个方案,是做一个 compound janitor:每天 end of day 自动扫描当天所有 session 的 git diff 和 conversation,判断哪些值得 compound,筛选之后再批量运行。不是每个 session 都 compound,而是由 janitor 筛选后,只对有价值的 session 做 compound。它有点像记忆管理里的定期 review 和清理机制。这个思路可能值得做成 PR 贡献给 CE。

gstack + CE:完整的 harness

对照 Anthropic 的架构,gstack + CE 覆盖了所有角色:

决策层:

· gstack /plan-ceo-review,从产品视角砍需求

· gstack /plan-eng-review,锁定架构方向

规划层:

· CE /ce:plan,spawn research agents,读取历史 learnings,产出结构化 plan

执行层:

· CE /ce:work,按 plan 增量执行

审查层:

· CE /ce:review,6-15 个专项 reviewer 并行

· gstack /qa,浏览器端到端实测

知识层:

· CE /ce:compound,写入可搜索的项目知识库

gstack 负责“做不做”和“真实去测”,CE 负责“怎么做”、“做得好不好”以及“记住”。两者没有重叠。

Superpowers 的 brainstorm → plan → execute → review 被 CE 完整覆盖了,而且每一步都更深,再加上 compound 这个独有维度。被替换是很自然的事。

Superpowers 还有一个优势:它原生支持跨工具兼容,同一套 skill 可以装在 Claude Code、Cursor、Codex CLI 上使用。不过 CE 最近也加入了 CLI 转换工具,支持转换成十几种格式。如果你主力使用的是 Claude Code,这个差距就不重要了。

Superpowers 的 120k stars 证明了它的质量,它也确实是很多人入门 AI agent 工作流(workflow)的最佳选择。但在实际深度使用之后,CE 展现出了更好的架构深度,尤其是在 compound 这个维度上,这是 Superpowers 完全不具备的。

你的 agent 每天帮你写代码、改 bug、跑测试。那做完之后,学到的东西去哪儿了?

如果答案是“散落在各个 session 里,下次再踩一遍”,那么 /ce:compound 可能就是你需要的那一行命令。

链接:

· CE:github.com/EveryInc/compound-engineering-plugin

· gstack:github.com/garrytan/gstack

· anthropic.com/engineering/effective-harnesses-for-long-running-agents

· anthropic.com/engineering/harness-design-long-running-apps