GrowPIP
← 返回所有规则

RULE

先 Spec 后代码

[RULE] 先 Spec 后代码

  • 类型: 原则
  • 强度: 10/10
  • 验证: ✓0 / ✗0

定义

IF: AI 要生成或修改代码 THEN: 必须先有明确的 Spec 定义行为契约

核心理念

编写精确的 Spec 比编写代码更重要——AI 可以从好的 Spec 生成好的代码,反之则不然。

原理

  1. AI 的能力边界由上下文决定:Spec 是持久化的上下文
  2. 对话会消散:聊天历史中的需求会丢失,Spec 不会
  3. Spec 是指令集:给 AI 的版本化、可审查的指令
  4. 人类控制杠杆:Spec 是人类控制 AI 产出的唯一杠杆

人机分工

角色职责
人类定义 Spec(What + Why)
AI根据 Spec 生成代码(How)

AI 禁止行为

  • ❌ 基于对话历史做关键决策——必须查阅 Spec
  • ❌ 直接修改代码而不创建变更提案
  • ❌ 实现与 Spec 规范冲突的行为
  • ❌ 在 Spec 有明确定义时自行发挥

Spec 最小格式

## Purpose
<模块职责>

## Requirements

### Requirement: <需求名称>
#### Scenario: <场景名称>
- **WHEN** <触发条件>
- **THEN** <预期结果>

歧义处理

发现以下问题时,暂停实现并向人类报告

  • 场景未覆盖的边界条件
  • 需求之间的矛盾
  • 术语定义不明确

证据

  • 支持: INFO-082(软件项目持续演进宪章 v2.0 / OpenSpec 框架核心原则)
  • 支持: INFO-074(AI时代知识工作者/人的选择是AI的上限)
  • 反例: 暂无

关联

  • RULE: RULE-单一事实来源(Spec 是唯一权威来源)
  • RULE: RULE-假设验证循环(渐进式采纳 Spec)
  • NODE: NODE-AI-Agent(Agent 行为由 Spec 定义)
  • NODE: NODE-知行合一(Spec = 知,Code = 行)