Files
his/.qoder/skills/harness-engineering/SKILL.md

6.6 KiB
Raw Blame History

name, description
name description
harness-engineering Master methodology for designing AI Agent work environments. Use when designing constraints, feedback loops, control planes, quality gates, or durable execution for Codex agents. Encodes the full Harness Engineering paradigm.

Harness Engineering — 核心方法论

Harness = 约束 + 反馈 + 控制平面 + 持久执行

🔧 四大核心组件

1. 约束系统 (Constraints)

定义 Agent 行为边界和输出质量。四层金字塔:

层级 内容 本项目落地
L1 架构约束 接口合约、包结构、命名规范、禁止模式 AGENTS.md 铁律、全链路清单
L2 代码质量 圈复杂度、代码风格、类型提示、文档要求 编译门禁 + 语法检查
L3 安全约束 敏感信息检测、权限检查、输入验证 配置文件不可硬编码
L4 业务规则 领域逻辑、数据一致性、事务边界 全链路数据流验证

关键原则:

  • 约束越底层越自动(编译检查),越上层越需要人工裁决
  • 约束冲突时:安全 > 架构 > 质量 > 业务
  • 约束应随信任度动态调整(信任度模型见下文)

2. 反馈系统 (Feedback Loop)

测试 → 失败 → Agent 修复 → 重测。分三层:

层级 速度 覆盖范围 失败处理
L1 编译检查 <30 秒 语法、类型、签名 立即阻断Agent 自行修复
L2 数据流验证 <5 分钟 全链路字段、Mapper XML、DTO Agent 修复,必要时上报
L3 人工审查 10-30 分钟 架构、设计、业务正确性 驳回 / 指导 / 批准

反馈设计铁律:

  • 反馈必须可行动(指出:文件 + 行号 + 错误类型 + 修复方向)
  • 反馈越及时越好L1 即时 → L2 分钟 → L3 小时)
  • 失败后先回滚到最近检查点,再重试

3. 控制平面 (Control Plane)

任务调度和 Agent 协调的核心机制:

┌─────────────────────────────────────────────┐
│  控制平面三层架构                            │
│                                             │
│  战略层(人类主导)                          │
│  ├── 设定目标、审批关键决策                   │
│  └── 异常升级处理                            │
│                                             │
│  战术层Control Plane 主导)                 │
│  ├── 任务分解 + 规划                        │
│  ├── update_plan / checklist_write           │
│  └── 依赖协调 + 资源分配                     │
│                                             │
│  执行层Agent 自主)                        │
│  ├── 代码生成、测试执行                      │
│  ├── apply_patch / exec_command              │
│  └── 错误恢复 + 检查点保存                   │
└─────────────────────────────────────────────┘

4. 持久执行 (Durable Execution)

长时任务的检查点恢复机制(详见 $durable-execution 技能):

  • 每个关键步骤保存检查点(update_plan 进度)
  • 失败后从最新检查点恢复,不从头开始
  • 幂等设计:同一操作重复执行结果一致

📋 工作流程

标准工作流Plan → Generate → Validate → Review

收到任务
  │
  ├→ 1. 计划Plan
  │   ├── 分解步骤checklist_write + update_plan
  │   ├── 评估复杂度 / 风险
  │   └── 设定检查点里程碑
  │
  ├→ 2. 生成Generate
  │   ├── 并行探索spawn_agent × N
  │   ├── 约束优先:先加载 AGENTS.md 和相关规则
  │   └── 增量修改:只动必要文件
  │
  ├→ 3. 验证Validate
  │   ├── L1 编译检查mvn compile / python3 -c py_compile
  │   ├── L2 数据流验证(全链路检查清单)
  │   └── L3 人工审查(提交 diff 给人类)
  │
  └→ 4. 审查Review
      ├── 提交前 self-review对照约束逐条检查
      ├── 生成变更摘要
      └── 提交 / 推送

异常流程

编译失败 → 分析错误 → 撤销本次修改 → 从检查点恢复 → 重试
持续失败3次 → 上报人类 → 等待指导

🎯 质量门禁Quality Gates

门禁 触发时机 通过条件 失败动作
L1 编译 每次修改后 编译通过 立即修复
L2 全链路 提交前 数据流完整 Agent 修复
L3 审查 PR 提交 人类批准 驳回/指导
L4 回归 合并后 无回归 紧急修复

🔐 分层信任模型

信任等级 特征 自动化程度
L1 怀疑 Agent 错误率高,人工逐行审查 <20% 自动
L2 试探 Agent 稳定,抽样审查 40-60% 自动
L3 信任 Agent 可靠,关注结果 70-85% 自动
L4 委托 Agent 成为伙伴,人类管战略 90%+ 自动

当前项目状态: L2 试探级(编译门禁自动 + 全链路验证 + 人工终审)

📐 约束设计模式

1. 肯定模式 — 必须遵守的规则

必须实现 XXX 接口
代码覆盖率必须 > 90%
每个公共方法必须有类型提示

2. 否定模式 — 禁止的行为

禁止直接操作数据库(必须通过 Repository
禁止硬编码密码/密钥
禁止使用 eval()

3. 边界模式 — 限制范围

圈复杂度 <= 10
每函数行数 <= 50
单文件修改 <= 5 个

4. 优先级模式 — 冲突处理

安全 > 架构 > 质量 > 性能 > 便利

⚠️ 常见陷阱

陷阱 表现 解决
过度约束 Agent 被束缚,效率低 从最少约束开始,按需增加
约束冲突 多个规则互相矛盾 确定优先级顺序
反馈延迟 编译太慢Agent 等待 分层测试,快速失败
控制不足 Agent 自由度过高 增加检查点和门禁
跳过验证 直接提交未验证代码 门禁自动化,阻塞提交

📚 相关技能

  • $durable-execution — 检查点、幂等性、事件溯源
  • $closed-loop-testing — 质量门禁、测试策略、反馈循环
  • $constraint-design — DSL 设计、策略模式、约束编排
  • $review-audit — 审查工作流、审计追踪、合规检查
  • $full-chain-fix — 全链路数据流修复(已安装)
  • $karpathy-guidelines — 减少 LLM 编码错误(已安装)