第 07 课 | GSD 问答 20 题(上):基础认知
(申请发送: agentupdate)
从"这是什么"到"我项目里怎么用",20 个真实问题,三章节。
第一章:基础认知
GSD 是什么、为什么需要它、核心概念扫盲。
Q1:GSD 是什么?和直接让 AI 写代码有什么不同?
GSD(Get Shit Done)是 Claude Code 的项目编排框架。直接让 AI 写代码 = 让一个没有计划的工人搬砖。GSD = 先画蓝图(需求),再排工期(路线图),再分阶段施工(Phase),每阶段验收(验证)。
关键区别:
- 有状态:
.planning/目录记录所有决策和进度,关掉终端再打开能接着干 - 有流程:讨论 → 计划 → 执行 → 验证,不是一上来就写代码
- 有分工:33 个子 agent 各司其职,研究者负责研究,执行者负责执行,验证者负责验证
- 有记忆:STATE.md 追踪项目进度,不会忘记做到哪了
类比:直接写代码是游击战,GSD 是正规军。
Q2:我已经会用 Claude Code,还需要 GSD 吗?
取决于项目规模。
不需要 GSD:改个 bug、加个按钮、写个脚本、问个问题。
需要 GSD:新项目从零开始、多文件多阶段、需求不明确、需要测试和验证。
判断标准:如果任务能在一次对话内完成且不需要跨会话记忆,直接做。如果需要多天多次会话,GSD 值得用。
本教程的计算器项目:3 个文件但 4 个阶段、34 条需求、154 个测试。不用 GSD 也能做,但很容易做到一半忘了需求、重复讨论已有决策。
Q3:GSD 的 .planning/ 目录是干什么的?可以删掉吗?
.planning/ 是 GSD 的大脑。存了:
PROJECT.md— 项目定义REQUIREMENTS.md— 需求文档ROADMAP.md— 路线图STATE.md— 当前状态(做到哪了、下一步是什么)phases/*/CONTEXT.md— 每阶段的设计决策(冻结的)phases/*/PLAN-*.md— 执行计划phases/*/VERIFICATION.md— 验证报告research/— 研究产出config.json— 工作流配置
可以删。删了不影响已写的代码。但删了就失去所有上下文——新会话不知道项目做过什么、决定了什么、下一步是什么。
类比:.planning/ 是施工日志。楼盖好了可以扔掉日志,但返修时没日志就得重新勘测。
Q4:CLAUDE.md 是什么?GSD 为什么要读它?
CLAUDE.md 是项目根目录的约束文件。Claude Code 每次会话自动读取。
内容举例:
- 技术栈约束(本项目:纯 HTML/CSS/JS,无框架无后端)
- 文件约束(本项目:仅 3 个文件)
- 浏览器支持范围
- 无障碍标准
- GSD 工作流规则("不要在 GSD 工作流外直接编辑文件")
GSD 读它是因为:所有子 agent 需要知道项目的边界。研究者不会建议引入 React,执行者不会创建第四个文件,验证者会按 WCAG AAA 标准检查。
Q5:GSD 和 TDD 是什么关系?必须写测试吗?
GSD 不强制 TDD。但 GSD 的 /gsd-plan-phase 生成的计划可以嵌入 TDD 红绿循环。
关系:
- GSD 管的是项目层面的流程(需求 → 设计 → 执行 → 验证)
- TDD 管的是编码层面的流程(测试 → 实现 → 重构)
- 两者可以叠加:在 GSD 的执行阶段内用 TDD 写代码
本教程项目选择了 TDD,所以在 PLAN.md 里每个任务都是"先写测试,再实现"。如果你不想写测试,/gsd-plan-phase 不会强制加。
Q6:我不会写需求文档,GSD 能帮我吗?
这正是 GSD 的核心价值之一。/gsd-new-project 会通过提问帮你提取需求。
典型对话:
- GSD:"你的目标用户是谁?" → 你:"老人和普通人"
- GSD:"老人有什么特殊需求?" → 你:"字要大,按钮要大"
- GSD 研究后发现:"WCAG AAA 要求 7:1 对比度,你知道吗?" → 你:"不知道"
- GSD 把这些变成结构化需求:ELDR-01 按钮最小 68px,ELDR-02 对比度 ≥ 7:1...
你不需要会写需求文档。你需要的是描述你想要什么,GSD 负责结构化。
Q7:最小安装和完整安装有什么区别?
- 最小安装:6 个核心 skill,约 700 tokens 上下文开销。能做:new-project / plan-phase / execute-phase / verify / quick / debug
- 完整安装:86 个 skill + 33 个 subagent,约 12k tokens。额外能做:AI 集成 / UI 设计契约 / 安全审计 / 代码审查自动修复 / 邮件集成 / ...
计算器项目用最小安装就够了。如果项目涉及 API 集成、复杂 UI、安全敏感场景,完整安装更值。
类比:最小安装是瑞士军刀,完整安装是工具箱。