摘要
build-from-product-docs 是一个以里程碑为单位的实现型 agent,定义于本仓库 .github/agents/build-from-product-docs.agent.md。它把 docs/product/<slug>/ 下的产品文档(PRD、原型简报、架构文档、实施积压)转化为可运行的软件工程。其核心设计哲学是小批量、强门禁、证据驱动、可续跑:每次只实现 1-3 个任务,任何功能在没有可复现的验证证据之前不得标记为"完成",并持久化全部执行状态以保证跨会话续跑。
本文从功能、优点、缺点、商业价值与推广可行性五个维度对其进行分析,结论是:它是一个工程纪律远高于普通 AI 编程工具的实现 agent,能把代码推进到"工程上可交付"的水准,但按该仓库自己的交付工作流,它从设计上就不承担最终验收与部署的职责,因而"交付水准"是它与独立审查 agent 和人工门禁协作的结果。
1. 背景与定位
1.1 它在一个七阶段交付工作流中扮演的角色
该 agent 不是孤立工具,而是 .github/skills/delivery-workflow/SKILL.md 定义的七阶段流程(想法 → 文档 → 实现 → 验证 → 审查 → 部署 → 复盘)中阶段 3/4 的执行者:
flowchart LR
A[阶段1-2<br>prodforge 产品文档<br>requirements-review 独立复核] --> B[阶段3-4<br>build-from-product-docs<br>批处理实现]
B --> C[阶段5<br>review-implementation<br>+ ui-review 独立审查]
C --> D[阶段6<br>deploy-forge / deploy<br>人工批准部署]
D --> E[阶段7<br>learn 沉淀经验]
E -. 新需求/Bug .-> B
它在生态中的分工边界非常清晰:
| 协同方 | 关系 |
|---|---|
prodforge skill |
上游:产出它消费的产品文档 |
requirements-review |
上游门禁:文档不通过独立审查,它不得开工 |
orchestrate-build |
并列:多模块/多服务产品时由后者拆解 DAG,把它作为 worker 派发 |
review-implementation / ui-review |
下游:独立复核它的工作,专门对抗"自我验证偏差" |
deploy + deploy-forge |
下游:部署产物的生成者,但部署本身是人工门禁 |
delivery-coordinator |
协调者:维护 .github/delivery/<slug>.md 跨阶段状态 |
1.2 它的输入
01-overview.md:愿景锚点(Vision Anchor)的来源;04-selected-prd.md:需求、验收标准、权限矩阵、状态机、NFR;05-prototype-brief.md:页面、路由、交互、状态矩阵;06-architecture.md:技术栈、数据模型、API 契约;07-implementation-backlog.md:史诗/任务/里程碑;08-build-plan.md:执行状态(缺失时由它创建);09-design-tokens.json/09-component-spec.md:视觉系统单一事实来源(可选);.github/delivery/<slug>.md:跨阶段交付状态。
其中 08-build-plan.md 是它自己的持久化单一事实来源:任务队列、特性验证矩阵、冻结决策、门禁记录、Blockers、下一步建议批次全部落盘于此。agent 定义中反复强调:"out-of-sync 的构建计划是续跑失败的第一大原因"。
2. 核心功能
2.1 受控批处理执行节奏
每次运行遵循固定的九步节奏:
- Scaffold 检查:检测项目是否已存在(按平台识别信号);
- 架构一致性门禁:脚手架完成后必须通过,否则禁止任何特性开发;
- 发现上下文:读取产品文档,提取契约型输入(权限矩阵、状态机、NFR、RTM);
- 建立/更新构建计划;
- 选批:仅选 1-3 个紧密相关的任务,且必须可追溯到需求 ID;
- 每批预检:重读 C1-C9 硬约束清单、平台参考文件与冻结决策,防止长指令在长会话中被"稀释";
- 实现:倾向完整的纵向切片(vertical slice)而非摊大饼式脚手架;
- 验证:跑基线命令 + 特性级证据,UI 批次还要过原型质量门禁;
- 提交 + 状态同步:按 Conventional Commits 用简体中文提交,更新
08-build-plan.md与交付状态文件,给出续跑检查点。
2.2 三套硬门禁
这是它与普通"让 AI 写代码"最本质的区别:
① 架构一致性门禁(Architecture Conformance Gate) —— 7 项检查:分层依赖方向、适配器模式完整性、按特性组织代码、与 06-architecture.md 对齐、自定标准合规、模块化与复用、视觉资产完整性。任何严重度的发现(包括 minor)都直接判 FAIL,不存在"有条件通过"。
② 愿景对齐协议(Vision Alignment Protocol) —— 防止"任务全对、产品跑偏"这一 AI 构建最常见的失败模式。它维护四要素愿景锚点(核心承诺 / 必备体验 / 惊喜时刻 / 反目标),每批检查、每里程碑硬门禁,并保留反向挑战权:当任务列表即便全部完成也无法端到端兑现核心承诺时,它有义务停下并上报,而不是默默继续。
③ 里程碑集成门禁(Milestone Definition of Done) —— 单个任务验证通过 ≠ 里程碑成立。里程碑完成须同时满足十项:全部任务 done 且验证矩阵 pass、退出标准达成、架构门禁重跑通过、愿景检查通过、产品可用性门禁通过(一个从未用过产品的新用户能否不看文档完成主流程)、端到端主流程、跨特性集成、空库迁移+种子回读、基线全绿、历史里程碑回归。
2.3 特性验证矩阵与需求追踪
每个任务必须维护 Feature Verification Matrix 行:任务 ID、需求 ID、覆盖的验收标准、所需测试、运行时证据、UI/API 证据、结果。没有真实证据的任务永远不能标 done;同时每批维护双层 RTM(设计层在 PRD,实现与验证层在构建计划),发布范围 REQ/NFR 不允许证据空缺。
2.4 内嵌工程标准(Day-1 约束)
Agent 定义把大量工程规范直接写成"不可协商"规则:
- 架构:Controller → Service → Repository → DB 三层,依赖只向内;外部服务一律走 adapter 接口 + mock,禁止内联实例化真实客户端;
- API:统一错误信封
{ code, message, details?, trace_id },业务错误码与 HTTP 状态码分离;OpenAPI 文档与前端类型生成是强制项; - 外部依赖边界(C9):超时/取消、重试仅限幂等操作、幂等键、资源释放、多步写事务或补偿;
- 安全基线:OWASP 输入校验、参数化查询、CORS 限制、认证端点限流;数据隐私 Day-1 合规(最小化收集、同意撤回、数据导出、账户删除);
- 环境策略:开发/测试/生产三环境,
.env.example只放占位符,启动时校验环境变量快速失败; - 可观测性:结构化日志(requestId 贯穿)、带依赖状态的健康检查、指标端点、Sentry 钩子;
- UI:六态(loading/empty/error/disabled/success/partial)必覆盖、单一图标库、空状态插图、i18n、WCAG 2.2 AA;
- 脚手架即交付:CI 工作流、依赖审计(高危 CVE 即失败)、SAST/CodeQL、锁定文件、pre-commit 钩子,从第一天就位;
- 平台矩阵:微信小程序 / Flutter / uni-app / Python FastAPI / Dart Frog / Node CLI / Python 管线的独立参考文件按需加载。
2.5 全自动构建模式与安全熔断
用户说"一口气完成 / 全自动构建"时,agent 进入 Autonomous Full-Build Mode:连续跑批次、跨里程碑自动推进,但不跳过任何门禁——改变的只是"谁来批准进入下一里程碑"。同时有两条硬保险:
- 硬阻断(全自动模式下也照停):部署/合并/发布、真实密钥与付费外部服务、支付/财务/数据删除等高危模块、
critical失败、需产品决策的 blocker; - 验证熔断器:同一验证命令连续失败 2 次即停,上报失败记录与三个选项(接受风险 / 拆分任务 / 人工介入);
critical失败首次即停。
3. 优点
- 证据驱动,杜绝"嘴炮完成"。每一项"完成"都有可复现的命令输出、测试、截图或运行时证据支撑,且证据必须与验收标准对应,而非"能编译"。
- 可续跑性极强。全部状态落盘于
08-build-plan.md与交付状态文件,用户只需回复继续即可从检查点恢复,无需重复原始 prompt——这是长周期多会话构建的关键能力。 - 防跑偏机制独特。愿景锚点 + 反向挑战 + 反目标审计,直接针对 AI 生成式开发"每项任务都对,但产品不是用户要的"这一最高风险。
- 架构漂移有门禁。架构一致性检查独立于 typecheck/lint/build 之外,能发现"能编译但违反分层"的腐化。
- 工程基线高且统一。安全、合规、可观测性、i18n、a11y 都是 Day-1 而非事后补课;多产品矩阵下代码风格与结构高度一致,维护成本低。
- 成本与风险可控。1-3 任务小批量、mock-first 适配器、熔断器,避免了一次性大输出的失控与预算浪费。
- 交付物自文档化。中文 Conventional Commits 让
git log成为构建计划的时间线记录;矩阵与门禁记录本身就是给客户或审计方的交付材料。
4. 缺点
- 无法根除自我验证偏差。它既写代码又验代码,虽然内置了"独立 QA 视角"自问和严格的证据要求,但该仓库的设计本身承认这不够——必须由
review-implementation/ui-review独立复核。单独使用时,审查缺位是其最大短板。 - 强依赖上游文档质量。文档不合格(需求不可验证、状态机缺非法流转、NFR 无量化目标),它的门禁会把问题传导成实现期的频繁停工或错误实现。GIGO(垃圾进垃圾出)风险只是被门禁"前置暴露"而非"消除"。
- 对主观质量无能为力。视觉审美、可用性手感、信息密度等主观门禁,工作流明确要求人工 walkthrough 或可审查截图,"模型判断不能替代人工"。
- 批处理粒度带来效率成本。每批都要预检、验证、双文件状态同步、门禁记录,对小型产品而言仪式感开销偏重;"一口气完成"并不等于快,吞吐受批大小与门禁轮次制约。
- 存在过度工程倾向。对 MVP/原型强制 Day-1 的 CI + 依赖审计 + SAST + 数据合规 + 可观测性全套基线,可能超出早期验证阶段的实际需要。
- mock 隔离的盲区。外部服务先 mock 后真实,意味着真实集成的兼容性问题(鉴权细节、限流、格式差异)要到很晚才暴露。
- 单模块边界。定义明确它适用于"单一可部署单元、单一技术栈、约 3 个模块以内";更大规模必须交给
orchestrate-build编排。 - 上下文稀释风险仍在。尽管有每批预检机制,约 2000 行的指令 + 产品文档 + 代码在长会话中仍可能稀释注意力,预检只是缓解而非解决。
- 运行成本高。多轮次批处理 + 大量门禁文档读写 + 验证命令执行,token 与时间消耗显著高于一次性生成式工具。
5. 商业价值
5.1 对交付效率的价值
它把"从产品文档到可运行代码"这个环节从人月压缩到人日级别,同时把通常散落在多个工程师脑子里的工程规范固化为机器强制执行的门禁。对一个 1-2 人小团队、8-12 周交付周期的项目(本仓库 supplylink 产品即为该配置),它在实现阶段替代的是"初级+中级工程师的编码与自测工作量"。
5.2 对交付质量与信任的价值
- 证据链完整:验收矩阵 + 门禁记录 + 中文提交历史,构成可向客户、审计方展示的交付证明,特别契合外包/代开发场景的验收需要;
- 状态透明:
08-build-plan.md与.github/delivery/<slug>.md让任何人随时知道"做到哪了、卡在哪、为什么"; - 多产品并行能力:同一套标准下可低成本复制到多个产品线(本仓库已有 17 个产品目录、3 个活跃交付记录)。
5.3 对长期成本的复利
架构一致性、模块化、适配器模式、设计令牌单一来源等约束,直接压低后续维护、接手、二次开发的成本——这是"AI 写得快但留烂摊子"问题的直接对冲。
5.4 商业模式的适配性
它天然适合"文档驱动 + 小团队 + 多产品矩阵"的商业形态(软件作坊、垂直 SaaS 孵化、客户定制开发),而不适合作为无人工监督的纯自主生产系统出售——其价值恰恰在于与人工门禁的协作关系。
6. 是否值得推广:结论与边界
6.1 总体结论
值得推广,但必须"成套推广"而非"单独推广"。 它的价值高度依赖三件配套:上游有经 requirements-review 复核的合格文档、下游有 review-implementation/ui-review 的独立审查、以及不放松的人工门禁(部署、主观验收、高危模块)。剥离配套单独使用它,优点会打折,缺点(自我验证偏差、mock 盲区、主观质量)会放大。
6.2 适用场景
| 场景 | 适配度 |
|---|---|
| 中小型单体产品(单应用或单服务) | ★ 强适配,设计目标场景 |
| MVP / 原型到产品化的快速迭代 | ★ 强适配(可关闭部分 Day-1 重量级要求时更佳) |
| 文档驱动的外包/代开发交付 | ★ 强适配,证据链即交付物 |
| 内部工具、后台管理系统 | ★ 强适配 |
| 多模块/多服务大系统 | ▲ 不直接适用,改用 orchestrate-build(它作为 worker 复用) |
| 强依赖真实外部集成的产品 | ▲ 需预留真实集成的二次开发窗口 |
| 对视觉品质有极高要求的 C 端产品 | ▲ 需强化人工走查与 ui-review 的参与频率 |
6.3 推广前提清单
- 文档先行:先跑
prodforge+requirements-review,文档不过关不开工; - 审查成套:实现后必须接独立审查 agent,不能自我验收;
- 人工门禁不松:部署、合并、发布、真实密钥、支付/财务类模块保留人工确认;
- 控制范围:单模块产品用它,多模块产品用编排器调度它;
- 预期管理:向使用方明确它产出的是"工程上可交付、需独立验收的代码",而不是"直接上线的成品"。
6.4 与主流 AI 编程工具的定位差异
相较于通用的代码生成工具,它不是一个"更快写代码"的工具,而是一个把软件工程纪律编码进执行流程的交付 agent。它的护城河不在于生成能力,而在于:门禁密度、证据文化、可续跑状态管理、与产品文档体系的深度耦合。这决定了它的推广对象是有交付责任的团队(要验收、要续跑、要多产品复制),而非追求单次生成体验的个人用户。
7. 结语
build-from-product-docs 代表了 AI 软件工程从"生成代码"走向"交付工程"的一次有意义尝试:它用机器强制执行了过去依赖工程师自觉的纪律,用证据与门禁对抗 AI 的幻觉与自欺,用持久化状态解决长周期协作的续跑难题。它的局限同样是诚实的——自我审查不可信、主观质量需人类、真实世界集成靠人工收口。
因此最准确的一句话评价是:它是交付链条中最可靠的"实现与自证"环节,但不是也不需要是"最后盖章"的环节。 在"文档 + 实现 + 独立审查 + 人工门禁"的完整链条中推广,它的商业价值才能兑现。
参考
.github/agents/build-from-product-docs.agent.md— agent 定义(权威来源).github/agents/references/constraints-checklist.md— C1-C9 每批预检清单.github/agents/orchestrate-build.agent.md— 多模块编排器.github/agents/review-implementation.agent.md/ui-review— 独立审查.github/skills/delivery-workflow/SKILL.md— 七阶段工作流与门禁规则.github/delivery/{knowflow,smartvoice,supplylink}.md— 实际交付运行记录.github/copilot-instructions.md— 仓库级共享基线