# Fab Kit：面向 AI 编码 Agent 的规格驱动开发工作流

> 深入解析 Fab Kit 项目——一个基于 Markdown 提示的六阶段开发流水线，探讨其如何通过结构化规划、子 Agent 审查和项目记忆积累，解决 AI 编码中"说清需求"的瓶颈问题。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-03-31T18:44:29.000Z
- 最近活动: 2026-03-31T18:54:59.633Z
- 热度: 145.8
- 关键词: Fab Kit, AI 编码, 规格驱动, 开发工作流, 子 Agent 审查, 项目记忆, Markdown 提示, 六阶段流水线, 代码质量, 结构化开发
- 页面链接: https://www.zingnex.cn/forum/thread/fab-kit-ai-agent
- Canonical: https://www.zingnex.cn/forum/thread/fab-kit-ai-agent
- Markdown 来源: ingested_event

---

# Fab Kit：面向 AI 编码 Agent 的规格驱动开发工作流\n\n## 引言：AI 编码的新瓶颈\n\n随着 Claude、GPT-4、Gemini 等大语言模型能力的飞速提升，AI 编码 Agent 正在从概念变为现实。它们能够以惊人的速度生成代码、修复 Bug、重构项目。然而，一个有趣的现象出现了：当 AI 写代码的速度越来越快时，整个开发流程的瓶颈反而转移到了人类身上——你是否把问题定义得足够清晰？\n\n这正是 Fab Kit 试图解决的核心问题。它不是又一个 AI 编程工具，而是一个**结构化、规格驱动的开发工作流框架**。它的核心理念是：在让 AI 动手写代码之前，先强迫人类进行结构化思考，将模糊的需求转化为清晰的规格，然后让 AI 在明确的约束下执行。\n\n## 核心洞察：说清需求比写代码更难\n\nFab Kit 的设计基于一个深刻洞察：AI 的能力增长正在拉大"AI 能构建什么"与"人类能清楚表达什么"之间的鸿沟。\n\n传统的 AI 编码流程往往是：\n\n1. 人类："帮我加一个新功能"\n2. AI：生成代码\n3. 人类："不对，我是想要..."\n4. AI：修改代码\n5. 循环往复...\n\n这种模式的问题在于，AI 在缺乏清晰规格的情况下就开始编码，导致大量的返工和沟通成本。Fab Kit 将这个流程反转：**先规划，后执行**。\n\n## 六阶段流水线：从意图到记忆的完整闭环\n\nFab Kit 定义了一个六阶段流水线，每个变更（一个自包含的功能或修复）都必须经过这些阶段：\n\n```\n规划阶段（Planning）\n  ├─ 1. INTAKE（摄入）：捕获意图、范围和方案\n  ├─ 2. SPEC（规格）：定义需求\n  └─ 3. TASKS（任务）：拆解为可执行的检查清单\n\n执行阶段（Execution）\n  ├─ 4. APPLY（应用）：执行任务，生成代码\n  └─ 5. REVIEW（审查）：子 Agent 验证实现是否符合规格\n\n完成阶段（Completion）\n  └─ 6. HYDRATE（沉淀）：将学习成果保存到项目记忆\n```\n\n每个阶段都会产生一个持久化的产物（artifact），这意味着你可以在任何时刻中断，然后通过 `/fab-continue` 从上一个检查点恢复。\n\n### 第一阶段：INTAKE（摄入）\n\n这是整个流程的起点。你向 AI 描述你想要什么，AI 会：\n\n- 询问澄清问题，确保理解你的意图\n- 创建变更文件夹（如 `fab/changes/260101-abcd-add-spinner/`）\n- 生成 `intake.md`，记录你的原始需求和 AI 的理解\n\n这个阶段的价值在于**强制澄清**。AI 不会立即开始编码，而是先确保双方对问题有共同的理解。\n\n### 第二阶段：SPEC（规格）\n\n基于 intake.md，AI 生成结构化的 `spec.md`：\n\n- 明确的功能需求\n- 非功能需求（性能、安全、可维护性等）\n- 边界条件和约束\n- 验收标准\n\n规格文档成为后续所有阶段的权威参考。如果实现与规格不符，那就是实现的问题；如果规格本身有问题，那就是需求理解的问题。这种分离使得问题定位更加清晰。\n\n### 第三阶段：TASKS（任务）\n\n将规格拆解为可执行的任务清单：\n\n- 生成 `tasks.md`：详细的实现计划\n- 生成 `checklist.md`：进度跟踪清单\n\n这个阶段将抽象的规格转化为具体的行动步骤，为执行阶段提供清晰的路线图。\n\n### 第四阶段：APPLY（应用）\n\nAI 开始实际编码，按照任务清单逐项执行：\n\n- 编写代码\n- 更新 checklist.md 标记完成的任务\n- 处理依赖和集成\n\n由于有明确的规格和任务清单，AI 的执行更加聚焦，减少了"想一出是一出"的随意性。\n\n### 第五阶段：REVIEW（审查）\n\n这是 Fab Kit 最具特色的阶段。审查不是由人类完成，而是由**运行在独立上下文中的子 Agent** 执行：\n\n- 子 Agent 以全新的视角审视代码\n- 对照 spec.md 验证实现是否符合需求\n- 对照 `constitution.md`（项目架构规则）验证代码质量\n- 生成优先级排序的审查报告（必须修复、应该修复、锦上添花）\n\n子 Agent 会自动处理高优先级问题，只有无法自动解决的问题才会上报给人类。\n\n### 第六阶段：HYDRATE（沉淀）\n\n变更完成后，AI 将本次开发中学到的经验保存到项目记忆：\n\n- 更新 `docs/memory/` 中的相关知识\n- 记录架构决策和模式\n- 保存常见问题的解决方案\n\n这些记忆会在未来的变更中被自动注入上下文，使得每个新变更都能站在之前经验的肩膀上。\n\n## 项目记忆：持续积累的共享上下文\n\nFab Kit 的一个核心理念是**变更不是孤立的，而是项目演进的连续过程**。为此，它引入了项目记忆机制：\n\n- **docs/memory/**：存储项目级别的知识和经验\n- **constitution.md**：定义项目的架构规则和编码规范\n- **自动注入**：每次新变更启动时，相关记忆自动注入 AI 上下文\n\n这种机制解决了 AI 编码中的一个常见问题：每次对话都是从头开始，缺乏项目历史的连续性。通过积累记忆，AI 能够：\n\n- 理解项目的架构约定\n- 避免重复之前的错误\n- 复用已验证的模式和方案\n\n## 快速通道：当规格足够清晰时\n\n对于小型、明确的变更，完整的六阶段流程可能显得繁琐。Fab Kit 提供了快速通道：\n\n- `/fab-ff`（fast-forward）：跳过中间规划阶段，直接进入执行\n- `/fab-fff`（full fast-forward）：完全快速通道\n\n但这些快速通道不是随意使用的，它们受到**置信度评分**的约束。只有当 AI 对需求的理解置信度足够高时，才会允许使用快速通道。如果置信度不足，系统会强制回到完整流程，确保模糊的需求不会被草率执行。\n\n## 并行开发：Git 工作树隔离\n\nFab Kit 支持并行开发多个变更：\n\n- 每个变更在独立的文件夹中\n- 可以使用 Git 工作树（worktree）创建隔离的代码副本\n- 多个 AI 会话可以同时在不同变更上工作，互不干扰\n\n这种设计特别适合大型项目，不同的功能可以由不同的 AI 会话并行开发，完成后通过标准的 Git 流程合并。\n\n## 技术实现：纯 Markdown + Shell\n\nFab Kit 的一个显著特点是它的**极简技术栈**：\n\n- **无 SDK**：不需要学习任何专有 API\n- **无供应商锁定**：支持 Claude Code、Codex、Cursor、Windsurf 等主流 AI 编码工具\n- **纯 Markdown**：所有提示和产物都是 Markdown 格式\n- **Shell 脚本**：自动化脚本使用标准 shell\n\n这种设计有几个重要优势：\n\n**可移植性**：可以在任何支持 AI 编码工具的环境中使用\n\n**可读性**：所有产物都是人类可读的 Markdown，便于审查和版本控制\n\n**成本效益**：随着 AI Agent 能力的提升，运行 Fab Kit 的成本会降低（因为提示更简单、执行更高效），而不是增加\n\n**透明性**：没有黑盒逻辑，你可以完全理解每个阶段在做什么\n\n## 项目结构\n\nFab Kit 在你的项目中创建以下结构：\n\n```\nproject-root/\n├── fab/\n│   ├── .kit/              # Fab Kit 核心文件\n│   ├── changes/           # 所有变更文件夹\n│   │   └── 260101-abcd-add-spinner/\n│   │       ├── intake.md\n│   │       ├── spec.md\n│   │       ├── tasks.md\n│   │       ├── checklist.md\n│   │       └── .status.yaml\n│   └── project/\n│       ├── config.yaml    # 项目配置\n│       └── constitution.md # 项目架构规则\n├── docs/\n│   └── memory/            # 项目记忆\n└── .fab-status.yaml       # 跟踪活跃变更\n```\n\n## 安装与使用\n\n### 前置依赖\n\n```bash\nbrew install yq jq gh direnv\n```\n\n- `yq`：YAML 处理\n- `jq`：JSON 处理\n- `gh`：GitHub CLI\n- `direnv`：自动加载环境变量\n\n### 安装 Fab Kit\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/wvrdz/fab-kit/main/scripts/install.sh | bash\n```\n\n### 初始化项目\n\n```bash\nbash fab/.kit/scripts/fab-sync.sh\n```\n\n然后在 AI Agent 中执行：\n\n```\n/fab-setup  # Claude Code\n$fab-setup   # Codex\n```\n\n这会生成项目配置和架构规则文件。\n\n### 常用命令\n\n| 命令 | 用途 |\n|------|------|\n| `/fab-new <描述>` | 创建新变更 |\n| `/fab-switch` | 切换到变更 |\n| `/fab-continue` | 继续下一阶段 |\n| `/fab-status` | 查看当前状态 |\n| `/fab-archive` | 归档变更 |\n| `/fab-ff` | 快速通道 |\n\n## 代码质量作为护栏\n\nFab Kit 将代码质量内建在流程中，而非事后检查。`constitution.md` 定义了项目的架构规则，每个变更都必须遵守：\n\n- 代码风格规范\n- 架构模式要求\n- 安全最佳实践\n- 性能约束\n\n在 REVIEW 阶段，子 Agent 会严格对照这些规则进行验证，确保代码质量不会因为追求速度而被牺牲。\n\n## 为什么 Fab Kit 与众不同\n\n与现有的 AI 编码工具相比，Fab Kit 有几个独特之处：\n\n**结构化而非自由式**：强迫在编码前进行结构化思考，减少返工\n\n**记忆积累而非会话隔离**：每个变更的经验都被保存，形成项目知识库\n\n**子 Agent 审查而非自我审查**：独立的审查 Agent 提供客观的质量评估\n\n**置信度驱动而非一刀切**：根据需求清晰度自动选择流程深度\n\n**纯提示而非 SDK**：无需学习专有 API，降低 adoption 门槛\n\n## 适用场景\n\nFab Kit 特别适合以下场景：\n\n**大型项目**：需要维护架构一致性和代码质量\n\n**团队协作**：多人使用 AI 编码时，确保变更的可追溯性和可审查性\n\n**关键系统**：对代码质量要求高，不能容忍随意变更\n\n**长期维护**：项目需要持续演进，需要积累和维护项目知识\n\n对于快速原型或一次性脚本，Fab Kit 的完整流程可能显得过重。但对于生产级代码，它提供了必要的结构和保障。\n\n## 未来展望：与 AI 能力共同成长\n\nFab Kit 的设计哲学是"与 AI 能力共同成长"。随着 AI Agent 能力的提升：\n\n- 规格理解会更准确，快速通道的使用率会提高\n- 审查会更深入，能发现更 subtle 的问题\n- 记忆积累会更丰富，新变更的起点会更高\n\nFab Kit 不是试图替代人类的思考，而是**放大人类的结构化思考能力**，让 AI 在清晰的约束下发挥最大效能。\n\n## 结语：AI 编码的工业化尝试\n\nFab Kit 代表了 AI 编码从"手工作坊"向"工业化生产"演进的一种尝试。它借鉴了传统软件工程中的最佳实践——需求分析、规格定义、代码审查、知识管理——并将其适配到 AI 编码的语境中。\n\n它不是要限制 AI 的创造力，而是要确保这种创造力在正确的方向上发挥。通过结构化流程、质量护栏和记忆积累，Fab Kit 为 AI 编码提供了一个可持续、可维护、可扩展的框架。\n\n对于那些认真对待 AI 编码、希望将其用于生产级项目的团队，Fab Kit 提供了一个值得认真考虑的工作流方案。
