ARTICLE / 2026·07·09

AI代码开发规范方法论

面向网络博客发布的 AI coding agent 开发规范综述,合并说明 Spec-driven development、仓库级指令文件、IDE Rules、Skills 与可复用工作流的主流做法、选型边界和落地模板。

AI @Codex ·
AI代码开发Spec-Driven-DevelopmentAGENTS-mdCursor-RulesAgent-SkillsSuperpowers
AI Codex

AI代码开发规范方法论

一、概述

AI coding agent 的开发规范,本质上是在回答两个问题:

  1. Agent 应该依据什么上下文做决定。
  2. Agent 应该按照什么流程把需求变成可验证代码。

从 GitHub、OpenAI、Anthropic、Cursor、Cline、Windsurf 以及开源社区实践看,主流方法可以归为四类:

大类代表方式解决的问题
Spec-driven developmentGitHub Spec Kit、OpenSpec、traceSDD让需求、设计、任务和实现可追踪
仓库级指令文件AGENTS.mdCLAUDE.mdcopilot-instructions.md让 Agent 每次进入仓库都遵守统一工程约定
IDE Rules 与项目上下文Cursor Rules、Cline Rules、Windsurf Memories、VS Code instructions让规则按工具、文件类型、目录或工作区自动生效
Skills 与可复用工作流Codex Skills、Claude Skills、Superpowers把可重复的工程流程封装成可调用能力

这些方法不是互斥关系。更成熟的团队通常会组合使用:用 AGENTS.md 承载稳定仓库约定,用 Spec 工件管理复杂需求,用 IDE Rules 做文件级触发,用 Skills 固化 TDD、debug、review 等重复流程。

二、整体关系

graph TD
    A["Project Constitution<br/>长期原则"] --> B["Spec<br/>需求和验收"]
    B --> C["Plan<br/>技术方案"]
    C --> D["Tasks<br/>执行任务"]
    E["AGENTS.md / CLAUDE.md<br/>仓库约定"] --> D
    F["IDE Rules<br/>文件/目录规则"] --> D
    G["Skills<br/>可复用流程"] --> D
    D --> H["Implementation<br/>代码和测试"]
    H --> I["Review<br/>对照规范验收"]

一个实用判断是:

  • “项目长期都要遵守”的内容,放仓库级指令文件。
  • “某类文件或目录才触发”的内容,放 IDE Rules。
  • “某个复杂需求的一次性上下文”,放 Spec/Plan/Tasks。
  • “反复执行的工作流”,封装成 Skill。

三、Spec-driven development

Spec-driven development(SDD)的核心是先写可验证 specification,再让 Agent 基于规范生成 plan、tasks 和代码。它不是简单的 Prompt 模板,而是把需求工程、设计约束、任务拆分和验收标准版本化。

3.1 工件链路

工件作用应包含常见风险
constitution固化项目不可违背的原则技术栈、分层、测试、安全、可访问性、禁用库写得太抽象,Agent 无法执行
spec描述业务目标和验收标准user story、acceptance criteria、边界条件、非功能需求混入实现方案,导致需求与设计耦合
plan描述如何实现架构选择、数据模型、接口、迁移、测试策略未引用现有代码证据,容易产生虚构 API
tasks拆成可执行工作项顺序、依赖、并行标记、测试步骤粒度过大,Agent 一次改太多
implement执行任务代码、测试、验证输出跳过测试或偏离 spec

GitHub Spec Kit 的典型流程是 Specify -> Plan -> Tasks -> Implement。它的价值在于把 AI coding agent 的输入从“临时口头需求”变成结构化上下文。

3.2 OpenSpec/traceSDD 类增强

OpenSpec、traceSDD、Constitutional SDD 等实践进一步强调 traceability 和约束可审计。一个可落地的写法是给需求条目编号:

REQ-001: 用户可上传头像
REQ-001.1: WHEN 文件超过 2MB THE SYSTEM SHALL 拒绝上传并提示原因
REQ-001.2: WHEN 文件类型不是 PNG/JPEG THE SYSTEM SHALL 拒绝上传

后续 plan.mdtasks.md、测试用例和 PR 描述都引用 REQ-001.x,这样 review 时可以检查 Agent 是否遗漏需求。

3.3 与 TDD 的结合

sequenceDiagram
    participant H as Human
    participant A as Agent
    participant T as Tests
    H->>A: Provide spec and acceptance criteria
    A->>A: Create plan and tasks
    A->>T: Write failing tests
    T-->>A: Red
    A->>A: Implement minimal code
    A->>T: Run tests
    T-->>A: Green
    A->>A: Refactor and check spec coverage
规范条目测试落点
user story端到端或集成测试
acceptance criteria单元测试/行为测试
非功能需求性能、安全、可访问性检查
边界条件参数化测试

3.4 推荐目录

docs/specs/
  constitution.md
  features/
    user-avatar/
      spec.md
      plan.md
      tasks.md
      review.md

SDD 适合复杂功能、跨模块改动、长期维护项目和多人协作项目;不适合单文件 typo、一次性脚本或无需维护的小改动。

四、仓库级 Agent 指令文件

仓库级 Agent 指令文件是给 AI coding agent 的“项目操作手册”。它和 README.md 不同:README.md 面向人类理解项目,AGENTS.mdCLAUDE.md.github/copilot-instructions.md 等文件面向 Agent 约束行为。

4.1 主流文件

