发布时间: 2026-03-30 关键词: Harness Engineering, Claude Code, Multi-Agent, Anthropic, AI编程
核心公式:
Agent = Model + Harness 竞争优势 = Harness 捕获的 Trajectories
Harness Engineering 是给 Claude Code 装上"缰绳、护栏、仪表盘和刹车系统"——让 AI Agent 能够长时间、稳定、可控地执行复杂编程任务。
| 指标 | 数值 |
|---|---|
| 团队规模 | 3人 |
| 开发周期 | 5个月 |
| 代码量 | 100万行 |
| 手写代码 | 0行 |
Anthropic 用 Harness Engineering 构建了一个可实际游玩的游戏,而 Solo Agent 版本却功能损坏。
Planner → Generator → Evaluator ↓ ↓ ↓ Spec Sprint Build QA Test
| Agent | 职责 | 关键特性 |
|---|---|---|
| Planner | 1-4句话 → 完整产品规格 | 模型自主扩展 |
| Generator | Sprint by Sprint 实现 | 自评估 + 反馈循环 |
| Evaluator | Playwright 实际测试 | 打分 + 详细反馈 |
| Phase | 改进点 | 状态 |
|---|---|---|
| Phase 1 | 改进计划文档、定时任务、执行流程 | ✅ 完成 |
| Phase 2 | dry_run修复、sessions_spawn、RalphLoop | ✅ 完成 |
| Phase 3 | Swarm通信、Battle环节、LLM评审 | ✅ 完成 |
| Phase 4 | 测试生成器、确定性评分器、UAT验收清单 | ✅ 完成 |
GAN 启发的对抗机制:
Generator 输出 → Evaluator 评分 → 反馈 → Generator 改进 → 循环
实现文件: swarm_communication.py (19KB)
Generator 和 Evaluator 协商合同:
实现文件: swarm_communication.py
| 维度 | 得分 | 阈值 |
|---|---|---|
| product_depth | 40 | 70 |
| functionality | 50 | 80 |
| visual_design | 0 | 60 |
| code_quality | 60 | 75 |
实现文件: llm_evaluator.py (14KB)
实测结果: 百炼 API 成功调用,返回 6 条改进建议。
┌─────────────────────────────────────────────────────────┐ │ 第五层:持续清理 │ │ 垃圾回收、代码熵治理、重构 PR │ ├─────────────────────────────────────────────────────────┤ │ 第四层:可观测性 │ │ Trace 追踪、进度日志、状态快照 │ ├─────────────────────────────────────────────────────────┤ │ 第三层:护栏约束 │ │ 边界校验、权限控制、危险操作拦截 │ ├─────────────────────────────────────────────────────────┤ │ 第二层:执行工具 │ │ Shell 执行、文件操作、Git 提交 │ ├─────────────────────────────────────────────────────────┤ │ 第一层:上下文知识 │ │ 目标定义、里程碑规划、验收标准 │ └─────────────────────────────────────────────────────────┘
| 操作类型 | 示例 | 动作 |
|---|---|---|
| 删除操作 | rm -rf | 需确认 |
| 数据库危险操作 | DROP, DELETE | 需确认 |
| 强制推送 | git push --force | 需确认 |
| 读取操作 | cat, ls, grep | 自动批准 |
| 指标 | 数值 |
|---|---|
| 总运行轮次 | 103 轮 |
| 运行时长 | ~27 小时 |
| 测试通过率 | 100% (5/5) |
| 改进点完成 | 12/12 (100%) |
| 产出脚本 | 23 个 |
人类掌舵,代理执行。Harness 不是让 Agent 自由发挥,而是提供明确的边界和约束。
Anthropic 实验中,Solo Agent 版本功能损坏,而 Harness 版本可实际游玩——区别就在于 Evaluator 用 Playwright 实测。
不是 Generator 单方面决定,而是和 Evaluator 协商合同,确保方向正确。
Generator ↔ Evaluator 对抗迭代,就像 GAN 的生成器和判别器。
| 文件 | 功能 | 大小 |
|---|---|---|
swarm_communication.py | Generator-Evaluator对抗 + SprintContract协商 | 19KB |
swarm_integration.py | Battle环节 + GAN循环 | 13KB |
llm_evaluator.py | 百炼LLM评审(Qwen3-max) | 14KB |
test_case_generator.py | 测试用例生成 + 确定性评分器 | - |
delivery.py | UAT验收清单 | - |
orchestrator.py | 多Agent协调器 | - |
guard.py | 护栏检查器 | - |
总结: Harness Engineering 让 AI Agent 从"玩具"变成"生产工具"。Anthropic 的实验证明了这一点,我们的实现验证了这一点。
更新时间: 2026-03-30
本文作者:lazyyoun
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!