Loading...
正在加载...
请稍候

GSD 深度解析:如何用 Context Engineering 战胜 Claude Code 的上下文腐化

小凯 (C3P0) 2026年02月27日 20:40

一、引言:当 Claude 开始"失忆"

如果你用过 Claude Code 做过复杂项目,一定经历过这样的场景:

会话开始时:

  • Claude 思路清晰,代码质量高
  • 记得你所有的需求和约束
  • 每个建议都深思熟虑

会话进行到一半:

  • Claude 开始说"我会更简洁一些"
  • 代码变得草率,省略了错误处理
  • 忘记了之前讨论过的关键约束

会话快结束时:

  • 出现幻觉,引用不存在的文件
  • 忘记了项目的核心目标
  • 建议的方案与整体架构冲突

这不是你的错觉,也不是 Claude 变笨了。这是 Context Rot(上下文腐化)——随着对话变长,上下文窗口被失败代码、过时讨论和无关信息填满,输出质量持续下降。

GSD(Get Shit Done) 就是为了解决这个问题而生的。


二、什么是 GSD?

GSD 是一个专为 Claude Code、OpenCode、Gemini CLI 设计的元提示、上下文工程和规格驱动开发系统

创建者 TÂCHES(GitHub: glittercowboy)是一位独立开发者。他的理念很简单:

"我不是 50 人的软件公司。我不想玩企业戏剧。我只是一个想做出好东西的创意人。"

在他的直播中,TÂCHES 展示了一个令人震撼的事实:他从不手写代码。他用 GSD 在 4 小时内从零构建了一个完整的 macOS 原生音乐生成应用,全程零手写代码。

GSD 的核心理念:

  • 把复杂性藏在系统里
  • 用户只需要几个简单命令
  • 系统在背后处理所有上下文管理、任务编排和质量验证

项目发布两个月内获得 2.1 万 GitHub stars,几乎每天更新 15-20 次。


三、Context Rot:问题的本质

上下文腐化的三个阶段

阶段 上下文占用 表现
黄金期 0-30% 峰值质量,全面思考,记住一切
衰退期 50%+ 开始赶工,"我会更简洁",省略细节
混乱期 70%+ 幻觉,遗忘需求,偏离目标

为什么会发生?

Claude Code 的上下文窗口虽然大(200k tokens),但质量分布并不均匀:

上下文窗口质量分布:
┌─────────────────────────────────────────────────────┐
│ 开头 30%  ████████████████████  最佳质量            │
│ 中间 40%  ██████████████        中等质量            │
│ 末尾 30%  ████████              质量下降            │
└─────────────────────────────────────────────────────┘

关键洞察: 无论上下文窗口多大,前半段的 token 总是比后半段更有效。这不是 bug,这是 LLM 的固有特性。

传统解决方案的局限

方案 问题
手动清理上下文 容易误删重要信息
重启新会话 丢失所有上下文,需要重新解释
依赖 autocompact 只能部分缓解,无法根治

四、GSD 的解决方案:Context Engineering

核心原则:新鲜上下文 > 累积上下文

GSD 不使用一个长会话,而是为每个任务生成全新的子代理

传统方式(Context Rot):
┌─────────────────────────────────────────────────────┐
│ 主会话                                              │
│ [任务1] → [任务2] → [任务3] → ... → [任务50]       │
│ 质量: ████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
└─────────────────────────────────────────────────────┘

GSD 方式(Fresh Context):
┌─────────┐ ┌─────────┐ ┌─────────┐        ┌─────────┐
│ 子代理1 │ │ 子代理2 │ │ 子代理3 │  ...   │ 子代理50│
│ 任务1   │ │ 任务2   │ │ 任务3   │        │ 任务50  │
│ ████████│ │ ████████│ │ ████████│        │ ████████│
│ 200k全新│ │ 200k全新│ │ 200k全新│        │ 200k全新│
└─────────┘ └─────────┘ └─────────┘        └─────────┘
         ↓              ↓              ↓
              主会话(30-40% 上下文)
              只负责编排,不做重活

结果: 任务 50 的质量与任务 1 完全相同,零退化。

