Update from Sync Service
This commit is contained in:
252
AI工程/HarnessEngineering研究总结.md
Executable file
252
AI工程/HarnessEngineering研究总结.md
Executable file
@@ -0,0 +1,252 @@
|
|||||||
|
# Harness Engineering in AI Coding 研究总结
|
||||||
|
|
||||||
|
> 探索在 AI 编程中的 Harness Engineering,确保 AI 编程可约束、可评估、可追溯
|
||||||
|
>
|
||||||
|
> 归档:2026-04-24
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 项目概览
|
||||||
|
|
||||||
|
| 属性 | 值 |
|
||||||
|
|------|---|
|
||||||
|
| **仓库** | [2361485765/harness-engineering-in-ai-coding](https://github.com/2361485765/harness-engineering-in-ai-coding) |
|
||||||
|
| **语言** | Shell |
|
||||||
|
| **创建时间** | 2026-04-23(极新项目) |
|
||||||
|
| **License** | MIT |
|
||||||
|
| **定位** | AI 编程约束框架(Harness Engineering) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 核心理念
|
||||||
|
|
||||||
|
**Harness Engineering** = 在 AI 编程工具(Claude Code/Cursor/Copilot)之上,构建一套完整的**约束框架**,覆盖软件研发全生命周期。
|
||||||
|
|
||||||
|
### 四大目标
|
||||||
|
|
||||||
|
| 目标 | 说明 | 手段 |
|
||||||
|
|------|------|------|
|
||||||
|
| **可约束** | AI 输出符合团队规范 | Skill 体系 + 上下文注入 |
|
||||||
|
| **可评估** | 产物质量可度量 | 质量门禁 + 评估机制 |
|
||||||
|
| **可追溯** | 过程透明可审计 | 记录 + 日志 + Hook |
|
||||||
|
| **可扩展** | 持续扩展能力边界 | 可插拔 Skill 体系 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🏗️ 架构设计
|
||||||
|
|
||||||
|
```
|
||||||
|
需求 → 技术方案 → 编码 → 研发自测 → QA 测试
|
||||||
|
↑ ↑ ↑ ↑ ↑
|
||||||
|
└────────┴─────────┴────────┴─────────┘
|
||||||
|
Harness(约束·评估·追溯)
|
||||||
|
↕
|
||||||
|
可插拔 Skill 体系
|
||||||
|
```
|
||||||
|
|
||||||
|
### 五大研发阶段
|
||||||
|
|
||||||
|
| 阶段 | 目录 | 核心能力 |
|
||||||
|
|------|------|---------|
|
||||||
|
| **01 需求引入** | 01-requirements/ | brainstorming + openspec 管理 |
|
||||||
|
| **02 技术方案** | 02-technical-design/ | harness-init 扫描项目 + 设计生成 |
|
||||||
|
| **03 编码** | 03-coding/ | 约束感知编码 + 自动 Code Review |
|
||||||
|
| **04 研发自测** | 04-dev-testing/ | Subagent 并行测试(单元+API) |
|
||||||
|
| **05 QA 测试** | 05-qa-testing/ | E2E 测试(Playwright) |
|
||||||
|
|
||||||
|
### 两个横切关注点
|
||||||
|
|
||||||
|
| 关注点 | 目录 | 功能 |
|
||||||
|
|--------|------|------|
|
||||||
|
| **任务进度管理** | 06-task-progress/ | 状态模型 + 看板 + 自动更新 |
|
||||||
|
| **Debug 与纠错** | 07-debug-and-correction/ | 质量门禁 + 失败分析 + 修复流程 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚙️ 核心机制
|
||||||
|
|
||||||
|
### 1. Hook 机制(执行保障层)
|
||||||
|
|
||||||
|
**核心原则**:确定性规则 → shell 脚本;语义理解 → Skill
|
||||||
|
|
||||||
|
| 事件 | 触发时机 | 典型用途 |
|
||||||
|
|------|----------|----------|
|
||||||
|
| `PreToolUse` | AI 调用工具**前** | 拦截、校验、注入前置约束 |
|
||||||
|
| `PostToolUse` | AI 调用工具**后** | 检查输出、触发后续动作 |
|
||||||
|
|
||||||
|
#### Hook 全景
|
||||||
|
|
||||||
|
| 阶段 | Hook 名称 | 触发 | 目的 |
|
||||||
|
|------|-----------|------|------|
|
||||||
|
| 需求 | `requirement-guard` | PreToolUse( Skill=openspec) | 拦截散乱需求,强制完整性 |
|
||||||
|
| 需求 | `p0-constraint-writer` | PostToolUse(Skill=openspec) | P0 bug 写回代码约束 |
|
||||||
|
| 编码 | `post-edit-lint` | PostToolUse(Edit) | 修改后自动 lint |
|
||||||
|
| 编码 | `pre-commit-review` | PreToolUse(git commit) | commit 前自动 review |
|
||||||
|
| 自测 | `post-implementation-test` | 实现完成后 | 触发 subagent 自测 |
|
||||||
|
| QA | `post-dev-test-qa` | 自测通过后 | 生成 QA 测试用例 |
|
||||||
|
|
||||||
|
#### Hook 返回码约定
|
||||||
|
|
||||||
|
| 返回码 | 含义 |
|
||||||
|
|--------|------|
|
||||||
|
| `0` | 通过,继续 |
|
||||||
|
| `非 0` | 拦截,反馈原因 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2. Skill 体系(能力扩展层)
|
||||||
|
|
||||||
|
| Skill | 用途 |
|
||||||
|
|-------|------|
|
||||||
|
| **harness-init** | 初始化项目 Harness 文档结构(扫描代码库 → 生成 CLAUDE.md/ARCHITECTURE.md 等) |
|
||||||
|
| **design-generator** | 技术方案生成 |
|
||||||
|
| **progress-tracker** | 任务进度跟踪与看板 |
|
||||||
|
| **constraint-extractor** | 从 bug 描述提取代码约束 |
|
||||||
|
| **design-arch-validator** | 设计方案架构校验 |
|
||||||
|
| **requirement-semantic-check** | 需求语义完整性检查 |
|
||||||
|
|
||||||
|
### 3. Agent 体系(执行层)
|
||||||
|
|
||||||
|
| Agent | 职责 |
|
||||||
|
|-------|------|
|
||||||
|
| **code-reviewer** | 自动化代码审查 |
|
||||||
|
| **api-tester** | API 集成测试 |
|
||||||
|
| **qa-tester** | QA 端到端测试 |
|
||||||
|
| **debug-analyst** | 调试与根因分析 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 关键技术实现
|
||||||
|
|
||||||
|
### harness-init 工作流
|
||||||
|
|
||||||
|
```
|
||||||
|
1. 检测项目状态(已有文件 vs 新项目)
|
||||||
|
2. 扫描代码库:
|
||||||
|
- 技术栈识别(package.json/go.mod/...)
|
||||||
|
- 项目结构(3 层目录)
|
||||||
|
- 最近提交(git log -20)
|
||||||
|
- 关键代码模式(入口/配置/测试)
|
||||||
|
3. 创建文档结构(CLAUDE.md / AGENTS.md / ARCHITECTURE.md / docs/)
|
||||||
|
4. 填充内容(已有项目)或占位符(新项目)
|
||||||
|
5. 输出完成报告
|
||||||
|
```
|
||||||
|
|
||||||
|
### 生成的文档清单
|
||||||
|
|
||||||
|
| 文件 | 内容 |
|
||||||
|
|------|------|
|
||||||
|
| `CLAUDE.md` | Claude 专用项目指令 |
|
||||||
|
| `AGENTS.md` | AI 代理协作指南 |
|
||||||
|
| `ARCHITECTURE.md` | 系统架构概述 |
|
||||||
|
| `docs/DESIGN.md` | 设计原则 |
|
||||||
|
| `docs/SECURITY.md` | 安全规范 |
|
||||||
|
| `docs/RELIABILITY.md` | 可靠性标准 |
|
||||||
|
| `docs/QUALITY_SCORE.md` | 质量度量定义 |
|
||||||
|
| `docs/PLANS.md` | 路线图 |
|
||||||
|
| `docs/PRODUCT_SENSE.md` | 产品哲学 |
|
||||||
|
|
||||||
|
### 代码约束写回流程
|
||||||
|
|
||||||
|
```
|
||||||
|
P0 bug 创建 → constraint-extractor 语义提炼 → 写入 docs/code-constraints.md
|
||||||
|
→ 追加到 CLAUDE.md 的 "Do Not" 区块 → 后续 AI 编码自动遵守
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🆚 与已有框架的对比
|
||||||
|
|
||||||
|
| 维度 | Harness Engineering | Superpowers | ClaudeForge |
|
||||||
|
|------|-------------------|-------------|-------------|
|
||||||
|
| **定位** | 全流程约束框架 | 开发方法论 | CLAUDE.md 生成 |
|
||||||
|
| **覆盖范围** | 需求→测试→QA 全链路 | 编码阶段为主 | 文档生成 |
|
||||||
|
| **Hook 机制** | ✅ Pre/Post 双事件 | ❌ | ❌ |
|
||||||
|
| **openspec 集成** | ✅ 需求管理核心 | ❌ | ❌ |
|
||||||
|
| **代码约束写回** | ✅ P0 bug → 自动禁止项 | ❌ | ❌ |
|
||||||
|
| **多 Agent 并行** | ✅ 测试阶段 | ✅ | ❌ |
|
||||||
|
| **成熟度** | 新项目(2026-04-23) | 159k ⭐ | 353 ⭐ |
|
||||||
|
| **语言** | 中文 | 英文 | 英文 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💡 独特价值
|
||||||
|
|
||||||
|
### 1. 需求管理闭环
|
||||||
|
|
||||||
|
```
|
||||||
|
散乱想法 → requirement-guard 拦截 → AI 反问引导 → 结构化需求
|
||||||
|
→ openspec 管理(proposal → design → spec → task)
|
||||||
|
→ P0 bug 自动提炼代码约束 → 写回项目
|
||||||
|
```
|
||||||
|
|
||||||
|
这是**首个**将需求管理与代码约束自动关联的框架。
|
||||||
|
|
||||||
|
### 2. 代码约束自动化
|
||||||
|
|
||||||
|
```
|
||||||
|
P0 bug 发现 → 语义提炼"AI 编码禁止项" → 写入约束文档
|
||||||
|
→ CLAUDE.md "Do Not" 区块 → AI 后续编码自动遵守
|
||||||
|
→ pre-commit-review 自动检查
|
||||||
|
```
|
||||||
|
|
||||||
|
**Bug → 约束 → 预防**的自动闭环,减少重复错误。
|
||||||
|
|
||||||
|
### 3. 中文优先 + 开箱即用
|
||||||
|
|
||||||
|
- 全中文文档,降低国内团队学习门槛
|
||||||
|
- 完整的 Hook 脚本 + Skill + Agent 配置
|
||||||
|
- 可直接复制 `hooks/` 目录到目标项目
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 接入新项目步骤
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. 复制 hooks 目录
|
||||||
|
cp -r hooks/ /your/project/
|
||||||
|
|
||||||
|
# 2. 合并 hook 配置
|
||||||
|
# 将 .claude/settings.json 中的 hooks 配置合并到目标项目
|
||||||
|
|
||||||
|
# 3. 根据技术栈调整 lint 命令
|
||||||
|
# 编辑 hooks/scripts/post-edit-lint.sh
|
||||||
|
|
||||||
|
# 4. 验证脚本可执行
|
||||||
|
bash hooks/scripts/requirement-guard.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔗 相关资源
|
||||||
|
|
||||||
|
| 资源 | 链接 |
|
||||||
|
|------|------|
|
||||||
|
| 仓库 | https://github.com/2361485765/harness-engineering-in-ai-coding |
|
||||||
|
| Superpowers | https://github.com/obra/superpowers |
|
||||||
|
| openspec | https://github.com/anthropics/openspec |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 评价
|
||||||
|
|
||||||
|
### 优点
|
||||||
|
- ✅ **全流程覆盖**:从需求到 QA,不只是编码辅助
|
||||||
|
- ✅ **Hook 机制完善**:Pre/Post 双事件 + shell/Skill 分层
|
||||||
|
- ✅ **代码约束自动关联**:P0 bug → 自动禁止项,减少重复错误
|
||||||
|
- ✅ **中文友好**:降低国内团队门槛
|
||||||
|
- ✅ **不重复造轮子**:复用 superpowers、openspec 等成熟工具
|
||||||
|
|
||||||
|
### 注意点
|
||||||
|
- ⚠️ **极新项目**(2026-04-23 创建),0 stars,仍在建设中
|
||||||
|
- ⚠️ 目前主要面向 Claude Code,其他工具适配待补充
|
||||||
|
- ⚠️ 文档完成度约 70%,部分章节待填充
|
||||||
|
|
||||||
|
### 适用场景
|
||||||
|
- 团队想系统性引入 AI 编程工具(而非零散使用)
|
||||||
|
- 需要对 AI 产物建立质量门禁和审计记录
|
||||||
|
- 希望沉淀 AI 编程最佳实践为工程规范
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*整理:知识库管理员 | 归档:2026-04-24*
|
||||||
Reference in New Issue
Block a user