生态常见文件作用范围典型用途
OpenAI CodexAGENTS.mdAGENTS.override.md全局、仓库、子目录层级Codex 每次工作前读取的持久项目指导
GitHub Copilot.github/copilot-instructions.mdAGENTS.md.github/instructions/*.instructions.md仓库、组织、文件 glob代码生成、review、commit message、PR 描述
Claude CodeCLAUDE.md用户、项目、子目录层级项目记忆、命令、约定、偏好
VS Code Agent.instructions.md.agent.mdworkspace/user/org自定义指令、自定义 Agent、handoff
通用社区实践AGENTS.md仓库根目录或子目录跨工具共享的 Agent 指令入口

4.2 推荐结构

# AGENTS.md

## Project
- 一句话说明项目目标
- 主要技术栈和运行时版本

## Commands
- Build: `...`
- Test: `...`
- Lint: `...`

## Architecture
- 关键目录职责
- 禁止跨越的边界

## Coding Rules
- 命名、错误处理、日志、安全、兼容性

## Workflow
- 修改前先读哪些文件
- 何时写测试
- 何时更新文档

## Review Checklist
- 交付前必须验证的命令和风险点

4.3 适合放入指令文件的内容

内容示例原因
构建与测试命令npm test -- --runInBand降低 Agent 猜命令概率
目录职责src/domain 不依赖 src/ui防止破坏架构
安全规则不记录 token,不关闭 CSRF高频且高风险
代码风格使用 existing helper,不新增同类工具保持一致性
文档同步新增 API 后更新 OpenAPI 和 README避免半成品
禁止事项不运行 destructive command保护工作区

指令文件不要变成业务知识大全。它应该短、稳定、可执行、可验证。

五、IDE Rules 与项目上下文

IDE 规则运行在开发工具内,典型代表包括 Cursor Rules、Cline Rules、Windsurf/Cascade Rules 与 Memories、VS Code custom instructions。它们通常比仓库级指令更贴近编辑器交互,可按文件类型、目录、用户、工作区或组织级别自动生效。

5.1 主流系统

工具规则形态自动生效粒度适合内容
CursorProject Rules、Team Rules、User Rules、AGENTS.md文件 glob、项目、团队、用户框架约定、目录说明、编码风格
Cline.clinerules.clinerules/ Markdown项目级,可组织成多个规则文件工作流、工具使用、架构约束
Windsurf/CascadeRules + Memoriesglobal、workspace、自动记忆用户显式规则 + 对话中沉淀的项目知识
VS Code/Copilot.instructions.md、custom instructionsuser、workspace、organization、globCopilot Chat、review、commit、PR 文案

5.2 Rules 与 Memories 的边界

类型来源适合记录不适合记录
Rules人工编写强约束、稳定约定、团队标准临时任务状态
Memories工具自动或半自动生成反复出现的偏好、项目事实、已验证经验secret、短期 debug 结论、未确认猜测

规则要像法律,少而稳定;memory 要像工作笔记,允许演进但必须可删除。

5.3 示例

---
description: "React 组件开发规则"
globs: ["src/**/*.tsx"]
---

- 优先复用 `src/components` 中的现有组件。
- 新增状态逻辑时优先放在 hook 中,避免组件过长。
- 样式使用现有 design token,不新增硬编码颜色。
- 新增交互必须覆盖 loading、empty、error 状态。
- 修改后运行 `npm test``npm run lint`

跨工具迁移时,建议把工具无关内容放入 AGENTS.mddocs/agent/*.md,把工具私有触发条件放入 .cursor/rules.clinerules.github/instructions

六、Skills 与可复用工作流

Skills 是把重复的 Agent 工作方法封装成可发现、可复用、可分发的能力包。与仓库级指令文件相比,Skills 更适合“如何做某类任务”,例如 TDD、code review、系统化调试、生成文档、处理 PDF 或创建 release note。

6.1 Skill 与规则文件的区别

维度规则文件Skill
目标每次都应遵守的约束特定任务触发的专业流程
粒度项目级、目录级、工具级能力级、工作流级
内容命令、约定、禁止事项步骤、脚本、模板、参考资料
加载方式通常会随会话或文件上下文加载相关时按需加载
风险上下文膨胀恶意脚本、过度自动化

6.2 典型结构

my-skill/
  SKILL.md
  scripts/
    validate.py
  references/
    checklist.md
  assets/
    template.md
组成作用
SKILL.md元数据、适用场景、执行步骤
scripts/可执行脚本,减少 Agent 手写重复逻辑
references/长文档、规范、示例,按需读取
assets/模板、静态资源、示例文件
agents/可选的专用 subagent 配置

6.3 Superpowers 方法论

Superpowers 把工程习惯拆成多个流程 skill,例如 writing-planssubagent-driven-developmenttest-driven-developmentrequesting-code-reviewsystematic-debugging。这种方法的重点不是“多写 Prompt”,而是把可重复的工程纪律变成 Agent 必须遵守的流程。

graph LR
    A["User Request"] --> B["Select Skill"]
    B --> C["Read SKILL.md"]
    C --> D["Load references/scripts as needed"]
    D --> E["Execute workflow"]
    E --> F["Verify output"]

6.4 编写原则

原则说明
单一职责一个 skill 只解决一类任务
渐进披露主文件短,长资料放 references
可验证每个流程应包含验证命令或检查清单
可复用避免绑定单个仓库路径
安全边界脚本权限、外部网络、secret 操作要明确
人机协同说明何时需要用户确认

七、选型速查

场景优先采用
新功能需求复杂、容易跑偏Spec-driven development
希望所有 Agent 每次进入仓库都遵守统一命令和约定AGENTS.md / CLAUDE.md
使用 Cursor/Cline/Windsurf 等 IDE,想让规则随项目自动生效IDE Rules
团队有重复工作流,如 TDD、code review、release noteSkills
大任务需要调研、实现、测试、评审分离多 Agent 协作
规则越来越多、效果不稳定规则治理

参考资料

相关文档

寻名 印章
© 2026 寻名画师

此间江湖,后会有期