一、引言
在现代 AI 辅助编程领域,开发者面临的核心挑战已从”如何生成代码”转变为”如何生成可信赖、可维护的代码”以及”如何管理复杂长程任务中的认知负荷”。GitHub 社区涌现了两套极具影响力的框架:obra/superpowers(简称 Superpowers)与 gsd-build/get-shit-done(简称 GSD)。Superpowers 与 GSD 各自从不同的工程哲学出发,为解决上述挑战提供了完整的、经过验证的工作流。本报告将对这两个框架进行全面、详细的总结,并深入分析其能提升软件交付质量与效率的本质原因。
二、Superpowers:以工程纪律为核心的代理技能框架
2.1 项目概况
- 仓库地址:
https://github.com/obra/superpowers - 创始人:Jesse Vincent
- 社区规模:超过 18.5 万颗星,16.5 千个复刻,33 位贡献者,约 440 次提交
- 最新版本:v5.1.0(2026 年 5 月)
- 技术构成:主要由 Shell (66.4%)、JavaScript、Python 等语言实现,以”技能文件”的形式存在
- 定位:为 Claude Code、Cursor、GitHub Copilot 等 AI 编程代理设计的代理式技能框架,本质上是一套强制执行工程最佳实践的方法论插件
2.2 核心理念
Superpowers 的深层动机是对抗 AI 编码的”信任危机”。AI 代理天然倾向于直接生成代码,跳过需求澄清、方案规划、测试编写与代码审查等关键步骤。这种”看似可用”的代码往往隐藏着微妙的逻辑缺陷、边界条件错误或设计缺陷。Superpowers 将测试驱动开发 (TDD)、系统化调试、与代码审查等经典软件工程纪律,转化为 AI 代理必须执行的刚性流程。该框架的目标并非让 AI 更快地写出代码,而是让 AI写出经得起验证的代码。
2.3 核心工作流:七步线性流程
Superpowers 强制代理遵循一个顺序推进的工作流,任何任务都不能跳过步骤。
| 步骤 | 阶段名称 | 核心动作与产出物 | 目的 |
|---|---|---|---|
| 1 | 头脑风暴 | 通过多轮提问细化需求、探索替代方案、识别风险;产出确认后的设计文档。 | 在编码前穷尽思考,避免方向性错误。 |
| 2 | 使用 Git 工作树 | 在新分支上创建独立的 Git worktree,验证项目在干净环境下的测试基线。 | 获得隔离的开发环境,确保不影响主线,且能随时对比基线。 |
| 3 | 制定计划 | 将设计拆解为一系列独立、可验证的小任务(每个任务约 2-5 分钟),明确每个任务涉及的文件路径、操作内容与验证指令,最终生成一份详细的计划文件。 | 将复杂工作解耦为”思维脚手架”,使执行过程可跟踪、可中断。 |
| 4 | 子代理驱动开发 | 为计划中的每个任务派遣全新的子代理。子代理完成任务后,自动触发两阶段审查:第一阶段检查是否符合规格,第二阶段审查代码质量。 | 利用全新的上下文窗口保持专注,并通过审查把住质量关。 |
| 5 | 测试驱动开发 | 在每个子任务内部,强制执行”红-绿-重构”循环:先写一个失败的测试,确认其确实失败,然后编写最少的代码使测试通过,最后在测试保护下重构。 | 以秒级验证闭环,确保每一行代码都有对应的行为契约。 |
| 6 | 请求代码审查 | 在任务之间,对照计划文件进行审查。发现问题按严重程度分级报告,关键问题会阻塞后续开发。 | 在合并早期发现偏差,防止错误累积。 |
| 7 | 完成开发分支 | 所有任务完成后,运行全量测试作为最终验证,然后提供合并、发起 PR、保留或丢弃分支的后续选项。 | 确保最终交付物达到可集成的质量标准。 |
2.4 技能库与触发机制
Superpowers 将上述流程封装为 14 个可复用的技能,分为四大类:
- 测试技能:强制实施 TDD 循环。
- 调试技能:提供系统化的根因分析流程。
- 协作技能:覆盖从需求启发、方案规划、并行工作到代码审查的整个生命周期。
- 元技能:提供编写新技能的指南,以及一套介绍整个技能系统的入口。
自动触发是 Superpowers 设计的关键。AI 代理在执行任何任务前,都会自动扫描是否存在与该任务相关的技能定义。若存在,则必须加载并遵循该技能的指令,从而将最佳实践从”可选的建议”升级为”强制遵循的流程”。
三、GSD:以上下文管理为核心的高效执行框架
3.1 项目概况
- 仓库地址:
https://github.com/gsd-build/get-shit-done - 创始人:TÂCHES
- 社区规模:超过 6.1 万颗星,5.2 千个复刻,147 位贡献者,约 2547 次提交
- 最新版本:v1.41.2(2026 年 5 月)
- 技术构成:主要由 JavaScript/TypeScript 实现,以命令行工具和结构化文件驱动
- 定位:一套解决 AI 代理在长程任务中上下文腐化问题的规格驱动工作流框架,旨在让开发者能够可靠地通过 AI 代理完成复杂软件开发任务
3.2 核心理念
GSD 的根本出发点是对抗大型语言模型”工作记忆”的物理限制。当 AI 代理在同一个会话中处理的时间越长、步骤越多,其上下文窗口会被越来越多的历史信息填充,导致注意力分散、逻辑不一致、生成质量下降,即上下文腐化。GSD 的设计哲学主张:不应该让一个 AI 代理扛下所有工作,而应该像人类管理大型项目一样,通过清晰的规格文档和状态快照,将任务拆解后分派给多个拥有”干净大脑”的子代理并行处理。框架的目标是最大化开发吞吐量,同时保持过程的可控性。
3.3 核心工作流:六步循环流程
GSD 提供了一个灵活的阶段式工作流,可根据项目需要调整节奏。
| 阶段 | 名称 | 核心动作与产出物 | 目的 |
|---|---|---|---|
| 1 | 初始化 | 分析现有项目,生成结构化的 PROJECT.md(项目蓝图,包含架构、规范、依赖等)和 STATE.md(当前状态快照)。 | 将项目的静态知识与动态状态外化为结构化文件,作为所有后续步骤的”单一真相来源”。 |
| 2 | 讨论 | 基于 PROJECT.md 进行需求讨论,澄清歧义,细化用户故事或功能描述。 | 通过规格驱动的方式确保需求被充分理解,并将结果反写回规格文档。 |
| 3 | 规划 | 将讨论后的需求分解为可并行执行的子计划,每个子计划都是一个独立、自包含的任务单元。 | 为并行执行创造条件,将大任务解耦为多个互不依赖的战术目标。 |
| 4 | 并行执行 | 每个子计划被发送给一个全新的子代理。每个子代理都获得一个全新的、200k token 的上下文窗口,其中只包含 PROJECT.md、当前 STATE.md 以及该子计划的具体任务描述。子代理之间不共享上下文。 | 从根本上规避上下文腐化。每个子代理都以最高清晰度处理单一任务,主代理的上下文保持轻量,仅进行协调与状态更新。 |
| 5 | 验证 | 收集所有子代理的产出,自动或手动运行测试,检查是否满足 PROJECT.md 中定义的标准。 | 在合并前进行集成验证,确保并行开发的各部分能正确协同。 |
| 6 | 发布 | 更新 STATE.md 文件记录完成情况,并通过版本控制或发布工具交付成果。 | 保持状态文件的时效性,为下一个循环提供准确的新起点。 |
3.4 命令体系与集成方式
GSD 以命令驱动的方式工作,提供 npx get-shit-done 命令行工具以及一系列 /gsd-* 斜杠命令(如在 Claude Code 中)。开发者通过这些命令触发相应的阶段,框架会按照预设的模板和规则生成规格文件、派遣子代理、更新状态。其核心在于利用结构化文件 (PROJECT.md, STATE.md) 作为记忆锚点,实现跨会话、跨代理的状态持久化。
四、Superpowers 与 GSD 的全面对比
| 对比维度 | Superpowers | GSD |
|---|---|---|
| 核心哲学 | 工程纪律派:通过强制 TDD 和代码审查,将 AI 训练成严谨的资深工程师。 | 高效实战派:通过规格驱动与上下文隔离,将 AI 组织成高效的项目执行团队。 |
| 针对的核心痛点 | AI 跳过规划、测试、审查,写出”看似正确”但不可信的代码。 | AI 在长程任务中发生上下文腐化,导致生成质量下降、逻辑混乱。 |
| 工作流结构 | 严格线性:必须按顺序走过头脑风暴、建立工作树、制定计划、TDD、审查等 7 个步骤。 | 灵活循环:初始化、讨论、规划、并行执行、验证、发布 6 个阶段,可根据需要调整。 |
| 子代理使用 | 派生子代理执行单个计划任务,并强制进行两阶段审查(规格合规性、代码质量)。 | 派生子代理并行执行多个计划,每个子代理都拥有全新、隔离的上下文窗口,主窗口保持低负载。 |
| 质量保证手段 | 测试驱动开发 (TDD):以秒为周期的”红-绿-重构”微循环,将测试作为可执行的行为契约。 | 规格驱动验证:依赖详细、结构化的项目规格文件作为正确性标准,在验证阶段检查产出。 |
| 状态管理 | 依赖 Git 工作树提供文件系统级隔离,用分支管理代码演进。 | 依赖 PROJECT.md 和 STATE.md 等结构化文件实现跨会话的、显式的项目知识管理。 |
| 适用场景 | 个人开发者或小型团队追求高代码可靠性;开发库、API、后端逻辑等无法容忍低级错误的项目。 | 需要快速迭代的产品开发;管理大量任务、担心长对话迷失方向的复杂项目。 |
| 代价与不足 | 流程较为僵化,对于简单任务可能显得 overzealous,拉长交付时间。 | 牺牲了严格的实时代码审查与 TDD,代码的微观质量更依赖规格本身的清晰度和完善度。 |
五、两个框架能”做好事”的本质原因
两个框架之所以能在实践中显著提升产出质量,并非依赖高深技术,而是因为它们用结构化的流程,系统地解决了人类与 AI 在复杂认知工作中固有的两大弱点:思维的发散性与模糊性,以及记忆的脆弱性与有限性。其本质是为不可靠的灵感思维搭建了强制性的工程脚手架。
5.1 共同的基石:将思考外化为强制执行的”思维脚手架”
在无约束状态下,无论是人类还是 AI 代理,都倾向于直接跳入实现细节,忽略全局规划、边界条件与验证。两个框架都强制要求:在动手撰写第一行实现代码之前,必须完成思考过程的外化与结构化。
- Superpowers 要求进行多轮需求头脑风暴,并将设计方案拆解为一组详细、可验证的小任务,写入计划文件。
- GSD 要求生成详尽的
PROJECT.md(项目蓝图)和STATE.md(当前状态),将项目知识和当前目标固化为文本化的可见实体。
本质剖析:这相当于为复杂的认知任务搭建了思维脚手架。原本模糊、跳跃、内隐的思考过程,被强制拆解为一系列清晰、有顺序、可检查、可验证的步骤。这个结构化的”外脑”清单,让大模型和人类一样,不必依赖脆弱的”工作记忆”去回想”下一步该做什么”,而是直接按照明确的指令去执行。这根本上解决了”思考不清”和”过程遗漏”的问题。
5.2 Superpowers 的独特核心:以”超短反馈环”对抗”结果不信任”
AI 代理生成的代码面临的最大问题是缺乏自证正确的内在证据。一段没有测试覆盖的代码,其正确性只能依赖于生成者的”信誉”,而这种信誉在复杂场景下并不可靠。
Superpowers 的解决方案是将测试驱动开发 (TDD) 的”红-绿-重构”循环固化为基础执行单元。代理必须先写出一个针对某微小行为的、当前会失败的测试(红),然后才被允许编写刚好能让该测试通过的生产代码(绿),最后在测试保护下优化代码结构(重构)。这个循环可能短至几十秒。
本质剖析:Superpowers 构建了一个以秒或分钟为周期的微型验证闭环。它把软件开发中最根本的校验问题,从”我相信这批代码整体上应该没问题”这个模糊且昂贵的事后检验,转变为”这几十个具体行为断言已经全部通过”的自动化事实。每一次”绿”的亮起,都是对代码正确性的一次微小但确定的确认。这套机制将质量内建在了每一次极其微小的开发决策中,从根本上阻断了错误累积,几乎消灭了大规模排错的必要。这解决了”做的对不对”这个根本信任问题。
5.3 GSD 的独特核心:以”上下文隔离架构”对抗”工作记忆衰退”
大型语言模型都有一个物理性的限制:上下文窗口的容量和有效注意力范围。当同一个代理在处理一个长达数十步的任务时,早期的指令、中间的产出和修正会不断堆积在上下文里,导致模型对当前小任务的有效注意力被稀释,产生逻辑漂移、遗忘初始约束等现象,即上下文腐化。
GSD 的解决思路不是尝试让大模型的记忆更好,而是通过架构设计规避记忆瓶颈。具体实现是:将大任务拆解为多个可由独立子代理完成的小计划。主代理并不亲自写代码,而是扮演项目经理角色,为每个小计划生成详细的任务书,然后将其派发至一个全新的、拥有干净上下文窗口的子代理。这个子代理只装载该任务书以及必要的项目背景规格(PROJECT.md),以 100% 的注意力完成这项单一工作后即退出。
本质剖析:GSD 通过”并行子代理 + 全新上下文”的架构,模仿了人类处理超大型项目的有效模式——分派给不同的人,每人只负责清晰定义的模块,互不干扰。主代理的上下文始终保持轻量级,只负担协调与汇总,永远不需要塞满具体实现的细节。这使得每个执行单元都得以在认知最清晰、干扰最少的理想条件下工作,巧妙地绕过了单模型”工作记忆”的物理天花板。这解决了”记不清楚、越长越乱”的过程可靠性问题。
六、选择建议与适用场景
Superpowers 与 GSD 并非互斥关系,有经验的开发者甚至会尝试结合二者的思想(例如,在 GSD 的每个子代理任务内部应用 TDD 循环)。如何选择,取决于项目当前阶段与首要痛点:
选择 Superpowers 的典型场景:
- 希望建立扎实的代码基线,项目对长期可维护性、正确性有极高要求。
- 开发的是库、框架、后端核心逻辑等,功能正确性不能有任何侥幸。
- 愿意为每一点功能交付投入更高的时间成本,以换取极低的缺陷率。
- 希望将 AI 代理训练或约束为符合团队工程规范的”资深工程师”。
选择 GSD 的典型场景:
- 处于快速原型验证或产品早期阶段,速度与迭代效率是首要考虑。
- 面临的是一个大型、多模块的任务,担心单一对话窗口内存混乱导致失败。
- 认可”规格驱动”理念,认为一份清晰的、详尽的
PROJECT.md比微观测试更能保证最终产品的方向正确。 - 需要同时推进多个相关但独立的功能模块,最大化开发带宽。
七、结语
obra/superpowers 与 gsd-build/get-shit-done 共同代表了 AI 辅助编程走向工程化、严肃化的两条关键路径。前者用不可妥协的纪律将验证前置到每一次心跳,后者用务实的架构将复杂度隔离在每一个独立的思考单元。两者都源于同一个洞察:未加约束的生成能力是危险的。当开发者主动为 AI 的思考与行动套上精心设计的”流程骨骼”时,所获得的将不仅是更快的交付,更是可持续、可信赖的软件创造过程。