Wiki 概念

Spec + RAG 与增强开发工作流

Created: 2026-04-26 Updated: 2026-07-05

这条线讲的是怎么把“会写代码的模型”变成“懂项目的程序员”。几篇文章的共同答案是:给它结构化规范(Spec)、检索增强(RAG)、强制流程和常用工具封装,别再指望一句自然语言 magic prompt 包治百病。 [[raw/2026-04-08/导购&商详团队/告别“伪智能”代码:用 Spec + RAG 打造真正懂你的AI程序员.md|来源: 告别“伪智能”代码:用 Spec + RAG 打造真正懂你的AI程序员.md]] [[raw/2026-04-24/笨小葱/AI 增强开发的三件套:OpenSpec + Superpowers + gstack.md|来源: AI 增强开发的三件套:OpenSpec + Superpowers + gstack.md]]

方法论核心

  • Spec 用来把需求、边界、验收标准和工程约束结构化;RAG 用来把代码库、文档和最佳实践按需喂给 agent,减少幻觉和断链。 [[raw/2026-04-08/导购&商详团队/告别“伪智能”代码:用 Spec + RAG 打造真正懂你的AI程序员.md|来源: 告别“伪智能”代码:用 Spec + RAG 打造真正懂你的AI程序员.md]]
  • OpenSpec + Superpowers + gstack 的组合进一步把它落到工作流:前者负责编译需求,中间层约束执行过程,后者把高频工具动作变成可复用命令。 [[raw/2026-04-24/笨小葱/AI 增强开发的三件套:OpenSpec + Superpowers + gstack.md|来源: AI 增强开发的三件套:OpenSpec + Superpowers + gstack.md]]

对 Claude Code / Codex 的意义

  • 这套方法天然适合作为 [[wiki/entities/CLAUDE.md 与 .claude 配置]] 的上层规则来源,也能和 [[wiki/concepts/上下文管理与 Harness Engineering]] 结合,把长任务拆成更稳定的阶段。 [[raw/2026-04-02/爱海贼的无处不在/与AI一起成长:AI时代我的6个方法经验分享给你.md|来源: 与AI一起成长:AI时代我的6个方法经验分享给你.md]]
  • 当 Codex、Claude Code、OpenClaw 都在追求更强执行力时,Spec + RAG 更像给执行力加方向盘和刹车。 [[raw/2026-04-02/AI兴观点/OpenAI 官方总结 12 个 Codex 用例:从改 Bug、写测试到处理 PR,一次看懂.md|来源: OpenAI 官方总结 12 个 Codex 用例:从改 Bug、写测试到处理 PR,一次看懂.md]] [[raw/2026-04-08/导购&商详团队/告别“伪智能”代码:用 Spec + RAG 打造真正懂你的AI程序员.md|来源: 告别“伪智能”代码:用 Spec + RAG 打造真正懂你的AI程序员.md]]

SDD 四阶段模型

Spec-Driven Development 不只是”先写文档再写代码”,而是一套有明确入口、输出和质量门禁的四阶段流程:

  1. 需求分析(Requirement Analysis):明确要做什么,输入是业务需求,输出是结构化需求文档
  2. 技术规划(Technical Planning):确定怎么做,输出技术方案和架构决策
  3. 任务分解(Task Decomposition):把方案拆成可执行、可验证的小任务
  4. 验证(Verification):逐条对照需求验收,确保不跑偏

核心价值在于让过程可追溯、可验证,而不是指望 agent 一次性猜对。[[raw/2026-05-07/腾讯程序员/十年老技术开发的 AI Agent 探索之路.md|来源: 腾讯程序员 SDD]] [[raw/2026-05-09/王砚舒(彦纾)/5 人 7 天干完 20 人数周的活:Spec-Driven Development 如何重新定义 AI 编程.md|来源: 王砚舒 SDD redefining AI coding]]

Vibe Coding vs SDD:先易后难 vs 先难后易

Vibe Coding 的本质是”先易后难”——前期省掉设计时间,后期为调试付出 10 倍代价。SDD 反过来”先难后易”。实践经验显示,Vibe Coding 到第 15 天的”设计与实现对齐”环节是最痛苦但也最有价值的一天。不是说 Vibe Coding 不能用,而是要知道它的代价曲线和 SDD 完全不同。[[raw/2026-05-07/腾讯程序员/十年老技术开发的 AI Agent 探索之路.md|来源: 腾讯程序员 Vibe Coding翻车]]

五种编程范式对比(618 促销案例)

吕昭波用同一个真实企业场景(618 促销活动)对比了五种 AI 编程范式:

  • Spec:结构化规范驱动,适合需求明确的工程化项目
  • Vibe:自然语言自由探索,适合早期原型和创意阶段
  • Glue:把 AI 生成的代码块粘合起来,适合快速组合
  • TDD:测试先行,适合逻辑密集、需回归保障的场景
  • Harness:约束+治理框架,适合长期维护和团队协作

五种范式不是互斥的——实际项目中往往是混合使用,关键在于判断每个阶段的适配范式。[[raw/2026-05-10/吕昭波/1个场景(618促销)5种范式(Spec-Vibe-Glue-TDD-Harness) ,企业级AI Coding经验分享(附代码示例).md|来源: 吕昭波 5种范式]]