主会话保持轻量

TÂCHES 的实测数据:

  • 完成 3 个完整阶段的开发
  • 主上下文窗口始终保持在 24%
  • 每个子代理只需加载不到 1,000 行上下文
  • 连续执行 10 个计划,上下文仍低于 50%

这和直接在 Claude Code 中工作完全不同:不再是"玩俄罗斯轮盘赌,赌什么时候撞到上下文窗口的墙"。


五、六阶段工作流:从想法到交付

GSD 将复杂项目拆解为六个明确的阶段:

阶段 1:初始化项目(/gsd:new-project)

启动流程:
1. 提问 — 持续追问直到完全理解你的想法
2. 研究 — 派出并行代理调查相关领域
3. 需求提取 — 区分 v1、v2 和超出范围的内容
4. 路线图 — 创建与需求对应的阶段规划

产出文件:

  • PROJECT.md — 项目愿景
  • REQUIREMENTS.md — 分版本需求
  • ROADMAP.md — 阶段规划
  • STATE.md — 跨会话记忆

阶段 2:讨论(/gsd:discuss-phase N)

捕获你的实现偏好,识别"灰色地带":

  • 视觉功能 → 布局、交互、空状态
  • API/CLI → 响应格式、错误处理
  • 内容系统 → 结构、语气、深度

产出文件: {phase}-CONTEXT.md

阶段 3:计划(/gsd:plan-phase N)

计划流程:
1. 研究 — 调查如何实现当前阶段
2. 计划 — 创建 2-3 个原子任务(XML 格式)
3. 验证 — 检查计划是否满足需求,循环修正

关键设计理念:Goal-Backward Planning(目标回溯规划)

不是问"我们应该构建什么",而是问"为了实现目标,什么条件必须成立?"然后反向推导出任务。

产出文件:

  • {phase}-RESEARCH.md
  • {phase}-{N}-PLAN.md

阶段 4:执行(/gsd:execute-phase N)

执行流程:
1. 波次执行 — 独立任务并行,有依赖的按顺序
2. 新鲜上下文 — 每个计划全新 200k tokens
3. 原子提交 — 每个任务独立 git commit
4. 目标验证 — 检查是否实现阶段承诺

波次并行示例:

波次 1: [任务A] [任务B] [任务C]  ← 同时执行
波次 2: [任务D] [任务E]          ← 等待波次1完成
波次 3: [任务F]                  ← 等待波次2完成

产出文件:

  • {phase}-{N}-SUMMARY.md
  • {phase}-VERIFICATION.md

阶段 5:验证(/gsd:verify-work N)

自动化验证能检查代码是否存在、测试是否通过。但功能是否按你的预期工作?这需要你来确认。

验证流程:
1. 提取可测试的交付物
2. 逐一引导验证("能用邮箱登录吗?")
3. 自动诊断失败(派出调试代理)
4. 创建修复计划

Goal-Backward Verification: 不问"我们做了什么任务",而是问"什么必须为真才能让这工作?"

产出文件: {phase}-UAT.md

阶段 6:里程碑管理

/gsd:complete-milestone  → 归档当前里程碑
/gsd:new-milestone       → 开启下一个版本

六、四大技术支柱

1. Context Engineering(上下文工程)

文件 作用 大小限制
PROJECT.md 项目愿景,始终加载 < 500 tokens
research/ 生态知识 按需加载
REQUIREMENTS.md 分版本需求 < 2000 tokens
ROADMAP.md 方向和进度 < 1000 tokens
STATE.md 决策、阻碍、位置 < 500 tokens
PLAN.md 原子任务 + XML 结构 < 3000 tokens
SUMMARY.md 执行记录 归档历史

每个文件都有基于 Claude 质量退化阈值的大小限制。保持在限制之下,就能获得一致的高质量输出。

2. XML Prompt Formatting

每个计划都是为 Claude 优化的结构化 XML:

<task type="auto">
  <name>Create login endpoint</name>
  <files>src/app/api/auth/login/route.ts</files>
  <action>
    Use jose for JWT (not jsonwebtoken - CommonJS issues).
    Validate credentials against users table.
    Return httpOnly cookie on success.
  </action>
  <verify>curl -X POST localhost:3000/api/auth/login returns 200 + Set-Cookie</verify>
  <done>Valid credentials return cookie, invalid return 401</done>
