115 lines
2.9 KiB
Markdown
Executable File
115 lines
2.9 KiB
Markdown
Executable File
# Harness工程(驾驭工程)
|
||
|
||
> 相关:[[AI编程演进阶段]]、[[Agent_as_Code]]、[[核心Loop]]、[[上下文体系]]
|
||
|
||
## 定义
|
||
|
||
**Harness工程**是AI编程的第5阶段,将AI纳入工程治理体系,为其提供约束体系和外部接口,实现全自动无人值守的开发。
|
||
|
||
**核心思想**:不是让AI更聪明,而是让AI在受控环境中工作。
|
||
|
||
## 核心特征
|
||
|
||
### 1. 约束体系
|
||
- **规则约束**:Rules定义AI能做什么、不能做什么
|
||
- **规格约束**:Spec定义需求和设计的边界
|
||
- **测试约束**:自动化测试验证AI输出质量
|
||
|
||
### 2. 外部接口
|
||
- **MCP**:让AI访问数据库、文件系统等外部工具
|
||
- **Skills**:可复用的能力单元
|
||
- **CLI**:命令行工具集成
|
||
|
||
### 3. 自动化流程
|
||
- **Plan阶段**:人机协作,锁定需求
|
||
- **执行阶段**:AI自治,无需人工介入
|
||
- **验证阶段**:自动化测试,自动修复
|
||
|
||
## 关键原则
|
||
|
||
### 约束大于提示
|
||
- 不要依赖AI的"聪明"
|
||
- 通过约束体系保证质量
|
||
- 规则 > 提示词
|
||
|
||
### 文档即代码
|
||
- AGENTS.md作为宪法
|
||
- 规格文档可版本化
|
||
- 所有配置纳入Git
|
||
|
||
### 持续验证
|
||
- TDD驱动开发
|
||
- 自动化测试覆盖
|
||
- 持续集成持续交付
|
||
|
||
## 组成部分
|
||
|
||
```
|
||
Harness = 约束体系 + 工具体系 + 验证体系
|
||
|
||
约束体系:
|
||
- Rules(规则)
|
||
- Specs(规格)
|
||
- Standards(标准)
|
||
|
||
工具体系:
|
||
- MCP(外部工具)
|
||
- Skills(能力单元)
|
||
- CLI(命令行)
|
||
|
||
验证体系:
|
||
- 单元测试
|
||
- API测试
|
||
- E2E测试
|
||
- Code Review
|
||
```
|
||
|
||
## 适用场景
|
||
|
||
- **企业级项目**:需要严格的质量控制
|
||
- **多团队协作**:需要统一的开发规范
|
||
- **长期维护**:需要持续的代码质量保证
|
||
- **合规要求**:金融、医疗等需要审计的场景
|
||
|
||
## 实践要点
|
||
|
||
### 1. 建立文档体系
|
||
```
|
||
AGENTS.md ← 宪法
|
||
docs/
|
||
├── standards/ ← 标准规格
|
||
├── features/ ← 需求规格
|
||
├── designs/ ← 设计规格(事实方案)
|
||
└── plans/ ← 计划规格(过程方案)
|
||
```
|
||
|
||
### 2. 配置工具链
|
||
- 选择合适的AI工具(Claude Code/Cursor/Kiro)
|
||
- 配置MCP访问外部工具
|
||
- 开发Skills封装常用能力
|
||
|
||
### 3. 建立验证流程
|
||
- 定义测试策略
|
||
- 配置CI/CD流程
|
||
- 建立Code Review规范
|
||
|
||
## 优势
|
||
|
||
- **质量可控**:通过约束体系保证代码质量
|
||
- **可追溯**:所有配置和变更有历史记录
|
||
- **可复用**:Skills和配置可在项目间复用
|
||
- **可扩展**:易于引入新的工具和流程
|
||
|
||
## 挑战
|
||
|
||
- **学习曲线**:需要理解完整的工程体系
|
||
- **维护成本**:需要持续维护文档和配置
|
||
- **工具依赖**:依赖多个AI工具和协议
|
||
|
||
## 相关概念
|
||
|
||
- [[Agent_as_Code]]:Harness的技术实现方式
|
||
- [[核心Loop]]:Harness中的开发循环
|
||
- [[上下文体系]]:Harness的文档组织
|
||
- [[AI编程演进阶段]]:Harness是第5阶段
|