在 AI 编程领域,最近大家都在讨论一个让人头疼的现象:'上下文腐烂'(Context Rot)。
你可能也经历过:刚开始和 Claude Code 聊得火热,它对你的架构设计了如指掌;但随着对话轮数增加,它开始变得像条金鱼,忘记了半小时前才定好的接口规范,甚至开始在同一个 Bug 上反复横跳。这种'失忆症'本质上是由于 AI 的上下文窗口被大量的对话杂讯填满,导致关键信息被挤出了注意力范围。
为了解决这个问题,一个名为 GSD (Get Shit Done) 的元提示系统在 GitHub 上迅速蹿红,斩获 20k+ Stars。它被许多工程师广泛采用,是目前解决 AI 编程上下文管理的'天花板'方案。本文深度拆解 GSD 的核心逻辑,看看它是如何给 AI 装上'外接大脑'的。
为什么你的 AI 会'变蠢'?聊聊上下文工程
很多人把 AI 编程当成聊天,但这恰恰是低效的根源。AI 的上下文窗口(Context Window)就像人类的短期记忆,容量再大也有上限。当你在对话框里不断粘贴代码、报错信息和新需求时,早期的架构决策和核心逻辑就会被覆盖。
GSD 的核心思想非常朴实且暴力:别把所有东西都塞进对话框,用结构化的文件来承载项目灵魂。
它在你的项目根目录下建立了四个'核心大脑'文件,形成了一套完整的上下文工程系统:
- PROJECT.md:这是项目的'宪法',记录目标、架构决策和技术栈。
- REQUIREMENTS.md:这是'合同',明确功能边界和验收标准,防止 AI 瞎猜。
- ROADMAP.md:这是'地图',拆解里程碑,让 AI 知道现在在哪,下一步去哪。
- STATE.md:这是'备忘录',记录当前进度和待办事项。
每次你开启新的一天,或者对话感觉陷入混乱时,只需让 AI 重新读取这些文件,它就能瞬间'魂穿'回项目状态,实现秒级同步。
Wave 执行:200k 上下文的'降维打击'
如果说四文件系统是静态存储,那么 Wave 执行(Wave Execution) 就是 GSD 的动态引擎。
面对一个上万行代码的大型项目,传统的做法是把整个仓库扔给 AI,结果往往是 AI 被信息淹没,输出质量直线下降。GSD 采用了'分治法':它将复杂的开发任务拆分成多个独立的 Wave(波浪)。
每个 Wave 都是一个闭环的小任务,只加载与之相关的代码上下文(控制在 200k 以内)。这种精准打击的方式,确保了 AI 在处理每一个模块时,大脑都是'清醒'的。更厉害的是,GSD 支持多代理并行。你可以让 Research Agent 去调研选型,让 Planning Agent 拆解任务,让 Execution Agent 专心写代码。这种并行效率不是简单的加法,而是生产力的乘法。
实战演练:如何用 GSD 从零构建项目?
光说不练假把式。我们来看看如何通过 GSD 的六阶段工作流,快速启动一个项目。
首先,你不需要复杂的安装过程,一行 npx 命令即可开启:
# 初始化 GSD 环境,这会自动生成上述的四个核心 Markdown 文件
npx get-shit-done-cc@latest init my-awesome-project
# 进入项目并启动新项目流程
cd my-awesome-project
npx get-shit-done-cc@latest new-project
接下来的流程非常有仪式感,但也极其专业:
- 讨论阶段 (discuss-phase):AI 会抓着你问需求细节。比如你要做一个 Markdown 转公众号工具,它会确认图片存储、代码高亮等细节,并自动更新到
REQUIREMENTS.md。 - 规划阶段 (plan-phase):AI 会根据需求拆分里程碑(Milestones)。你会看到
ROADMAP.md里清晰地列出了 M1、M2、M3。 - 执行阶段 (execute-phase):这是最爽的部分。你可以指定里程碑让 AI 开干:
# 让 AI 聚焦在第一个里程碑,开启 Wave 执行模式
npx get-shit-done-cc@latest execute-phase --milestone=1

