From 1396e4b4d2bab43086032b3718ecab77158a5f8d Mon Sep 17 00:00:00 2001 From: zhaoyun Date: Thu, 28 May 2026 15:05:20 +0800 Subject: [PATCH] feat(harness): integrate walkinglabs 5-subsystem model with templates - Add .harness/ directory with 6 templates: init.sh (unified startup entry) PROGRESS.md (session progress tracking) feature_list.json (machine-readable feature status) clean-state-checklist.md (end-of-session cleanup) session-handoff.md (cross-session handoff) evaluator-rubric.md (review scoring) - Update AGENTS.md: 5-subsystem model (Instruction/Tools/Environment/State/Feedback) - Add Init-Plan-Implement-Verify-Cleanup workflow cycle --- .harness/PROGRESS.md | 29 +++ .harness/clean-state-checklist.md | 13 ++ .harness/evaluator-rubric.md | 22 ++ .harness/feature_list.json | 50 ++++ .harness/init.sh | 43 ++++ .harness/session-handoff.md | 29 +++ AGENTS.md | 363 ++++++++---------------------- 7 files changed, 286 insertions(+), 263 deletions(-) create mode 100644 .harness/PROGRESS.md create mode 100644 .harness/clean-state-checklist.md create mode 100644 .harness/evaluator-rubric.md create mode 100644 .harness/feature_list.json create mode 100755 .harness/init.sh create mode 100644 .harness/session-handoff.md diff --git a/.harness/PROGRESS.md b/.harness/PROGRESS.md new file mode 100644 index 000000000..a1fb742d1 --- /dev/null +++ b/.harness/PROGRESS.md @@ -0,0 +1,29 @@ +# 进度日志 + +## 当前已验证状态 + +- 仓库根目录:`/root/.openclaw/workspace/his-repo` +- 后端路径:`openhis-server-new/` +- 前端路径:`openhis-ui-vue3/` +- 分支:`develop` +- 标准启动路径:`cd openhis-server-new && mvn compile -pl openhis-application -am` +- 标准验证路径:`mvn compile -pl openhis-application -am` +- 当前最高优先级未完成功能: +- 当前 blocker: + +## 会话记录 + +### Session 001 + +- 日期:2026-05-28 +- 本轮目标:建立 Harness Engineering 基础设施 +- 已完成: + - 重构 AGENTS.md(853 → 400 行,Harness 框架) + - 创建 5 个 Codex 技能 + - 创建通用 AGENTS.md 模板 + - 安装 harness-engineering 插件 + - 创建项目级 Harness 模板 +- 运行过的验证:mvn compile ✅ +- 提交记录:d3ebbf9a3 +- 已知风险或未解决问题: +- 下一步最佳动作: diff --git a/.harness/clean-state-checklist.md b/.harness/clean-state-checklist.md new file mode 100644 index 000000000..5d044fb38 --- /dev/null +++ b/.harness/clean-state-checklist.md @@ -0,0 +1,13 @@ +# 干净状态检查清单 + +会话结束前逐项检查: + +- [ ] 标准启动路径仍然可用(mvn compile 通过) +- [ ] 标准验证路径仍然可运行 +- [ ] 当前进度已记录到 PROGRESS.md +- [ ] 功能状态真实反映 passing 和未验证的边界 +- [ ] feature_list.json 已更新 +- [ ] 没有任何半成品步骤处于未记录状态 +- [ ] 临时文件和调试代码已清理 +- [ ] 提交信息清晰描述了变更内容 +- [ ] 下一轮会话无需人工修复即可继续 diff --git a/.harness/evaluator-rubric.md b/.harness/evaluator-rubric.md new file mode 100644 index 000000000..adcdefd79 --- /dev/null +++ b/.harness/evaluator-rubric.md @@ -0,0 +1,22 @@ +# 评审评分表 + +| 维度 | 问题 | 0-2分 | 备注 | +|---|---|---|---| +| 正确性 | 实现的行为是否符合目标功能? | | | +| 验证 | 编译检查是否通过?数据流是否完整? | | | +| 范围纪律 | 是否保持在选定功能范围内? | | | +| 可靠性 | 结果能否在重启后继续工作? | | | +| 可维护性 | 代码是否遵循项目规范? | | | +| 交接准备度 | 下一轮能否只靠仓库内文件继续推进? | | | + +## 结论 + +- [ ] Accept +- [ ] Revise +- [ ] Block + +## 后续动作 + +- 缺失的证据: +- 必须补的修复: +- 下次复审触发条件: diff --git a/.harness/feature_list.json b/.harness/feature_list.json new file mode 100644 index 000000000..4d1675212 --- /dev/null +++ b/.harness/feature_list.json @@ -0,0 +1,50 @@ +{ + "project": "OpenHIS", + "last_updated": "2026-05-28", + "rules": { + "single_active_feature": true, + "passing_requires_evidence": true, + "do_not_skip_verification": true + }, + "status_legend": { + "not_started": "功能还没开始做", + "in_progress": "当前唯一正在进行的任务", + "blocked": "有已记录的阻塞问题", + "passing": "验证已通过,证据已记录", + "done": "已完成并合入主干" + }, + "features": [ + { + "id": "harness-001", + "priority": 1, + "area": "infrastructure", + "title": "Harness Engineering 基础设施搭建", + "user_visible_behavior": "Codex 具备完整的约束/反馈/控制/持久执行能力", + "status": "passing", + "verification": [ + "AGENTS.md 包含四大核心组件", + "5 个技能安装到 Codex 环境", + "harness-engineering 插件注册到 marketplace", + "通用 AGENTS.md 模板可用" + ], + "evidence": ["AGENTS.md restructured", "skills created", "plugin validated"], + "notes": "初始搭建完成,可继续迭代" + }, + { + "id": "harness-002", + "priority": 2, + "area": "infrastructure", + "title": "WalkingLabs 实战模式整合", + "user_visible_behavior": "项目具备完整的 5 子系统 Harness(指令/工具/环境/状态/反馈)", + "status": "in_progress", + "verification": [ + ".harness/ 目录包含所有模板文件", + "init.sh 可正常运行", + "PROGRESS.md 记录当前状态", + "feature_list.json 跟踪所有功能" + ], + "evidence": [], + "notes": "" + } + ] +} diff --git a/.harness/init.sh b/.harness/init.sh new file mode 100755 index 000000000..15b7f138f --- /dev/null +++ b/.harness/init.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# Harness Init — 统一启动与验证入口 +# 每次新会话开始前运行 +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +cd "$ROOT_DIR" + +echo "==> 当前目录: $PWD" +echo "==> Git 状态" +git status --short 2>/dev/null || true +git log --oneline -3 2>/dev/null || true + +echo "" +echo "==> 编译检查" +cd openhis-server-new +mvn compile -pl openhis-application -am -q 2>/dev/null && echo " ✅ 编译通过" || echo " ❌ 编译失败" + +echo "" +echo "==> 读取进度" +if [ -f .harness/PROGRESS.md ]; then + head -20 .harness/PROGRESS.md +else + echo " (无进度文件)" +fi + +echo "" +echo "==> 读取功能清单" +if [ -f .harness/feature_list.json ]; then + python3 -c " +import json +with open('.harness/feature_list.json') as f: + data = json.load(f) +features = [f for f in data.get('features', []) if f.get('status') == 'in_progress'] +if features: + print(f\" 当前进行中: {features[0].get('title', 'unknown')}\") +else: + print(' 当前无进行中的功能') +" 2>/dev/null || echo " (无法解析)" +fi + +echo "" +echo "==> 环境就绪 ✅" diff --git a/.harness/session-handoff.md b/.harness/session-handoff.md new file mode 100644 index 000000000..a1911c7aa --- /dev/null +++ b/.harness/session-handoff.md @@ -0,0 +1,29 @@ +# 会话交接 + +## 当前已验证 + +- 现在明确可用的部分: +- 本轮实际跑过的验证: + +## 本轮改动 + +- 新增了哪些代码或行为: +- Harness 发生了哪些变化: + +## 仍损坏或未验证 + +- 已知缺陷: +- 未验证路径: +- 下一轮需要注意的风险: + +## 下一步最佳动作 + +- 最高优先级未完成功能: +- 为什么它是下一步: +- 什么结果才算 passing: + +## 命令速查 + +- 编译:`cd openhis-server-new && mvn compile -pl openhis-application -am` +- 打包:`mvn clean package -DskipTests` +- 启动:`mvn spring-boot:run` diff --git a/AGENTS.md b/AGENTS.md index d7b206881..ebd145c0f 100755 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,30 +1,33 @@ # OpenHIS — Harness Engineering 开发指南 > **模型决定上限,Harness 决定底线。** -> 本文件是 OpenHIS 项目的 Harness Engineering 落地。基于 24 篇系列文章方法论,为 AI Agent 提供完整的工作环境和约束规则。 +> 本文件是 OpenHIS 项目的 Harness Engineering 落地。整合了 OpenAI/Anthropic Harness Engineering 方法论与 walkinglabs 实战模式。 --- ## 📋 项目信息 -OpenHIS 是一个医院管理系统,Java 17 + Spring Boot 后端 + Vue 3 + Vite 前端 + PostgreSQL。 +OpenHIS 医院管理系统 | Java 17 + Spring Boot + MyBatis Plus | Vue 3 + Element Plus | PostgreSQL ### 构建和运行 ```bash -# 后端构建 -cd /root/.openclaw/workspace/his-repo/openhis-server-new -mvn compile -pl openhis-application -am # 快速编译 -mvn clean package -DskipTests # 完整打包 -mvn spring-boot:run # 运行(开发模式) +cd /root/.openclaw/workspace/his-repo + +# 初始化(每次新会话先运行) +bash .harness/init.sh + +# 后端编译 +cd openhis-server-new && mvn compile -pl openhis-application -am + +# 后端打包 +mvn clean package -DskipTests + +# 后端运行 +cd openhis-application && mvn spring-boot:run # 前端 -cd /root/.openclaw/workspace/his-repo/openhis-ui-vue3 -npm install && npm run dev # 启动开发服务器 -npm run build:prod # 生产构建 - -# 语法检查 -python3 -c "import py_compile; py_compile.compile('strategy.py', doraise=True)" +cd openhis-ui-vue3 && npm install && npm run dev ``` ### 关键路径 @@ -34,173 +37,106 @@ python3 -c "import py_compile; py_compile.compile('strategy.py', doraise=True)" 后端配置: openhis-server-new/openhis-application/src/main/resources/ Mapper XML: .../mapper/ (regdoctorstation/, doctorstation/, ...) 前端代码: openhis-ui-vue3/src/ -日志: user_data/logs/freqtrade.log +Harness: .harness/ (init.sh, PROGRESS.md, feature_list.json, ...) ``` --- -## 🔧 四大核心组件 +## 🔧 5 子系统模型(WalkingLabs) -> 源自系列文章:十九(控制论)、十七(持久执行)、十八(AI-Native CI/CD) +> 源自:[Learn Harness Engineering](https://walkinglabs.github.io/learn-harness-engineering/zh/) -### 1. 约束系统(Constraints) +### 1. 指令子系统(Instruction) -定义 Agent 行为边界和输出质量。四层金字塔: +| 文件 | 用途 | +|---|---| +| **AGENTS.md**(本文件) | 项目规则、约束、工作流程 | +| `.harness/feature_list.json` | 机器可读的功能状态追踪 | +| `.harness/PROGRESS.md` | 会话进度和已验证状态 | +| `.harness/session-handoff.md` | 跨会话交接摘要 | -| 层级 | 内容 | 本项目实现 | 验证方式 | -|---|---|---|---| -| **L1 架构约束** | 接口合约、包结构、命名规范 | MyBatis Mapper 接口、Service 分层 | 编译检查 | -| **L2 代码质量** | 圈复杂度、类型提示、文档 | Java 17 类型系统、Lombok | 编译 + 人工 | -| **L3 安全约束** | 敏感信息、权限、SQL 注入 | PostgreSQL 参数化查询 | 全链路验证 | -| **L4 业务规则** | 数据一致性、事务边界 | 医嘱数据流完整性 | 人工审查 | +### 2. 工具子系统(Tools) -**铁律:** -- 约束越底层越自动(编译检查),越上层越需要人工裁决 -- 冲突时优先级:**安全 > 架构 > 质量 > 性能** -- 约束随信任度动态调整 +| 工具 | 用途 | +|---|---| +| `mvn compile` | 编译验证 | +| `git` | 版本控制 + 回滚 | +| `pwd` | 确认当前目录 | +| shell | 文件操作、命令执行 | -### 2. 反馈系统(Feedback Loop) +### 3. 环境子系统(Environment) -测试 → 失败 → Agent 修复 → 重测。分三层: +| 组件 | 状态 | +|---|---| +| Java 17 | ✅ `pom.xml` 锁定 | +| Maven | ✅ `mvn-wrapper` | +| PostgreSQL | ✅ 192.168.110.252:15432 | +| Node.js | ✅ `package.json` 锁定 | -| 层级 | 速度 | 覆盖 | 失败处理 | -|---|---|---|---| -| **L1 编译检查** | <30 秒 | 语法、类型、签名 | `mvn compile` 阻断,Agent 自行修复 | -| **L2 数据流验证** | <5 分钟 | 全链路字段、Mapper XML、DTO | Agent 修复,必要时上报 | -| **L3 人工审查** | 10-30 分钟 | 架构、设计、业务正确性 | 驳回 / 指导 / 批准 | +### 4. 状态子系统(State) -**反馈设计铁律:** -- 反馈必须可行动(文件:行号:错误类型:修复方向) -- 反馈越及时越好 -- 失败后先回滚到最近检查点,再重试 +| 机制 | 用途 | +|---|---| +| `update_plan` | 当前步骤检查点 | +| `.harness/PROGRESS.md` | 跨会话进度记录 | +| `.harness/feature_list.json` | 功能状态跟踪 | +| `git log` | 变更历史追溯 | -### 3. 控制平面(Control Plane) +### 5. 反馈子系统(Feedback) -``` -┌──────────────────────────────────────────────┐ -│ 战略层(你 — 人类主导) │ -│ ├── 设定任务目标、审批关键决策 │ -│ └── 异常升级处理 │ -├──────────────────────────────────────────────┤ -│ 战术层(Control Plane 主导) │ -│ ├── update_plan + checklist_write 分解步骤 │ -│ ├── 依赖协调 + 并行探索 │ -│ └── 检查点管理 │ -├──────────────────────────────────────────────┤ -│ 执行层(Agent 自主) │ -│ ├── apply_patch / exec_command 修改文件 │ -│ ├── mvn compile 验证 │ -│ └── 错误恢复(git restore → 重试) │ -└──────────────────────────────────────────────┘ -``` - -### 4. 持久执行(Durable Execution) - -每个关键步骤保存检查点,失败后恢复: - -```yaml -checkpoint_triggers: - time: "每个关键步骤完成" - event: "编译通过/失败后" - change: "每次 git diff 产生" - -recovery: - - "失败检测" - - "定位最新检查点(update_plan)" - - "分析失败原因" - - "git restore 撤销修改" - - "从失败点继续" -``` - -幂等性保证: - -| 模式 | 说明 | 本项目应用 | +| 层级 | 命令 | 时间 | |---|---|---| -| **唯一标识** | 已执行则跳过 | 同一 Bug 不重复生成文件 | -| **状态检查** | 目标已达成则跳过 | 编译成功模块不重复编译 | -| **补偿操作** | 失败时回滚 | 编译失败 → git restore | +| L1 编译 | `mvn compile -pl openhis-application -am` | <30 秒 | +| L2 全链路 | 六环检查清单(见下文) | <5 分钟 | +| L3 审查 | 你人工审查 diff | 10-30 分钟 | --- -## 📋 标准工作流 - -> 源自系列文章:二十三(实战指南) - -### Plan → Generate → Validate → Review +## 📋 标准工作循环 ``` -你提交任务 +开始会话 │ - ├→ 1. Plan - │ ├── checklist_write + update_plan 分解步骤 + ├→ 1. Init + │ ├── bash .harness/init.sh + │ ├── 读取 PROGRESS.md / feature_list.json + │ ├── git log --oneline -5 + │ └── 确认编译通过 + │ + ├→ 2. Plan + │ ├── update_plan / checklist_write 分解步骤 │ ├── 评估复杂度/风险 │ └── 设定检查点 │ - ├→ 2. Generate - │ ├── 加载 AGENTS.md + 相关技能 - │ ├── 并行探索(spawn_agent × N) + ├→ 3. Implement + │ ├── 一次只做一个功能 │ ├── 全链路检查清单核对 │ └── 增量修改,只动必要文件 │ - ├→ 3. Validate - │ ├── L1: mvn compile 编译检查 + ├→ 4. Verify + │ ├── L1: mvn compile │ ├── L2: 全链路数据流验证 - │ │ ├── 录入 → 保存 → 查询 → 修改 → 删除 - │ │ └── 关联模块同步更新 │ └── 生成变更摘要 │ - └→ 4. Review(你审查) - ├── 浏览 diff 确认范围和正确性 - ├── 检查架构一致性 - ├── 批准 → git add + commit + push - └── 驳回 → 反馈具体问题 → Agent 修复 + └→ 5. Cleanup + ├── 运行 clean-state-checklist.md + ├── 更新 PROGRESS.md + feature_list.json + ├── git add + commit + push + └── init.sh 确认干净状态 ``` -### 异常流程 - -``` -编译失败 → 分析错误 → git restore → 从检查点重试 -持续失败(3次) → 上报你,等待指导 -``` - ---- - -## 🚪 质量门禁(Quality Gates) - -> 源自系列文章:十八(AI-Native CI/CD)、二十三(实战指南) - -| 门禁 | 触发 | 通过条件 | 失败动作 | -|---|---|---|---| -| **L1 编译** | 每次修改 | `mvn compile` 通过 | 立即修复 | -| **L2 全链路** | 提交前 | 数据流完整(6 环检查) | Agent 修复 | -| **L3 审查** | 提交 PR | 你批准 | 驳回/指导 | -| **L4 回归** | 合并后 | 无回归 | 紧急修复 | - ---- - -## 🔐 分层信任模型 - -> 源自系列文章:二十一(边界) - -| 等级 | 特征 | 自动化度 | 审查策略 | 本项目 | -|---|---|---|---|---| -| **L1 怀疑** | Agent 错误率高 | <20% | 逐行审查 | — | -| **L2 试探** | 稳定但需监督 | 40-60% | 抽样 30% | ✅ **当前** | -| **L3 信任** | 可靠性已验证 | 70-85% | 抽样 10% | 🔄 目标 | -| **L4 委托** | 编程伙伴 | 90%+ | 仅异常 | ⏳ | - --- ## 🔗 全链路修复原则 -> 修 Bug / 做需求时,不得"就事论事",必须走通完整的数据流全链路。 +修 Bug 时,不得"就事论事",必须走通完整的**数据流全链路**: ### 六环检查清单 ``` 1. 录入 → 前端有无输入入口?(弹窗、行编辑、表单...) 2. 保存 → 前端 → API → Controller → Service → Entity → DB, - 每个保存入口都传了该字段吗?(注意多个 Service 实现类) + 每个保存入口都传了该字段吗? 3. 查询 → DB → Mapper XML(UNION ALL 子查询统一加)→ DTO → 前端展示 4. 修改 → 编辑回显 → 修改保存 → 正确更新? 5. 删除 → 状态变更会丢失该字段吗? @@ -209,13 +145,13 @@ recovery: ### 常见陷阱 -| 陷阱 | 表现 | 解决 | -|---|---|---| -| 只修主入口 | 批量保存/签发保存漏了 | 检查所有 Service 实现类 | -| 前端加了后端没传 | 不同模块走不同 Service | 逐个入口确认 | -| UNION ALL 只改一半 | 子查询列数不匹配 | 所有子查询统一加 | -| DTO 继承链没检查 | 父类/子类字段不一致 | 检查继承关系 | -| 只测新增没测编辑 | 编辑回显丢失 | 新增和编辑都要测 | +| 陷阱 | 解决 | +|---|---| +| 只修主入口,批量保存/签发保存漏了 | 检查所有 Service 实现类 | +| 前端加了后端没传 | 逐个入口确认 | +| UNION ALL 只改一半 | 所有子查询统一加 | +| DTO 继承链没检查 | 检查父类/子类字段一致性 | +| 只测新增没测编辑 | 新增和编辑都要测 | --- @@ -225,26 +161,18 @@ recovery: | 项目 | 规范 | |---|---| -| Java 版本 | 17 | -| 框架 | Spring Boot 2.5.15 | -| ORM | MyBatis Plus 3.5.5 | -| 数据库 | PostgreSQL | -| 包结构 | `com.openhis`(业务)、`com.core`(核心框架) | +| 包结构 | `com.openhis`(业务)、`com.core`(核心) | | 命名 | 类 PascalCase、方法 camelCase、常量 SCREAMING_SNAKE_CASE | | 注解 | `@Slf4j`、`@Data`、`@Service/@Controller/@Repository` | | 异常 | 统一异常处理,业务异常继承 `RuntimeException` | -| 缩进 | 4 空格,行 120 字符,左大括号不换行 | +| 缩进 | 4 空格,行 120 字符 | ### Vue 前端 | 项目 | 规范 | |---|---| -| 框架 | Vue 3 + Composition API | -| UI | Element Plus | -| 状态管理 | Pinia,路由 Vue Router 4 | -| 构建 | Vite 5 | +| 框架 | Vue 3 + Composition API + Element Plus + Pinia | | 命名 | 组件 PascalCase、文件 kebab-case、变量 camelCase | -| 事件 | `handle` 前缀、数据 `get`/`load` 前缀、提交 `submit` 前缀 | | 缩进 | 2 空格,单引号,行 100 字符 | ### 导入顺序 @@ -256,119 +184,37 @@ recovery: ## 🏗️ 开发约定 -### API 设计 -- RESTful,统一响应格式,Swagger 文档,错误码统一管理 - -### 数据库 -- 表名/字段名 snake_case,主键 `id`,软删除 `valid_flag` - -### 前端组件 -- 单一职责,Props camelCase,Events kebab-case,Composition API,JSDoc - -### 安全 -- 所有 API 需权限验证,敏感信息用环境变量,SQL 注入/XSS 防护 - -### 性能 -- 后端 Druid 连接池,前端路由懒加载,WebP 图片,虚拟滚动 +| 领域 | 约定 | +|---|---| +| API | RESTful,统一响应格式,Swagger 文档 | +| 数据库 | snake_case 命名,主键 `id`,软删除 `valid_flag` | +| 安全 | 所有 API 需权限验证,SQL 注入/XSS 防护 | +| 性能 | Druid 连接池,路由懒加载,虚拟滚动 | --- ## ⚙️ 关键配置 -| 项目 | 路径/值 | +| 项目 | 值 | |---|---| -| 后端主配置 | `openhis-server-new/openhis-application/src/main/resources/application.yml` | -| 环境配置 | `application-{profile}.yml` | -| Maven POM | `openhis-server-new/pom.xml` | -| Vite 配置 | `openhis-ui-vue3/vite.config.js` | -| 环境变量 | `.env.*` 文件 | -| 路由 | `openhis-ui-vue3/src/router/index.js` | | 后端端口 | 18080 | | 前端端口 | 81 | | API 前缀 | `/openhis` | | Swagger | `/openhis/swagger-ui/index.html` | -| Druid 监控 | `/openhis/druid/login.html` | - -### 常用工具类 -- 后端:`com.core.common.utils.*` -- 前端:`@/utils/*` - ---- - -## 📊 人机协作边界 - -> 源自系列文章:二十一(边界) - -| 场景 | 复杂度 | 风险 | 建议 | -|---|---|---|---| -| 单字段修复/编译错误 | 低 | 低 | Agent 自主,你审查 diff | -| 跨模块数据流/新增字段 | 中 | 中 | Agent 主导,你审查设计 | -| 架构调整/系统设计 | 高 | 高 | 你主导方案,Agent 执行 | -| 安全/权限变更 | 中 | 高 | 你决策,Agent 辅助 | -| Mapper XML 修改 | 中 | 中 | Agent 改,你验证数据流 | - -### 本项目的分层支持 - -| 层级 | 对应任务 | 自动化 | 人工介入 | -|---|---|---|---| -| **简单** | 单字段、编译错误 | 95% | 审查 diff 后合并 | -| **中等** | 跨模块数据流 | 80% | 审查设计 + 关键代码 | -| **复杂** | 架构调整 | 50% + 建议 | 你主导方案 | +| 后端配置 | `application.yml` / `application-{profile}.yml` | +| 前端配置 | `vite.config.js` / `.env.*` | --- ## 📈 成熟度追踪 -> 源自系列文章:十六(企业落地)、二十二(全景展望) - -| 等级 | 名称 | 特征 | 本项目 | -|---|---|---|---| -| **L1 初始** | 个别尝试,无规范 | — | ✅ 已超越 | -| **L2 管理** | 基础约束 + 反馈 + 控制 | AGENTS.md 定义完整流程 | ✅ **当前** | -| **L3 定义** | 标准化、可复用 | 规则沉淀 + 模板化 | 🔄 推进中 | -| **L4 量化** | 数据驱动优化 | 需要更多任务数据 | ⏳ | -| **L5 优化** | AI 自主优化 Harness | Meta-Harness | ⏳ | - -### 落地路径 - -``` -第 1 阶段:基线恢复(已完成) - → 代码回滚到安全基线,消除 AI 破坏 - → 建立底线约束 - -第 2 阶段:Harness 建设(当前) - → AGENTS.md 从 0 → 800+ 行 - → 全链路修复 + 四大组件 + 三级门禁 - → 每次失败沉淀规则 - -第 3 阶段:稳定产出(目标) - → 你提任务 → Harness 执行 → 编译通过 → 你审查确认 - → 80%+ 任务一次通过编译 - → 人工介入聚焦架构和设计决策 -``` - ---- - -## 💡 度量体系 - -| 维度 | 指标 | 目标 | +| 等级 | 特征 | 本项目 | |---|---|---| -| **效率** | 编译通过率 | >80% 一次通过 | -| **质量** | 缺陷逃逸率 | <5% | -| **可靠性** | Agent 任务成功率 | >80% | -| **满意度** | 你的满意度 | >4/5 | - ---- - -## ⚠️ 常见陷阱 - -| 陷阱 | 表现 | 解决 | -|---|---|---| -| **过度工程** | Harness 比任务还复杂 | 从最简单开始,按需递增 | -| **约束不足** | Agent 生成低质量代码 | 增加明确约束和检查点 | -| **反馈延迟** | 测试失败后才发现问题 | 尽早验证,快速失败 | -| **跳过验证** | 不编译就直接提交 | L1 门禁强制阻断 | -| **全链路只改一半** | Mapper 子查询漏了 | 六环清单逐个确认 | +| **L1 初始** | 零星使用 AI 工具 | ✅ 已超越 | +| **L2 管理** | 基础约束 + 反馈 + 控制 | ✅ **当前** | +| **L3 定义** | 标准化、可复用 | 🔄 walkinglabs 5 子系统整合 | +| **L4 量化** | 数据驱动优化 | ⏳ | +| **L5 优化** | AI 自主优化 Harness | ⏳ | --- @@ -377,6 +223,7 @@ recovery: | 技能 | 用途 | |---|---| | `$harness-engineering` | 主方法论 — 约束 + 反馈 + 控制 + 持久 | +| `$walkinglabs-harness` | 实战模式 — 5 子系统 + 模板 + 会话持续 | | `$durable-execution` | 检查点、幂等性、事件溯源 | | `$closed-loop-testing` | 质量门禁、测试策略、反馈循环 | | `$constraint-design` | DSL 设计、策略模式、约束编排 | @@ -386,15 +233,5 @@ recovery: --- -## 🔄 持续优化 - -``` -每次失败 → 分析根因 → 更新 AGENTS.md/规则 → 防止重犯 -``` - -**当前 AGENTS.md 行数:** 853 行(持续增长中) - ---- - > **总纲:** 你负责"做什么"和"为什么",Agent 负责"怎么做"和"做多好" -> **最后更新:** 基于 Harness Engineering 系列文章(共 24 篇),全面整合方法论 +> **工作循环:** Init → Plan → Implement → Verify → Cleanup