Constitution.md:架构约束文件

Constitution.md 是被反复提到的一个关键实践——它不是 README,而是给 AI 的”项目宪法”,必须覆盖三件事:

  • 目录结构约定:哪些目录放什么,AI 不能随意创建文件
  • 模块边界:哪些模块之间可以互相依赖,哪些不能跨边界调用
  • 命名规则:文件、函数、变量的命名规范

“有了它,AI 才能在’框架内工作’而不是’自由发挥’。“它和 [[wiki/entities/CLAUDE.md 与 .claude 配置]] 里的 CLAUDE.md 是互补关系:CLAUDE.md 定义行为规则,Constitution.md 定义架构约束。[[raw/2026-05-07/腾讯程序员/十年老技术开发的 AI Agent 探索之路.md|来源: 腾讯程序员 constitution.md]]

需求到原型的平台化:阿里秒悟 + Google Stitch

新一代平台开始把”需求 → 界面原型”这个环节从手工变成自动化。阿里秒悟和 Google Stitch 代表了两种方向:前者偏企业级设计系统对接,后者偏快速概念验证。这类工具补上了 SDD 流程中从”需求文档”到”可交互原型”的跳步。[[raw/2026-05-11/爱海贼的无处不在/AI编程实践第9节:阿里秒悟与谷歌Stitch平台实现需求界面原型设计.md|来源: 阿里秒悟+谷歌Stitch]]

SDD 三级成熟度与完整模板

