跨任务学习技能
用于在所有已完成的任务中聚合洞察的模式。
何时加载此技能
- 反射器:在编写个人反思后
- 进化者:在分析反思之前(以获得聚合视图)
核心概念
个人反思捕获特定于任务的学习。跨任务学习将这些聚合以识别:
- 不断出现的模式 → 技能候选
- 始终有效的策略 → 最佳实践
- 不断失败的策略 → 反模式
- 反复出现的瓶颈 → 系统弱点
- 不断出现的提案 → 优先改进
聚合文件
位置:memory/reflections/_aggregate.json
示例结构(紧凑JSON):
{"last_updated":"ISO-8601","tasks_analyzed":15,"strategy_effectiveness":[{"strategy":"Spawn parallel explorers for context","uses":12,"successes":10,"effectiveness_score":0.83,"notes":"Works well for unfamiliar codebases"}],"failure_patterns":[{"pattern":"Contract conflicts in parallel implementation","occurrences":4,"severity":"high","status":"active"}],"skill_candidates":[{"pattern":"Read → Explore → Implement → Test → Verify","frequency":8,"effectiveness":"high","proposed_skill_name":"implementation-cycle"}]}
更新协议(供反射器使用)
在编写个人反思后,更新聚合:
1. 读取当前_aggregate.json
2. 读取刚刚编写的反思
3. 更新任务历史:
- 添加新条目,包括任务ID、时间戳、结果
- 保留最后20条记录(修剪最旧的)
4. 更新策略有效性:
FOR每个策略在反思.patterns.effective_strategies中:
IF策略在聚合中存在:
→ 增加使用次数和成功次数
→ 重新计算effectiveness_score
ELSE:
→ 添加新条目,使用次数=1,成功次数=1
FOR每个策略在反思.patterns.ineffective_strategies中:
IF策略在聚合中存在:
→ 增加使用次数和失败次数
→ 重新计算effectiveness_score
ELSE:
→ 添加新条目,使用次数=1,失败次数=1
5. 更新失败模式:
FOR每个问题在反思.process_analysis.phases[].issues中:
IF存在类似模式(模糊匹配):
→ 增加出现次数
→ 更新上次出现
ELSE:
→ 添加新模式
6. 更新瓶颈热点:
FOR每个瓶颈在反思.process_analysis.bottlenecks中:
IF位置存在:
→ 增加频率
→ 添加新原因
ELSE:
→ 添加新热点
7. 更新技能候选:
FOR每个序列在反思.patterns.repeated_sequences中:
IF序列.skill_candidate == true:
IF存在类似模式:
→ 增加频率
ELSE:
→ 添加新候选
8. 更新反复发现:
FOR每个发现在反思.knowledge_discovered中:
IF存在类似发现:
→ 增加发现次数
→ 如果次数>=3,则设置should_be_documented = true
ELSE:
→ 添加新条目
9. 更新反复提议:
FOR每个提议在反思.evolution_proposals中:
IF存在类似提议:
→ 增加出现次数
ELSE:
→ 添加新条目
10. 更新重试分析:
FOR每个重试在反思.process_analysis.retries中:
→ 增加总重试次数
→ 更新按策略计数
11. 增加任务分析次数
12. 更新上次更新
13. 写入更新后的_aggregate.json(紧凑JSON)
相似性匹配
当检查模式是否“相似”时:
标准化两个字符串:
- 小写
- 移除标点符号
- 移除常用词(the, a, an, is, are)
比较使用:
- 标准化后的精确匹配
- OR: >70%单词重叠
- OR: 相同关键词存在
行动阈值
| 指标 | 阈值 | 行动 |
|---|---|---|
| 策略有效性 < 0.3 | 使用5次后 | 标记为反模式 |
| 策略有效性 > 0.8 | 使用5次后 | 标记为最佳实践 |
| 失败模式出现次数 | >= 3 | 标记为紧急修复 |
| 技能候选频率 | >= 5 | 提议作为新技能 |
| 反复发现次数 | >= 3 | 添加到知识库 |
| 反复提议次数 | >= 3 | 优先进化 |
查询模式(供进化者使用)
获取需要修复的顶级问题:
failure_patterns
WHERE status == "active"
ORDER BY occurrences * severity_weight DESC
LIMIT 5
获取需要记录的最佳实践:
strategy_effectiveness
WHERE effectiveness_score > 0.8
AND uses >= 5
获取准备实施的技能候选:
skill_candidates
WHERE frequency >= 5
AND effectiveness == "high"
AND status == "candidate"
获取知识差距:
recurring_discoveries
WHERE should_be_documented == true
AND NOT in knowledge_base
与进化者的集成
进化者应该:
- 首先读取
_aggregate.json(不是个人反思) - 使用聚合数据进行提案优先级排序:
- 高频率失败模式 → 高优先级
- 高频率技能候选 → 中等优先级
- 反复提议 → 已经验证的想法
- 仅在需要详细信息时参考个人反思
- 进化后更新
recurring_proposals[].status
原则
- 聚合,不重复 - 汇总统计,不是副本
- 追踪趋势 - 首次出现,上次出现,频率
- 启用查询 - 结构易于过滤
- 基于阈值的行动 - 何时行动的明确标准
- 模糊匹配 - 类似模式应合并,不重复