Harness Engineering实践
Harness Engineering 实践:通过 Cursor 高效开发 SpringBoot 项目全流程
Harness Engineering(驾驭工程)是OpenAI在2026年提出的AI Agent优先的软件工程范式,核心定义为:将上下文、约束、验证、反馈回路和清理机制,编码成Agent可读、可执行、可持续演化的标准化工程规范(One Spec),解决规模化AI生成代码的可维护性、一致性和架构漂移问题。
其核心公式为:可靠的AI研发 = 大模型 + 标准化Harness体系,模型是通用商品,Harness Spec是团队的核心壁垒。
下面我为大家展示一下我使用cursor开发一个轻量级后台管理API项目的流程
一、创建核心目录结构(全系统通用)
先在项目根目录,手动创建 2 个顶层文件夹,作为所有 Agent 的共享规范中心:
你的项目根目录/
├─ .agents/ # 核心:全局规则、技能模板存放地(所有Agent共用)
│ ├─ rules/ # 红线规则目录
│ └─ skills/ # 技能模板目录
└─ .cursor/ # Cursor编辑器专属配置目录
二、关键步骤:创建软链接(Cursor 识别核心)
这是让 Cursor 自动识别 .agents 规范的核心操作,Windows 系统在项目根目录终端执行以下命令:
CMD / PowerShell 执行命令
# 创建 Cursor 规则软链接(指向 .agents/rules)
mklink /D ".cursor\rules" "..\.agents\rules"
# 创建 Cursor 技能软链接(指向 .agents/skills)
mklink /D ".cursor\skills" "..\.agents\skills"
✅ 软链接效果:
Cursor 会直接复用 .agents 下的规则与技能,一套规范全局共享,无需维护多份配置。
三、唯一手写:核心不可变规则
进入 .agents/rules/ 目录,新建 core-rules.md 文件,粘贴以下工程规范(所有 AI 必须遵守):
# 核心不可变规则(所有 Agent 强制遵守)
1. 严格分层架构:Controller → Service → Repository,禁止跨层调用
2. 安全规则:密码、密钥禁止硬编码,必须使用环境变量
3. 编码规则:所有接口必须加 @Valid 参数校验,全局统一返回格式
4. 格式规则:代码遵循 SpringBoot 标准规范,注释清晰简洁
四、AI 一键生成:技能库(无需手写)
打开 Cursor 聊天窗口,直接发送以下指令,让 AI 自动生成 3 个通用技能文件:
根据我的 .agents/rules/core-rules.md 规则,
在 .agents/skills/ 目录生成 3 个通用技能:
1. api-development.skill(REST接口开发规范)
2. unit-test.skill(单元测试编写流程)
3. code-audit.skill(代码合规审计流程)
直接输出完整文件内容
将 AI 生成的内容,分别保存为对应技能文件放入 .agents/skills/ 即可。
五、启动总控 Agent:正式开启开发
规范配置完成后,发送以下指令启动总控 Agent,让 AI 按规范规划项目:
你是驾驭工程总控 Agent,严格遵守 .agents/rules 下的所有核心规则,使用 .agents/skills 技能库。
为我开发轻量 SpringBoot 用户管理 API 项目:
1. 技术栈:SpringBoot 2.7 + MySQL + JPA + Validation + Swagger
2. 严格分层架构开发
3. 按顺序生成:实体类 → Repository → Service → Controller → 全局配置
4. 全程轻量化,直接输出可运行代码
最终标准项目结构
项目根/
├─ .agents/ # 全局共享规范中心
│ ├─ rules/
│ │ └─ core-rules.md
│ └─ skills/
│ ├─ api-development.skill
│ ├─ unit-test.skill
│ └─ code-audit.skill
├─ .cursor/
│ ├─ rules → 软链接到 .agents/rules
│ └─ skills → 软链接到 .agents/skills
└─ 项目业务代码...
六、按层生成核心代码(底层→上层)
总控 AI 完成项目规划后,按顺序发送以下指令,逐一生成代码:
1. 生成实体类 + DTO/VO
开始编写第一层代码:
1. 创建用户实体类 User.java(JPA注解,对应MySQL表)
2. 创建请求DTO:UserCreateDTO、UserUpdateDTO(添加@Valid校验注解)
3. 创建响应VO:UserVO(统一返回格式)
严格遵守规则,不跨层,不加业务逻辑
2. 生成 Repository 数据层
编写第二层:Repository 数据访问层
创建 UserRepository 接口,继承 JpaRepository
实现基础CRUD、根据邮箱查询用户
3. 生成 Service 业务层
编写第三层:Service 业务逻辑层
创建 UserService 实现:增删改查
包含业务校验:邮箱重复、用户不存在判断
日志打印,依赖注入 UserRepository
严格遵守:Service 只调用 Repository
4. 生成 Controller 接口层
编写第四层:Controller REST接口层
创建标准RESTful接口:
POST /users 新增
GET /users/{id} 查询单个
GET /users 查询全部
PUT /users/{id} 修改
DELETE /users/{id} 删除
统一参数校验,统一返回结果
严格遵守:Controller 只调用 Service
5. 生成全局通用配置
编写项目全局配置:
1. 全局统一返回结果类
2. 全局异常处理器(处理参数校验异常、业务异常)
3. Swagger接口文档配置
4. application.yml 配置文件(不硬编码密码)
七、质量保障:合规审计 + 单元测试
代码生成完成后,用 AI 自动校验规范、生成测试,保证代码质量:
1. 代码合规审计
/check
执行代码合规审计:
1. 检查是否跨层调用(Controller直连Repository)
2. 检查是否硬编码敏感信息
3. 检查参数校验是否完整
4. 输出违规点 + 修复方案
2. 生成单元测试
/test
根据 .agents/skills 中的测试规范
为 UserService 编写完整单元测试
覆盖正常场景 + 异常场景
八、项目交付:启动脚本 & 运行指南
发送指令获取完整部署、运行方案:
/build
提供:
1. MySQL建表SQL
2. 项目启动方式
3. 接口测试地址(Swagger)
4. 本地运行命令
九、效果展示
最终生成的项目可直接运行,Swagger 接口文档完整、代码分层规范、无硬编码、参数校验齐全,开箱即用。
- 接口文档:
localhost:8080/doc.html(Knife4j/Swagger) - 标准 RESTful 接口,统一返回格式
- 全局异常处理,业务逻辑清晰
十、总结
Harness Engineering 的核心是用规则约束 AI,用技能标准化输出,解决了 AI 编码不规范、跨层、硬编码等痛点。
整套流程仅需手动编写1份核心规则,其余全部由 AI 完成,大幅提升 SpringBoot 项目开发效率,非常适合快速搭建轻量级后端 API。