7.6 KiB
7.6 KiB
created, type, tags, source
| created | type | tags | source | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 2026-04-06 | resource |
|
~/.claude/skills/autonomous-agent-harness/SKILL.md |
Autonomous Agent Harness 自主代理框架
把 Claude Code 变成持久化、自驱动的 Agent 系统,替代 AutoGPT/Hermes。核心理念:不需要额外框架,用 Claude Code 原生能力(crons + dispatch + MCP + memory)就能构建自主 Agent。
相关笔记:Autonomous Loops 自主循环模式、dmux 多Agent并行编排、ECC 编排替代方案 (orchestrate 迁移)
架构
┌─────────────────────────────────────────────────────┐
│ Claude Code Runtime │
│ │
│ Crons (定时) Dispatch (远程) Memory Computer Use │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌───────────────────────────────────────────────┐ │
│ │ ECC Skill + Agent Layer │ │
│ │ autonomous-loops / eval-harness / santa... │ │
│ │ loop-operator / harness-optimizer agents │ │
│ └───────────────────────────────────────────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌───────────────────────────────────────────────┐ │
│ │ MCP Server Layer │ │
│ │ memory github exa browser-use ... │ │
│ └───────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
5 大核心组件
1. 三层记忆系统
| 层级 | 机制 | 生命周期 | 用途 |
|---|---|---|---|
| 短期 | TodoWrite |
单次会话内 | 任务追踪 |
| 中期 | ~/.claude/projects/*/memory/*.md |
跨会话 | 项目上下文 |
| 长期 | MCP Memory Server (知识图谱) | 永久 | 实体、关系、观察 |
2. 定时操作 (Crons)
# Claude Code 内置 cron 能力
# 例:每 30 分钟检查新 PR 并审查
Cron: every 30 min during work hours
1. Check for new PRs on watched repos
2. For each new PR: pull branch, run tests, review
3. Post review comments via GitHub MCP
4. Update memory with review status
3. 远程 Agent (Dispatch)
通过 claude dispatch 或 remote trigger 启动远程 Agent 实例。
4. Computer Use (MCP)
通过 MCP browser/desktop 服务器实现屏幕交互、浏览器操作。
5. 任务队列
基于 memory 的持久化任务队列,跨会话保持任务状态。
关键 Agent
loop-operator
运行自主循环的安全操作员:
- 跟踪进度 checkpoint
- 检测停滞和重试风暴
- 失败重复时暂停并缩小范围
- 验证通过后才恢复
升级条件(任何一个为 true 则升级到人类):
- 连续 2 个 checkpoint 无进展
- 重复相同 stack trace 的失败
- 成本漂移超出预算窗口
- merge 冲突阻塞队列
harness-optimizer
优化 Agent 框架配置的专家:
- 运行
/harness-audit收集基线分数 - 识别 top 3 杠杆点(hooks, evals, routing, context, safety)
- 提出最小可逆配置变更
- 应用并验证
- 报告前后对比
核心设计原则
1. Eval-First(评估先行)
执行前定义完成标准。Eval 是 "AI 开发的单元测试"。
目标 pass@3 > 90%
- 定义 capability eval (新功能能做什么)
- 定义 regression eval (不破坏已有功能)
2. De-Sloppify(去粗糙化)
永远不要给生成器加负面约束("不要做 X")。让它自由生成,然后加独立清理 agent。
核心洞察:两个聚焦的 Agent 优于一个被约束的 Agent。
3. Santa Method(收敛循环)
Generator 生成
→ Reviewer A(安全+正确性)独立评估
→ Reviewer B(架构+测试)独立评估
→ 两者都 PASS 才算收敛
→ FAIL 则修复后用全新 Agent 重跑两个 Reviewer
→ 最多 3 轮,超过则上报人类
关键:Reviewer 从未看过 Generator 的推理过程,消除作者偏见。
4. 15 分钟单元规则
每个任务单元必须:
- 独立可验证
- 单一主要风险
- 明确的完成条件
- 约 15 分钟可完成
5. 分离上下文窗口
每个管道阶段在独立 Agent 进程中运行。不同阶段用不同模型:
| 阶段 | 模型 |
|---|---|
| Research | Sonnet |
| Plan | Opus |
| Implement | Sonnet / Codex |
| Review | Opus |
6. 循环安全
- 必须有退出条件:max-runs / max-cost / max-duration / completion signal
- 检测停滞和重试风暴
- 质量门必须活跃:eval baseline 必须存在
- 回滚路径必须存在
Hermes 组件替代表
| Hermes 组件 | ECC 替代 |
|---|---|
| Task Queue | MCP Memory + TodoWrite |
| Long-term Memory | MCP Memory Server (知识图谱) |
| Tool Execution | MCP Server Layer |
| Planning | /ecc:plan + /ecc:feature-dev |
| Scheduling | Claude Code Crons |
| Computer Use | MCP Playwright / Desktop |
| Web Browsing | MCP Browser + Exa Search |
Windows 可用性
| 组件 | Windows | 说明 |
|---|---|---|
| 三层记忆 | 可用 | 文件系统 + MCP |
| Crons | 可用 | Claude Code 原生 |
| Dispatch | 可用 | Claude Code 原生 |
| loop-operator agent | 可用 | Claude Code 内部 |
| 外部脚本(auto-pilot.sh) | 可用 | Git Bash |
| dmux 并行编排 | 不可用 | 需要 tmux(Linux/Mac) |
Windows 上的并行替代:Claude Code 内置 Agent/Task tool 实现进程内并行子 agent。
实际例子
Sequential Pipeline(最常用)
#!/bin/bash
set -e
claude -p "读取 spec,实现功能,先写测试"
claude -p "审查改动,清理 slop,运行测试"
claude -p "运行构建 + lint + 测试,修复失败"
claude -p "创建 conventional commit"
Cron 定时 PR 审查
Cron: 工作时间每 30 分钟
1. gh pr list --state open
2. 对每个 PR: 拉分支、运行测试、code-reviewer 审查
3. GitHub MCP 发布评论
4. memory 更新审查状态
带成本控制的持续循环
continuous-claude --prompt "为未测试函数添加单元测试" --max-runs 10
continuous-claude --prompt "修复所有 linter 错误" --max-cost 5.00
continuous-claude --prompt "提升测试覆盖率" --max-duration 8h
反模式
| 反模式 | 问题 | 正确做法 |
|---|---|---|
| 无退出条件的循环 | 无限烧钱 | 始终设 max-runs/max-cost |
| 单 agent 自审自 | 作者偏见 | Santa Method 双独立 reviewer |
| 用否定指令约束生成 | 质量下降 | De-Sloppify 独立 pass |
| 迭代间无上下文桥 | 重复劳动 | SHARED_TASK_NOTES.md |
| 所有阶段同一上下文 | 偏见累积 | 每阶段独立进程 |