[[#SDD 四阶段模型|四阶段流程]] 之上,SDD 还有三个成熟度等级:

  1. Spec-First:先写 spec 再写代码,但 spec 和代码独立演进
  2. Spec-Anchored:spec 是锚点,代码围绕 spec 展开,偏差需显式标出
  3. Spec-as-Source:改 spec 触发代码重生成,spec 成为唯一真相源

“规格才是新的代码”(Spec is the new code)。这与上文 [[#Vibe Coding vs SDD:先易后难 vs 先难后易|Vibe Coding vs SDD]] 的代价曲线分析互为补充:SDD 不只是”先难后易”,终极形态是 spec 即代码。

最小模板

  • Spec(9 字段):标题、背景、目标、范围、非目标、约束、验收标准、依赖、风险
  • Plan(8 字段):架构概述、技术选型、模块划分、数据流、接口契约、状态管理、错误策略、测试策略
  • Task(6 字段):标题、描述、关联 Spec、关联 Plan、验收条件、预估工时

Spec 和 Plan 必须分开写——混在一起 agent 在两个层次间跳,歧义放大。

“沉默的决策”陷阱

未明说的前提(幂等、权限、错误处理)是 agent 猜错的最大来源。Spec 的价值不仅是”写了什么”,更是”把沉默的决策显性化”。

切入建议

Plan mode → 固定最小流程 → Spec Kit 等专用框架。生态收敛证据:GitHub Spec Kit(77k stars)、OpenAI Symphony、Ralph Loop,三大玩家指向同一方向。

[[raw/2026-05-16/jilolo/Vibe Coding已经是过去式了:Spec Driven Development(SDD) 指南.md|来源: SDD指南]] [[raw/2026-05-16/jilolo/一份更完整的 Spec Driven Development(SDD) 指南.md|来源: SDD完整指南]]

PRD 两层拆分与证据链

PRD 分两层管理复杂度:

  • 总体介绍层:背景、闭环、功能地图、User Story 索引
  • 单个 US 文档层:每个 User Story 独立成文,聚焦单一场景

每个 US 必须有 Given/When/Then 验收表(正常场景 + 边界场景),无验收不进开发。这与上文 [[#SDD 三级成熟度与完整模板|SDD 最小模板]] 中的验收标准字段形成呼应:Spec 层的验收标准需要在 PRD 层落地为具体用例。

Agent PRD 额外三块

针对 AI Agent 开发场景,PRD 还需包含:

  • 意图空间:Agent 可以做什么、不可以做什么
  • 工具调用规则:何时用哪个工具、调用顺序约束
  • 边界条件:超时、失败重试、降级策略

证据链

“证据链”表确保测试可追溯:功能需求 → 来源文档 + 原文摘要,每条需求都能回溯到原始依据。这是对上文 [[#SDD 四阶段模型|SDD 验证环节]] 的具体落地方法。

[[raw/2026-05-16/gnash/PRD怎么写,vibe coding能够减少50%以上的测试时间?.md|来源: PRD写法]]

SDD 六要素与三种模式(ChallengeHub 体系)

ChallengeHub 提出了一套与社区 SDD 模板互补的六要素框架,更侧重”规范本身该写什么”:

  • 预期结果:要达成什么
  • 范围边界:做什么、不做什么
  • 约束条件:技术栈、性能、合规等硬性限制
  • 已定决策:已经确定的架构选择,避免 agent 反复质疑
  • 任务拆分:可并行、可独立验证的子任务
  • 验证标准:怎么算”做完了”

三种模式对应不同成熟阶段:

  1. 规范优先(Spec-First):入门级,先写规范再写代码
  2. 规范锚定(Spec-Anchored):企业治理级,规范作为审计轨迹,偏差必须显式记录
  3. 规范即源码(Spec-as-Source):API First 等领域的终极形态,改规范触发代码重生成

这与上文 [[#SDD 三级成熟度与完整模板|SDD 三级成熟度]](Spec-First → Spec-Anchored → Spec-as-Source)的命名体系高度吻合,但强调的维度不同:三级成熟度关注”规范与代码的关系”,六要素关注”规范本身的内容结构”。[[raw/2026-05-22/ChallengeHub/Spec-Driven Development完整指南:6要素+3模式+多智能体,一篇讲透SDD怎么用.md|来源: ChallengeHub-SDD完整指南]]

对抗式智能体模式

ChallengeHub 提出了一种三角色对抗架构来保证实现质量:

  • 协调者(Coordinator):把主规范拆解为子规范,分配给实现者
  • 实现者(Implementer):按子规范独立干活
  • 验证者(Verifier):独立对照规范检查实现者的产出

实现者和验证者目标相反——一个要”做出来”,一个要”挑毛病”——这种对抗结构天然防止自欺欺人。

模型分层成本策略

利用不同模型的能力/成本差异做分层:

  • 写规范:用最强模型(需要深度推理和全局视野)
  • 实现:用中档模型(Sonnet 档,够用且成本可控)
  • 验证:用快速低成本模型(对照规范检查不需要创造性)

实操案例

Figma MCP 拉设计上下文 → 协调者按页面拆解规范 → 多个 Agent 在隔离 git worktree 中并行实现 → 45 分钟完成 10 页官网约 95%。关键杠杆不是”模型更强”,而是”每个 Agent 只拿到它需要的那部分上下文”——上下文精度比上下文容量更重要[[raw/2026-05-22/ChallengeHub/Spec-Driven Development完整指南:6要素+3模式+多智能体,一篇讲透SDD怎么用.md|来源: ChallengeHub-SDD完整指南]]

与 TDD/BDD 的关系

SDD 不是 TDD/BDD 的替代品,而是叠加关系:TDD 管单元层、BDD 管行为层、SDD 管架构层。三层各司其职,互不冲突。[[raw/2026-05-22/ChallengeHub/Spec-Driven Development完整指南:6要素+3模式+多智能体,一篇讲透SDD怎么用.md|来源: ChallengeHub-SDD完整指南]]

对 Vibe Coding 的明确批评

ChallengeHub 明确指出 Vibe Coding 导致代码复杂度持续走高——前期省掉的设计成本,后期以指数级返工形式偿还。这与上文 [[#Vibe Coding vs SDD:先易后难 vs 先难后易|Vibe Coding vs SDD]] 的代价曲线分析一致。[[raw/2026-05-22/ChallengeHub/Spec-Driven Development完整指南:6要素+3模式+多智能体,一篇讲透SDD怎么用.md|来源: ChallengeHub-SDD完整指南]]

OpenSpec 深度剖析:Brownfield 优先的规范驱动框架

Jameszyh 对 OpenSpec 进行了系统性深度剖析,揭示了它与社区主流 SDD 框架(Spec-Kit 等)的设计哲学差异。OpenSpec 的核心设计决策是面向存量项目(brownfield),而非绿地项目(greenfield)——它允许在现有代码上分层叠加规范,而非要求一次性完成全量系统规范。[[raw/2026-06-20/Jameszyh/OpenSpec 深度剖析:规约驱动开发的终极形态.md|来源: OpenSpec 深度剖析]]

三条设计哲学

  1. Spec as Contract(规范即契约):规范不是文档,而是人和 AI 之间的执行约束——不是为了记录而写,而是为了对齐目标而写
  2. Change as First-Class Citizen(变更为一等公民):每次变更像 Git 提交一样有完整生命周期,变更过程有 proposal→specs→design→tasks 四个文件记录
  3. Incremental over Full(渐进优于完整):不追求一次性写完所有规范,让规范从增量变更中自然”涌现”

Delta Spec:WAL 风格的变更原语

Delta Spec 是 OpenSpec 的核心创新——它只用三个操作原语描述变更:

  • ADDED:新增内容
  • MODIFIED:修改内容
  • REMOVED:移除内容

这与数据库 WAL(Write-Ahead Log)的设计理念一致。变更归档时,Delta Spec 合并回 Main Spec——Main Spec 不是预先定义的,而是从累积的 Delta 中涌现出来的。

四个核心概念

  • Main Specs:按领域组织的当前真相源
  • Changes:每个变更 4 个文件(proposal/specs/design/tasks)
  • Delta Spec:变更原语(ADDED/MODIFIED/REMOVED)
  • config.yaml:项目元数据

与 Spec-Kit 对比

维度OpenSpecSpec-Kit
规范结构Delta(增量变更)Full(全量模板)
变更哲学Git 式变更记录Word 式文档迭代
Brownfield 友好度高——存量项目分层叠加低——需从头写全量规范
Main Spec 来源涌现(从 Delta 累积)预定(先定义再实现)

关键弱点

  1. 规范维护成本:规范本身需要维护,项目演化越快成本越高
  2. 小变更负担重:小改动也需走完整 Change 流程(4 个文件)
  3. 跨服务编排缺失:原生不支持下,多服务场景需外部机制补充
  4. 工程文化依赖:要求团队有维护规范的纪律和意愿

矛盾:SDD 终极成熟度模型 Spec-as-Source 的愿景是”改 spec 触发代码重生成”,spec 成为唯一真相源 vs OpenSpec 的设计哲学认为 Main Spec 是”涌现而非预设”——全量规范从来不是目标,增量 Delta 才是自然状态 来自 [[raw/2026-06-20/Jameszyh/OpenSpec 深度剖析:规约驱动开发的终极形态.md]]

任务原子化:上下文隔离的执行单元理论

Jameszyh 提出的任务原子化理论将 SDD 的任务分解从文档层面的”拆得好不好”推进到工程层面的”上下文隔离是否到位”。[[raw/2026-06-20/Jameszyh/核心原理(三):任务原子化为可独立执行的单元.md|来源: 任务原子化]]

三大内在矛盾

LLM 上下文窗口的三个结构性矛盾是 AI 编程质量退化的根因:

  1. 广度 vs 深度:上下文内容越多,模型在每个主题上的推理深度越浅
  2. 长任务 vs 注意力衰减:任务越长,模型在后半段的注意力准确度越低
  3. 并行 vs 串行:多任务共享上下文会导致互相干扰

任务原子化三机制

任务原子化是三个耦合机制的组合:

  1. 原子任务:每个任务可独立加载、独立执行、独立验证
  2. 上下文隔离:不同任务运行在分离的上下文中,互不污染
  3. 子 Agent 并行:隔离后的任务可并行执行

三条核心标准

  1. 上下文占用 < 50%:30% 留给推理,20% 留给输出生成——预留空余给模型思考,而不是塞满所有 token
  2. 显式依赖闭合:每个任务输出声明上下游依赖,不自闭就不可靠
  3. 二元完成标准:完成/未完成二值判定,不接受”部分完成”的模糊状态

四个反模式

  1. 伪原子任务:表面上拆成小任务,实际上共享同一份大上下文 → 没有真正隔离
  2. 上下文非隔离:多个任务运行在同一个上下文中 → 相互污染
  3. 并行无共享真相源:多个 Agent 并行但缺乏共享状态协调 → 结果冲突
  4. 忽略任务依赖:先执行下游任务再执行上游 → 循环返工

微服务架构同构

一个深刻的类比:任务原子化与微服务架构存在结构同构——服务边界 = 任务边界,API = 文件系统,编排器 = K8s。AI 编程从”单核”向”多核”转变,理论上可线性扩展。[[raw/2026-06-20/Jameszyh/核心原理(三):任务原子化为可独立执行的单元.md|来源: 任务原子化]]

SDD 框架的原子化盲区

批判性观察:OpenSpec、Spec-Kit 等 SDD 框架专注规范结构但缺乏执行隔离——它们把”任务拆得好”等同于”文档写得清楚”,而真正的问题是执行上下文是否隔离。不配合上下文隔离框架(如 GSD)使用时,SDD 框架的原子化是”纸面上的原子化”。[[raw/2026-06-20/Jameszyh/核心原理(三):任务原子化为可独立执行的单元.md|来源: 任务原子化]]

矛盾:SDD 框架(OpenSpec、Spec-Kit)提供了完整的 Harness 覆盖 vs SDD 框架固有地弱原子化——它们专注于规范结构而缺乏执行隔离,必须与上下文工程框架(如 GSD)组合使用才能真正实现任务原子化 来自 [[raw/2026-06-20/Jameszyh/核心原理(三):任务原子化为可独立执行的单元.md]]

18 种 RAG 技术全景

基咯咯对 18 种 RAG 技术做了系统性对比评分:

技术评分关键特征
Adaptive RAG0.86自适应路由,动态选择检索策略
Hierarchical Indices0.84双层索引,先粗后细
Fusion0.83多方法结果融合
CRAG0.824检索结果自我修正

反直觉发现:语义分块评分低于简单 RAG,仅改分块策略不保证提升。0.8+ 技术的共同点是在检索之外引入额外智能层(自适应路由/双层索引/多方法融合)。

技术六层分类

分块 → 检索增强 → 查询优化 → 结果优化 → 智能路由 → 高阶

关键概念速查:HyDE(假设文档嵌入,用生成式模型先构造假设文档再检索)、CRAG(检索结果自我修正,对检索到的内容做二次校验)、RSE(检索增强自我评估)。

[[raw/2026-05-16/基咯咯/18种RAG技术大比拼:谁才是检索增强生成的最佳选择?.md|来源: 18种RAG]]

Perplexity Snippet 压缩:查询感知的抽取式压缩

Perplexity 的 Snippet 生成技术是 RAG 管线中容易被忽视但极其关键的一环:

  • 核心思路:查询感知的抽取式压缩——保留原文不重写,只决定哪些文本片段保留/丢弃。不是摘要生成,而是精确裁剪。
  • 技术架构:pplx-diffusion 双向编码器 + 轻量级压缩头,用 75 万条 LLM-as-judge 标注数据训练
  • 推理优化:层剪枝 28→17 层 + token 级蒸馏,推理延迟降 35-40%,p99 低于 20ms
  • BrowseComp 基准测试:压缩后 token 用量降 10-70%,准确率提升 4-4.81 个百分点;“低”压缩预设超过无压缩的”高”预设
  • 内容质量提升:压缩后核心内容占比提升 63%,UI/导航减少 58%,元数据减少 46%

非单调效应

一个反直觉发现:压缩后”高”预设反而比”中”预设 token 用量更少——因为更多上下文让模型用更少步骤就得出了正确结果。这说明压缩不是简单的”越少越好”,而是一个非线性优化问题。[[raw/2026-05-21/ChallengeHub/RAG 里最容易被忽视的一环:Perplexity 的 Snippet 压缩是怎么做的.md|来源: ChallengeHub-Perplexity Snippet]]

这与上文 [[#18 种 RAG 技术全景|18 种 RAG 技术]] 中”0.8+ 技术共同点是在检索之外引入额外智能层”的发现一致——Snippet 压缩本身就是一种查询感知的智能预处理层。

SDD 工程化实战:用 Claude Code 做大型重构(2026-06 新增)

扶苏分享了用 Spec-Driven Development 在 Claude Code 里实现大型代码库重构的工程化方法,核心思路是把”做什么”和”怎么做”分离——先写 spec(做什么),再让 Agent 按 spec 执行。与 [[#SDD 六要素与三种模式(ChallengeHub 体系)|SDD 六要素]] 形成互补——一个讲框架,一个讲实战。 [[raw/2026-06-11/扶苏/Spec-Driven Development:用 Claude Code 实现大型重构的工程化方法.md|来源: 扶苏 SDD 大型重构]]

Capihom:Notion 的规范驱动开发工作流

Capihom 分享了 Notion 的 AI 工程工作流程——SDD 的另一种落地形态。核心是把需求规范写成机器可读的结构化文档,AI agent 按 spec 逐步执行。这是 SDD 从”Claude Code 内部实践”走向”通用工程方法论”的标志。 [[raw/2026-06-08/Capihom/规范驱动开发:Notion的AI工程工作流程丨How I AI.md|来源: Capihom Notion SDD]]

设计模式在 AI 时代的重新定位

王顺驰提出”设计模式已死?“的反问。AI Coding 时代传统 23 种设计模式的地位正在变化——AI 能快速生成符合模式的代码,人不再需要死记模式实现细节。但模式背后的设计原则(单一职责、开闭原则、依赖倒置)仍然重要——它们从”代码模板”升级为”spec 描述语言”。与 franslee 的”编程范式重审”(显式优于隐式、直白优于炫技)形成呼应——AI Coding 时代过度抽象和炫技式模式反而增加 AI 理解成本。 [[raw/2026-06-10/王顺驰/设计模式已死?.md|来源: 王顺驰 设计模式已死]]

Matt Pocock Skills:工程纪律的模块化封装

2026年3月,TypeScript 社区知名开发者 Matt Pocock 将自己日常在 Claude Code 中使用的 .claude/skills 目录开源为 mattpocock/skills 仓库。与 GSD、Spec-Kit、Superpowers 等试图”接管整个流程”的框架不同,它的设计哲学是:小而精、可组合、易适配、模型无关——本质上是把软件工程最佳实践封装为 AI 可执行的标准化流程,而不是替开发者做决策。 [[raw/2026-06-20/兔兔AGI/打造真实项目的 AI 编程环境:Matt Pocock 的 Skill 工作流完整上手攻略.md|来源: 兔兔AGI Matt Pocock Skills]] [[raw/2026-05-18/AgentBuff/VibeCoding工程化实践之Matt Pocock Skills,软件工程经验的技能结晶.md|来源: AgentBuff Matt Pocock Skills]]

核心哲学:反馈链失效而非模型能力不足

Matt Pocock 提出的核心论点是:AI 编程的失败普遍源于工程反馈链的失效,而非模型能力不足。 需求对齐、测试验证、诊断修复才是真正瓶颈——模型写代码足够快,但缺乏一套让 AI 能持续协作的机制会导致返工成本指数级放大。这与此前 [[#Vibe Coding vs SDD:先易后难 vs 先难后易|Vibe Coding 的代价曲线]] 形成呼应:问题不在代码生成速度,而在校正和验证环节。 [[raw/2026-06-20/兔兔AGI/打造真实项目的 AI 编程环境:Matt Pocock 的 Skill 工作流完整上手攻略.md|来源: 兔兔AGI Matt Pocock Skills]]

六步标准工作流

Matt Pocock Skills 的核心使用流程是一条端到端六步链,从需求对齐到架构维护全覆盖:

/grill-with-docs(需求对齐 + 领域术语沉淀)

/to-prd(对话 → PRD 文档)

/to-issues(PRD → 垂直切片 Issue)

/tdd(红绿重构逐个切片实现)或 /diagnose(六阶段纪律化调试)

/zoom-out(系统视角解读代码)或 /improve-codebase-architecture(周期性架构改善)

每一步的定位:

  • /grill-with-docs 是最受欢迎的技能——让 Agent 主动追问模糊点,同时自动更新 CONTEXT.md(项目术语表)和 ADR(架构决策记录)。这与 [[#SDD 四阶段模型|SDD 需求分析阶段]] 的目标一致,但实现路径不同:不是开发者写 spec,而是 Agent 通过结构化追问倒逼需求澄清。 [[raw/2026-05-18/AgentBuff/VibeCoding工程化实践之Matt Pocock Skills,软件工程经验的技能结晶.md|来源: AgentBuff Matt Pocock Skills]]
  • /to-prd 从对话上下文中提取信息生成 PRD(问题陈述、解决方案、用户故事、实现决策、测试决策、范围外说明)。 [[raw/2026-06-20/兔兔AGI/打造真实项目的 AI 编程环境:Matt Pocock 的 Skill 工作流完整上手攻略.md|来源: 兔兔AGI Matt Pocock Skills]]
  • /to-issues 按垂直切片(见下)拆分为 HITL(需人类参与)和 AFK(AI 独立完成)两类 Issue。 [[raw/2026-05-18/AgentBuff/VibeCoding工程化实践之Matt Pocock Skills,软件工程经验的技能结晶.md|来源: AgentBuff Matt Pocock Skills]]
  • /tdd 严格 Red-Green-Refactor 循环,强制垂直切片(一个行为一个失败测试一个最小实现,而非先写所有测试再一次性生成)。 [[raw/2026-06-20/兔兔AGI/打造真实项目的 AI 编程环境:Matt Pocock 的 Skill 工作流完整上手攻略.md|来源: 兔兔AGI Matt Pocock Skills]][[#SDD 六要素与三种模式(ChallengeHub 体系)|SDD 与 TDD/BDD 的叠加关系]](TDD 管单元层、BDD 管行为层、SDD 管架构层)互补——Matt Pocock 的 /tdd 是这一三层模型在实践层面的具体实现。 [[raw/2026-05-18/AgentBuff/VibeCoding工程化实践之Matt Pocock Skills,软件工程经验的技能结晶.md|来源: AgentBuff Matt Pocock Skills]]
  • /diagnose 六阶段调试纪律:建反馈循环(最关键)→ 复现 → 3-5个可证伪假设 → 插桩验证 → 修复 + 回归测试 → 清理复盘。强调”调试效率取决于反馈速度,而非阅读代码速度”。 [[raw/2026-05-18/AgentBuff/VibeCoding工程化实践之Matt Pocock Skills,软件工程经验的技能结晶.md|来源: AgentBuff Matt Pocock Skills]]
  • /improve-codebase-architecture 扫描代码库找”浅模块”(接口和实现一样复杂的模块),提出深化机会——防止 AI 加速代码熵增。 [[raw/2026-05-18/AgentBuff/VibeCoding工程化实践之Matt Pocock Skills,软件工程经验的技能结晶.md|来源: AgentBuff Matt Pocock Skills]]

垂直切片原则

Matt Pocock 强调的 Issue 拆分原则——按用户可感知的行为拆任务,而非按文件拆任务——是对 [[#SDD 六要素与三种模式(ChallengeHub 体系)|ChallengeHub SDD 任务拆分]] 的具体方法论补充:

错误(水平切片):“新增 auth utils 文件”、“新增 API 路由”、“新增前端组件” 正确(垂直切片):“新增 GitHub OAuth 登录按钮”——一个端到端可独立验收的用户行为

垂直切片的好处:每个 Issue 可独立验收,Agent 在较小范围内完成闭环,反馈更快、偏航更容易发现。这与 ChallengeHub 的”对抗式验证”逻辑一致——可独立验收的切片天然适合验证者独立检查。 [[raw/2026-06-20/兔兔AGI/打造真实项目的 AI 编程环境:Matt Pocock 的 Skill 工作流完整上手攻略.md|来源: 兔兔AGI Matt Pocock Skills]] [[raw/2026-05-18/AgentBuff/VibeCoding工程化实践之Matt Pocock Skills,软件工程经验的技能结晶.md|来源: AgentBuff Matt Pocock Skills]]

与主流工作流选型对比

Matt Pocock Skills 与五种主流 AI 编程工作流构成完整的选型坐标系,没有绝对优劣,取决于项目阶段和团队需求: [[raw/2026-06-20/兔兔AGI/打造真实项目的 AI 编程环境:Matt Pocock 的 Skill 工作流完整上手攻略.md|来源: 兔兔AGI Matt Pocock Skills]] [[raw/2026-05-18/AgentBuff/VibeCoding工程化实践之Matt Pocock Skills,软件工程经验的技能结晶.md|来源: AgentBuff Matt Pocock Skills]]

工作流关注重点适合场景主要取舍
Matt Pocock Skills需求澄清、测试、诊断和代码整理日常开发、长期维护、小团队协作灵活高,需开发者主动决策
GSD长周期任务管理与上下文延续跨天任务、多文件改动、复杂需求流程完整,小任务略显繁琐
BMAD角色分工和规范化研发流程0 到 1 产品开发、多人协作体系完整,学习成本较高
Superpowers测试驱动开发(TDD)重视测试质量的个人或小团队测试纪律要求较高
Spec-Kit规格和需求驱动开发企业项目、需求评审和规范先行前期投入大,过程更可控
OpenSpec规范驱动 + DAG 产物依赖Brownfield 存量项目规范化需维护规范文件和 Schema

具体场景推荐:

  • 日常开发:优先 Matt Pocock Skills
  • 跨天大型任务:GSD
  • 0 到 1 产品开发、流程要求较重:BMAD
  • 特别重视测试质量:参考 Superpowers
  • 需求规范驱动的企业项目:Spec-Kit 更贴近
  • 存量项目流程规范化:OpenSpec

控制权轴线:手动编排 vs 自动化 vs 规范驱动

Matt Pocock Skills 与 OpenSpec、Superpowers 代表了三种不同的工作流控制哲学: [[raw/2026-05-18/AgentBuff/VibeCoding工程化实践之Matt Pocock Skills,软件工程经验的技能结晶.md|来源: AgentBuff Matt Pocock Skills]]

维度Matt Pocock SkillsOpenSpecSuperpowers
设计理念工程纪律的模块化封装规范先行,产物驱动端到端全自动流水线
触发方式用户手动调用用户 slash 命令驱动Agent 自动判断触发
侵入性低——不改变工作流中——需维护规范文件高——接管开发流程
学习曲线低——每个技能独立中——需理解产物图和 Schema中高——需理解完整方法论

三者在理论上可以共存:OpenSpec 管”做什么”(规范层)、Superpowers 管”怎么做”(执行层)、Matt Pocock Skills 管”做得好”(质量层)[[raw/2026-05-18/AgentBuff/VibeCoding工程化实践之Matt Pocock Skills,软件工程经验的技能结晶.md|来源: AgentBuff Matt Pocock Skills]]

安装与初始化

npx skills@latest add mattpocock/skills

交互式 CLI 选择要安装的 skill 和目标 Agent。首次安装后运行 /setup-matt-pocock-skills 初始化,配置三项核心约定: [[raw/2026-06-20/兔兔AGI/打造真实项目的 AI 编程环境:Matt Pocock 的 Skill 工作流完整上手攻略.md|来源: 兔兔AGI Matt Pocock Skills]]

  1. Issue Tracker:GitHub Issues / Linear / 本地 Markdown
  2. Triage 标签:needs-triage → needs-info → ready-for-agent → ready-for-human → wontfix 五状态流转
  3. 领域文档位置CONTEXT.md(默认推荐)、docs/adr/(架构决策记录)、Monorepo 用 CONTEXT-MAP.md

初始化后项目会自动生成领域语言术语表、ADR、标签字典等协作文件——“AI 编程环境的第一步,不急着装更多工具,更重要的是让上下文有地方沉淀”。 [[raw/2026-06-20/兔兔AGI/打造真实项目的 AI 编程环境:Matt Pocock 的 Skill 工作流完整上手攻略.md|来源: 兔兔AGI Matt Pocock Skills]]

Goal 模式方法论:Agent 执行契约

多条独立来源从不同角度总结出高度一致的 Goal 模式最佳实践——Goal 不是”给 AI 下达的指令”,而是人和 AI 之间的一纸契约,验收标准才是核心。[[raw/2026-06-20/万物构想/让你的 CC - Codex 无人值守:6 个可直接复用的 -goal 模板.md|来源: 6 个 Goal 模板]] [[raw/2026-06-20/陈蛋黄/当我跨过沉沦的代码:Codex Goal 模式生存指南.md|来源: Codex Goal 生存指南]]

四要素框架

陈蛋黄提出好 Goal 的四要素,每个维度约束不同类型的风险:

要素约束对象说明
目标要硬做什么具体可感知的结果,而非抽象描述
证据要严谨如何证明日志、测试结果、代码状态等可验证的证据链
边界是枷锁不做什么明确的”非目标”和范围限制
停止条件是缰绳何时停完成条件 + 超时 + 相同 blocker 连续出现两次则停止

矛盾:好的 goal 三要素(具体 outcome、可衡量标准、明确边界条件) vs 好 Goal 四要素(目标、证据、边界、停止条件——增加了停止条件作为独立维度) 来自 [[raw/2026-06-20/陈蛋黄/当我跨过沉沦的代码:Codex Goal 模式生存指南.md|来源: Codex Goal 生存指南]]

六字段模板

万物构想提供了六个即用型 YAML 模板(代码重构、发布流水线、数据清洗、博客写作、测试修复、依赖升级),每个模板包含六个字段:[[raw/2026-06-20/万物构想/让你的 CC - Codex 无人值守:6 个可直接复用的 -goal 模板.md|来源: 6 个 Goal 模板]]

  • title:目标标题
  • inputs:输入上下文
  • success_criteria:成功标准
  • common_failure_modes:常见失败模式(如”用 sleep 掩盖竞态”、“只升不测”)
  • short_test:快速验证命令——声明完成前运行的二进制状态检查
  • deliverables:交付物

模板同时兼容 Claude Code 和 Codex。

Short Test 设计模式

short_test 是 Goal 模式中的关键创新——它是一个快速 shell 命令,在 Agent 声明完成前运行,提供独立的二进制验证手段。与传统”AI 自评”模式不同,short_test 用可执行的 shell 命令做客观验证,避免了”AI 说它完成了”的信任问题。[[raw/2026-06-20/万物构想/让你的 CC - Codex 无人值守:6 个可直接复用的 -goal 模板.md|来源: 6 个 Goal 模板]]

Common Failure Modes 的实战价值

显式列出”哪些错误是 AI 容易犯的”(如用 sleep 掩盖竞态条件、只升级依赖不运行测试)——相比成功条件的泛泛描述,这些明确禁忌更具实战指导价值。

执行前预检机制

陈蛋黄强调 Goal 必须要求 Agent 先执行三件事才能开工:读文档和 AGENTS.md → 输出自己的理解确认 → 发现冲突时暂停。这套预检机制防止”AI 拿到不够清晰的任务描述就直接开干”的误解路径。[[raw/2026-06-20/陈蛋黄/当我跨过沉沦的代码:Codex Goal 模式生存指南.md|来源: Codex Goal 生存指南]]

最终审计不可省略

长任务结束时,Goal 必须强制重新读文档、逐条对齐验收标准、以 git status 为证据。GitHub 社区已有报告:Agent 在上下文压缩过程中逐渐弱化原始 Goal 中的 audit 要求,导致草率交付——因此必须最终强制重新对齐。

哲学视角:Goal 是契约而非指令

Goal 的核心哲学转变:它不是问 AI”你能不能做这个”,而是规定”我们的合作条件是这些”——目标是验收标准(acceptance criteria),不是任务描述(task description)。这与 [[#SDD 三级成熟度与完整模板|SDD 中 Spec 即契约的理念]] 一致,但 Goal 模式将其从”规范层”下沉到了”执行层”。

跨平台链式工作流

陈蛋黄提出 Claude Code /plan + Codex /goal 的最佳组合模式:先用 Claude Code 的 /plan 做方案分析和推理,再用 Codex 的 /goal 做长线执行。两个工具从竞争走向互补——/plan 管”想清楚”,/goal 管”执行透”。[[raw/2026-06-20/陈蛋黄/当我跨过沉沦的代码:Codex Goal 模式生存指南.md|来源: Codex Goal 生存指南]]

2026-07 更新:渐进式 SDD 与 Lattice Harness

Dolphin7 的上下篇把 SDD 从”写完整大 Spec”修正为渐进式规约驱动:先用最小可验证 Spec 固定可接受解空间,再通过执行反馈补充约束、失败模式和验收证据。Spec 不是一次写完的真理,而是当前可验证的约束集合。[[raw/2026-06-30/Dolphin7/爆肝长文:SDD 实战上篇,从 Vibe Coding 到渐进式 Spec驱动开发.md|来源: 渐进式 SDD 上篇]] [[raw/2026-07-02/Dolphin7/爆肝长文:SDD 实战下篇,从渐进式 SDD 到 Lattice Harness:AI Coding 的团队级闭环.md|来源: Lattice Harness]]

Lattice Harness 补的是团队级闭环:单个 Spec 解决”这次任务怎么不跑偏”,团队级 Harness 还要解决上下文、验证证据、漂移检查、Loop/Learn、仓库本地契约和跨任务学习。它不是替代 SDD,而是让多个 SDD 任务之间能沉淀规则和回归证据。[[raw/2026-07-02/Dolphin7/爆肝长文:SDD 实战下篇,从渐进式 SDD 到 Lattice Harness:AI Coding 的团队级闭环.md|来源: Lattice Harness]]

新的操作性定义:Spec 是主张,不是真理;真理在代码、测试、生产证据和用户反馈里。 所以 SDD 必须绑定 short_test、common_failure_modes、final audit 和 drift check,否则 Spec 只会变成另一种漂亮废话。[[raw/2026-06-23/Dolphin7/SDD 实战手记 [09-10] - Loop Engineering:为什么你的 Agent 跑不起循环?.md|来源: Loop 为什么跑不起]] [[raw/2026-06-21/Dolphin7/SDD 实战手记 [08-10] - 落地 Superpowers 后,为什么效率没有同步提升?.md|来源: Superpowers 效率未同步]]

2026-07 更新:未知管理作为 Spec 前置层

Fable 5 使用方法相关资料已拆到专页 [[wiki/concepts/Fable 5 使用方法]]。它补的是 SDD 的前置层:先通过 blind spot pass、原型、访谈、参照物、实现笔记和验收测验把 unknowns 挖出来,再写 Spec 或 Goal。Spec 不应只从”我要什么功能”开始,而应先把人类没说清、见了才认得、甚至完全没意识到的问题显性化。

反向链接

  • [[wiki/entities/Claude Code]]
  • [[wiki/entities/Codex 与 Claude Code 集成]]
  • [[wiki/entities/CLAUDE.md 与 .claude 配置]]
  • [[wiki/concepts/上下文管理与 Harness Engineering]]
  • [[wiki/concepts/Skills、Agents 与工具设计]]

输入关键词开始搜索