编辑
2026-03-31
技术
00
请注意,本文编写于 102 天前,最后修改于 102 天前,其中某些信息可能已经过时。

目录

Claude Harness Skill 设计深度分析
一、核心原理
1.1 Harness Engineering 理念
1.2 五层架构设计
1.3 多 Agent 协同模式
二、当前 Skill 实现
2.1 模块清单
2.2 数据表设计(7 张表)
三、与 Harness Engineering 的关系
3.1 理念对应
3.2 实现差距
四、OpenClaw 框架能力
4.1 sessions_spawn(子 Agent 启动)
4.2 sessions_yield(等待结果)
4.3 Cron、A2A、Compaction
五、确保稳定运行的设计要点
5.1 问题清单
5.2 关键设计原则
5.3 标准执行流程
六、优化建议
6.1 立即修复
6.2 建议添加的配置
七、附录:Admin 项目执行链路
7.1 实际执行方式
7.2 AutoExecutor 报告 vs 实际

Claude Harness Skill 设计深度分析

撰写时间:2026-03-31 16:30 目的:为优化稳定运行提供参考


一、核心原理

1.1 Harness Engineering 理念

核心理念:"Humans steer, agents execute" —— 人类掌舵,代理执行

为 AI 编程助手构建一套完整的控制系统:

  • 缰绳(Harness):限制 AI 的行动范围
  • 护栏(Guardrails):拦截危险操作
  • 仪表盘(Dashboard):实时监控进度
  • 刹车系统(Intervention):人工介入机制

1.2 五层架构设计

第一层:上下文知识 - 目标定义、里程碑规划、验收标准 第二层:执行工具 - Shell 执行、文件操作、Git 提交 第三层:护栏约束 - 边界校验、权限控制、危险操作拦截 第四层:可观测性 - Trace 追踪、进度日志、状态快照 第五层:持续清理 - 垃圾回收、代码熵治理、重构 PR

1.3 多 Agent 协同模式

用户目标 → Planner 分解 → 里程碑列表 → Coordinator 调度 → Executor 执行 → Supervisor 审查 → 完成/重做


二、当前 Skill 实现

2.1 模块清单

脚本功能状态
orchestrator.py多 Agent 协调器✅ 实现
guard.py护栏检查器✅ 实现
observability.py可观测性系统✅ 实现
intervention.py人工介入系统✅ 实现
delivery.py测试交付系统✅ 实现
auto_executor.py自动执行器⚠️ 问题较多
adversarial.py对抗评审✅ 实现
continuous.py持续运行✅ 实现

2.2 数据表设计(7 张表)

harness_tasks(任务主表):id, name, status, progress, parent_task_id, priority, retry_count

harness_agents(Agent 记录表):id, task_id, agent_type, status, output, token_used, duration_ms

harness_checkpoints(检查点表):id, task_id, iteration, status_snapshot, files_modified

harness_events(事件日志表):id, task_id, event_type, event_level, message

harness_milestones(里程碑表):id, task_id, name, status, order_index

harness_reviews(评审记录表):id, task_id, round_id, producer_output, critic_comments

harness_system_health(系统健康表):id, check_time, module_name, status, details


三、与 Harness Engineering 的关系

3.1 理念对应

理论概念Skill 实现对应模块
缰绳上下文约束orchestrator.py
护栏危险操作拦截guard.py
仪表盘状态追踪observability.py
刹车人工介入intervention.py
验收测试交付delivery.py

3.2 实现差距

理论要求当前状态差距
真正执行⚠️ 部分AutoExecutor 假执行问题
状态同步⚠️ 不稳定数据库与实际不一致
持续监控⚠️ 部分巡检不够详细
对抗评审✅ 实现已有 adversarial.py
人工介入✅ 实现已有 intervention.py

四、OpenClaw 框架能力

4.1 sessions_spawn(子 Agent 启动)

参数:runtime(subagent/acp)、mode(run/session)、task、label、timeoutSeconds

关键发现:sessions_spawn 是异步的,需要 sessions_yield 等待结果推送

4.2 sessions_yield(等待结果)

用途:结束当前 turn,等待 subagent 推送结果

关键:没有 sessions_yield,主 session 会立即结束

4.3 Cron、A2A、Compaction

关键发现:当前 openclaw.json 中这些配置都是空对象,需要添加


五、确保稳定运行的设计要点

5.1 问题清单

#问题严重程度状态
1AutoExecutor 假执行🔴 Critical⚠️ 部分
2不等待 sessions_yield🔴 Critical⚠️ 部分
3数据库状态不同步🟠 Major⚠️ 不稳定
4Cron 配置丢失🟠 Major❌ 待修复

5.2 关键设计原则

原则说明
真执行必须调用 sessions_spawn,不模拟
真等待必须调用 sessions_yield,等待推送
双写验证数据库 + 文件双写,两者一致才完成
检查点恢复定期保存检查点,失败可恢复
状态同步执行记录文件 → 数据库

5.3 标准执行流程

Step 1: 查询 MySQL → 找 pending 任务 Step 2: sessions_spawn → 启动 subagent Step 3: sessions_yield → 等待完成推送 Step 4: 检查执行记录文件 → 验证真正完成 Step 5: UPDATE MySQL → 更新状态 Step 6: 保存检查点 → 记录快照


六、优化建议

6.1 立即修复

优先级问题方案
P0AutoExecutor 假执行强制 sessions_spawn
P0不等待结果强制 sessions_yield
P1数据库不同步双写验证机制
P1Cron 配置丢失添加 cron 配置

6.2 建议添加的配置

harness-autoexecutor:每 10 分钟执行 harness-monitor:每 5 分钟监控 A2A:maxPingPongTurns: 5 Compaction:safeguard 模式


七、附录:Admin 项目执行链路

7.1 实际执行方式

任务执行方式Session Key
M3手动 sessions_spawnagent:main:subagent
M4手动 sessions_spawnagent:main:subagent:91817697
M5手动 sessions_spawnagent:main:subagent

7.2 AutoExecutor 报告 vs 实际

14:49 "模拟执行成功" → ❌ 假 14:53 "M4-1/M4-2 成功" → ❌ 假 15:03 "成功" → ❌ 假 15:13 "系统空闲" → ✅ 真(手动完成)


本文档供用户分析优化参考。

本文作者:lazyyoun

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!