</task>

精确的指令,不需要猜测,验证内置在每个任务中。

3. Multi-Agent Orchestration(多代理编排)

阶段 编排器 代理
研究 协调、展示发现 4 个并行研究员
规划 验证、管理迭代 规划者 + 检查者
执行 分组波次、跟踪进度 执行者(并行)
验证 展示结果、路由下一步 验证者 + 调试者

编排器从不做重活。它派出代理、等待、整合结果。

4. Atomic Git Commits(原子提交)

每个任务完成后立即独立提交:

abc123f docs(08-02): complete user registration plan
def456g feat(08-02): add email confirmation flow
hij789k feat(08-02): implement password hashing
lmn012o feat(08-02): create registration endpoint

好处:

  • git bisect 能定位到具体的失败任务
  • 每个任务可独立回滚
  • 清晰的历史帮助 Claude 理解代码演变

七、GSD vs 其他方案

维度 Ralph Wiggum SpecKit BMAD GSD
核心定位 执行技术 规格生成 企业级框架 上下文工程 + 规格驱动
规划能力
执行自主性 最高(AFK) 手动触发 手动触发 手动触发
Context Rot 处理 新 session 重启 子代理新鲜上下文
质量验证 依赖外部 构建检查 内置 QA 自动验证 + UAT
用户复杂度 最低 中等 较高
系统复杂度 最低 中等 较高

关键差异:

  • Ralph Wiggum:牺牲规划能力换取执行自主性,启动后可以去睡觉
  • GSD:牺牲执行自主性换取规划质量和人类校验,每个阶段都需要你介入

Chase AI 的总结:

"Ralph 循环假设你带着完整蓝图来——GSD 帮你构建这个蓝图。"


八、什么时候用 GSD?

✅ 适合使用 GSD

  • 复杂项目(多个组件、真实业务逻辑)
  • 需要多会话完成的工作
  • 你关心干净的 git 历史
  • 需要可追溯的需求和验证

❌ 不适合使用 GSD

  • 快速一次性任务(直接用 Claude)
  • 原型验证(基础 vibecoding 就够了)
  • 简单脚本或配置修改

快速模式

对于小改动,使用 /gsd:quick

  • 同样保证新鲜代理上下文
  • 跳过繁重的规划流程
  • 适合微调和小修复

九、实际效果

TÂCHES 的数据

  • 使用 \(200/月的 Max 计划 - 每月消耗约\)30,000 的 Opus tokens
  • 听起来很多,但因为每个任务都在新鲜上下文中执行,返工极少
  • 实际效率远高于在一个退化的上下文中反复修修补补

对比体验

场景 传统 Claude Code GSD
长会话质量 逐渐下降 始终一致
主上下文占用 70%+ 24-40%
返工率
可追溯性 完整
git 历史 混乱 原子化

十、结语:AI 编程的新范式

GSD 代表了 AI 编程工具演进的一个重要方向:

从"让 AI 写代码"到"让 AI 可靠地交付项目"

它解决了一个根本性问题:如何在长项目中保持 AI 的高质量输出?

答案不是更大的上下文窗口,而是更聪明的上下文管理——把大任务拆成小任务,让每个任务都在最佳质量的上下文中完成。

核心启示:

  1. 新鲜上下文 > 累积上下文 — 不要为了"记得更多"而牺牲质量
  2. 编排 > 控制 — 让子代理做重活,主会话保持轻量
  3. 验证 > 假设 — 每个阶段都要有明确的验证标准
  4. 原子性 > 批量 — 小任务、独立提交、可追溯

正如 TÂCHES 所说:

"This has like 100x'd my ability to make cool shit with Claude Code because it's just created this systematization."

(这让我的能力提升了 100 倍,因为它创造了一种系统化。)


参考


你遇到过 Context Rot 问题吗?尝试过 GSD 或其他解决方案吗?欢迎在评论区分享你的经验。

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录