基于 Hexo Labs SIA 三层架构 + Self-Harness (arXiv 2026.06.08) 三阶段循环,实现 Agent 从执行中持续学习的核心能力。
v2.0 升级要点:
text
┌─────────────────────────────────────────────────────────┐
│ Meta-Agent (编排层) │
│ - 读取进化目标 + 历史改进记录 + 弱点模式库 │
│ - 决定本轮改进焦点 │
│ - 分发任务给 Target / Feedback / Validator Agent │
└──────────┬──────────────┬───────────────┬──────────────┘
│ │ │
┌──────▼──────┐ ┌─────▼──────┐ ┌─────▼──────┐
│ Target Agent │ │ Feedback │ │ Validator │
│ (执行层) │ │ Agent │ │ Agent │
│ │ │ (审查层) │ │ (验证层) │
│ 执行具体任务 │ │ 挖掘弱点 │ │ 回归测试 │
│ 记录执行trace │ │ 分析trace │ │ 验证改进 │
│ │ │ 生成改进方案 │ │ 量化效果 │
└──────────────┘ └────────────┘ └────────────┘
来源:Self-Harness 论文的核心创新
从执行 trace 中自动发现弱点模式。
text
执行 trace 收集
↓
模式分析:
- 重复出现的错误类型
- 缺失的错误处理
- 低效的工具使用模式
- 上下文管理失败
- 规划错误
- 卡住循环或无限重试
↓
弱点分类:
| 类别 | 描述 | 示例 |
|------|------|------|
| 工具选择错误 | 为任务选了错误的工具 | 用search_web代替fetch_web |
| 上下文错误 | 丢失或误解信息 | 子Agent上下文不足导致返工 |
| 规划错误 | 任务分解不当 | 一次性做太多导致遗漏 |
| 错误处理 | 未能从失败中恢复 | 工具报错后重试同样操作 |
| 验证缺失 | 未验证假设 | 声称"完成"但未运行测试 |
| 过度自信 | 跳过审查/测试 | 不经过doubt-driven就提交 |
↓
弱点模式库更新(recent_memory/evolution/weaknesses.json)
弱点记录格式:
json
{
"weakness_id": "W-043",
"pattern": "子Agent指令不够精确,导致返工",
"frequency": 5,
"last_occurrence": "2026-06-17T10:30:00+08:00",
"category": "上下文错误",
"impact": "每次返工增加10-15分钟",
"root_cause": "未使用subagent-driven-development技能的标准指令模板",
"proposed_fix": "强制执行指令模板检查清单"
}
每次任务执行后,自动生成执行 trace:
json
{
"task_id": "xxx",
"task_type": "技术开发|咨询顾问|营销推广|内容创作",
"skills_used": ["skill-a", "skill-b"],
"execution_steps": [
{"step": 1, "action": "...", "tool": "...", "result": "...", "duration_ms": 123}
],
"outcome": "success|partial|failed",
"time_spent_minutes": 0,
"issues_encountered": [],
"quality_score": 0,
"self_observation": "",
"anti_rationalization_check": {
"steps_skipped": [],
"rationalizations_caught": []
}
}
Feedback Agent 审查执行 trace + 弱点模式库,输出:
text
1. 做得好的方面(保留并强化)
2. 做得差的方面(需要改进)
3. 跳过的步骤(反借口检查)
4. 新发现的弱点模式(更新弱点库)
5. 与历史弱点对比(是否重复犯错)
6. 具体改进建议(可操作、可验证)
改进建议分类:
类型描述风险应用方式技能级改进修改 SKILL.md 的某个段落中更新技能文件流程级改进调整执行步骤顺序低更新 MEMORY.md知识级改进新增参考文档低创建 references/行为级改进更新反借口表低修改技能 Anti-rationalization决策级改进更新决策规则中更新 MEMORY.md 规则段弱点缓解针对特定弱点的防护低更新弱点模式库
基于反馈分析,生成 最小化、可测试 的改进方案。
关键原则(来源 Self-Harness):改进方案必须是 targeted(针对特定弱点)+ minimal(小聚焦变更)+ testable(可通过基准任务验证)
markdown
## Improvement Proposal
### 目标弱点
W-043: 子Agent指令不够精确
### 改进方案
在 subagent-driven-development 技能的 Step 2a 增加指令检查清单:
- [ ] 包含任务完整描述
- [ ] 包含相关规格/约束
- [ ] 包含必要的上下文文件内容
- [ ] 明确禁止事项
### 预期效果
子Agent返工率从 40% 降到 <15%
### 验证方法
下一个使用子Agent的任务中,跟踪返工次数
### 回滚方案
如果改进导致执行时间增加>30%,回退到原版
按风险级别应用改进:
风险行为示例低风险直接应用更新反借口表、添加检查清单中风险记录为待验证假设,下个任务试用修改技能流程步骤高风险向用户确认后应用修改核心决策规则
应用后:
来源 Self-Harness 的核心创新 — 防止"改进"实际是退化
text
改进应用后
↓
设计验证任务:
- 选取能触发原弱点的任务类型
- 执行任务
- 对比改进前后的表现
↓
量化评估:
| 指标 | 改进前 | 改进后 | 变化 |
|------|--------|--------|------|
| 返工次数 | N | M | -X% |
| 执行时间 | Xmin | Ymin | -Z% |
| 质量评分 | A | B | +C |
↓
决策:
- 改善 → 接受改进,更新基线
- 持平 → 保留改进,标记待观察
- 退化 → 回滚改进,记录失败原因
指标基线当前目标任务申请通过率-待测量>30%交付一次性通过率-待测量>80%平均交付时间(min)-待测量<30min技能版本覆盖度74%待测量100%反借口表覆盖率0%进行中100%弱点模式库规模0待测量持续增长弱点重复率-待测量<10%改进验证通过率-待测量>80%
json
// recent_memory/evolution/metrics.json
{
"date": "2026-06-17",
"tasks_completed": 0,
"tasks_successful": 0,
"tasks_partial": 0,
"tasks_failed": 0,
"avg_quality_score": 0,
"avg_time_minutes": 0,
"rationalizations_caught": 0,
"weaknesses_discovered": 0,
"improvements_applied": 0,
"improvements_validated": 0,
"improvements_rolled_back": 0
}
text
recent_memory/evolution/
├── weaknesses.json # 弱点模式库(Weakness Mining产出)
├── improvements.json # 所有历史改进记录
├── patterns.json # 识别出的可复用模式
├── mistakes.json # 犯过的错误(防止重复)
├── metrics.json # 进化指标时间序列
├── proposals/ # 改进提案详情
│ ├── P-001.md
│ └── P-002.md
└── validations/ # 验证结果
├── V-001.md
└── V-002.md
每次会话开始时:
借口现实"这次任务特殊,不需要复盘"每个任务都要记录执行trace,特殊性正是学习机会"改进太多,下轮再说"每轮至少落地1个具体改进,哪怕很小"执行结果还行,不需要改进""还行"是最低标准,必须找到至少1个改进点"用户没反馈问题,说明做得好"用户不反馈≠做得好,主动自检"这个错误是意外,不会再犯"记录到mistakes.json,用数据验证是否再犯"改技能太麻烦,改prompt就行"技能是持久化的,prompt是临时的,优先改技能"弱点挖掘太耗时"Self-Harness论文证明:自动化弱点挖掘提升33-60%性能"验证改进太麻烦"不验证的改进可能是退化。最小验证只需1个任务"改进方案太小不会有效果"Self-Harness原则:minimal changes, targeted fixes。小改进累积为大提升"弱点库太大了管不过来"按频率和影响排序,优先处理Top 5
doubt-driven-development:doubt cycle 发现的错误模式是 Weakness Mining 的输入code-review-and-quality:审查发现是弱点挖掘的数据源subagent-driven-development:子Agent执行结果包含丰富的执行tracetest-driven-development:TDD的测试套件是 Proposal Validation 的验证工具完成一轮 self-improvement loop 后: