在 AI 编程工具(如 Cursor、Claude Code)飞速发展的今天,如何让 AI 真正成为工程团队的高效助手,而非制造技术债务的源头?答案在于两个核心理念:规格驱动开发(SDD) 和 Harness Engineering。
一、什么是规格驱动开发(SDD)
规格驱动开发(Spec-Driven Development,简称 SDD)是一种以规范(Specification)为核心的开发方法论。它不同于传统的「Vibe Coding」——那种跟着感觉走、让 AI 自由发挥的方式。
SDD 的五大核心原则
| 原则 | 说明 |
|---|---|
| 规范是通用语言 | 产品、设计、工程、测试都能读懂同一份规范 |
| 可执行规范 | 规范可以直接转化为测试用例 |
| 持续精化 | 规范随需求变化不断迭代完善 |
| 研究驱动的上下文 | AI 需要深入理解业务背景,而非盲目实现 |
| 双向反馈 | 规范影响实现,实现也反馈修正规范 |
SDD vs Vibe Coding
| 维度 | SDD | Vibe Coding |
|---|---|---|
| 可预测性 | ✅ 高 | ❌ 低 |
| 上下文管理 | ✅ 结构化 | ❌ 碎片化 |
| 幻觉控制 | ✅ 有约束 | ❌ 自由发挥 |
| 适合场景 | 生产项目 | 原型验证 |
二、Harness Engineering:Agent 的工程基础设施
Anthropic 在其技术报告中提出了一个核心公式:
Agent = Model + Harness
这里的 Harness(测试架/控制系统)指的是:让模型能力稳定输出的工程基础设施。
三层关系
Prompt ⊂ Context ⊂ Harness
- Prompt:单次交互的指令
- Context:会话级上下文(记忆、历史)
- Harness:项目级工程系统(工具、流程、约束)
Harness 的六层架构
| 层级 | 名称 | 类比 | 作用 |
|---|---|---|---|
| L1 | 信息边界层 | 岗位说明书 | 定义 AI 能访问什么信息 |
| L2 | 工具系统层 | 办公工具 | API、脚本、命令行工具 |
| L3 | 执行编排层 | 标准操作流程 | 定义操作的标准步骤 |
| L4 | 记忆与状态层 | 项目管理系统 | 持久化上下文、知识库 |
| L5 | 评估与观测层 | 质检流程 | 验证输出质量 |
| L6 | 约束与恢复层 | 红线和应急预案 | 防止灾难性错误 |
三、实际应用案例
Anthropic 的 GAN 三智能体模式
Anthropic 在 MCP 协议开发中采用了 GAN 模式:
Planner (产品视角)
↓ 规格
Generator (AI Agent)
↓ 实现
Evaluator (测试视角)
↓ 反馈
↓ (循环)
三个智能体相互对抗、相互完善,最终收敛到高质量的规范和实现。
OpenAI 的实验数据
OpenAI 内部实验显示:
- 团队规模:3 人
- 开发时间:5 个月
- 人工代码:0 行
- 最终成果:100 万行生产级代码
前提是构建了完善的 Harness 系统。
四、为什么 Harness 如此重要
同一个模型,换个工具格式,分数从 6.7% 飙升至 68.3%
这说明:
- 模型决定上限:模型能力决定 AI 能做到什么
- Harness 决定底线:工程系统决定 AI 能否稳定发挥
五、如何构建个人/团队的 Harness
1. 建立规范优先的文化
# SPEC.md 示例结构
## 背景与目标
- 为什么做这个功能?
- 成功标准是什么?
## 用户故事
- 谁会用这个功能?
- 使用场景是什么?
## 技术规格
- API 接口设计
- 数据模型
- 边界条件
## 验收标准
- 功能测试用例
- 性能指标
- 安全要求
2. 构建工具链
- Linter/Formatter:统一代码风格
- Type Checker:TypeScript/Python 类型检查
- 测试框架:自动化验收测试
- CI/CD:自动化质量门禁
3. 建立反馈机制
- AI 生成代码 → 自动测试 → 结果反馈 → 修正规范
- 每次迭代都让规范更精确
六、总结
在 AI 编程时代:
- 不要让 AI 裸奔:没有 Harness 的 AI 就像没有安全带的赛车
- 投资规范就是投资效率:好的规范能减少 80% 的返工
- Harness 是核心竞争力:同一模型,好的 Harness 能发挥 10 倍效能
规格驱动开发 + Harness Engineering,是 AI 时代软件工程的最佳拍档。
AIOther
返回首页