🧠 主动学习模块
本文从 README.md 迁移而来。
🧠 主动学习模块
Oh My Coder 内置主动学习能力,可以从执行结果中学习并优化策略。
功能
| 模块 | 说明 |
|---|---|
| 反馈收集 | 收集成功/失败/用户修正反馈 |
| 模式分析 | 分析失败类型(理解错误、执行错误、验证错误) |
| 策略适配 | 根据模式类型推荐不同策略 |
| 提示词调优 | 根据反馈自动调整 Agent system prompt |
| Skill 自进化 | 工作流完成后自动将经验沉淀为 .omc/skills/ Skill 文件 |
Skill 自进化系统
每次工作流完成后,Oh My Coder 自动评估是否值得沉淀经验:
触发条件(满足任一): - 工具调用 ≥5 次且成功 - 错误 → 解决 - 用户纠正 - 非平凡工作流(≥3 步骤)
Skill 文件结构:
.omc/skills/
├── index.json # 全量索引
├── debugging/ # 调试经验(bug fix、troubleshooting)
│ └── sql-slow-fix/
│ └── SKILL.md # YAML frontmatter + Markdown 正文
├── workflow/ # 工作流经验
├── corrections/ # 被纠正后的修复
└── best-practices/ # 最佳实践
Tier 0 自动注入: 所有 Agent 执行前,Orchestrator 自动读取 index.json,将所有 Skill 的名字+描述追加到系统 Prompt 底部(~500 token),让 Agent 知道有哪些经验可用。
CRUD 工具: skill-manage Agent 支持 create / patch / delete / list / search 操作,patch 优先于 create。
from src.memory.skill_manager import SkillManager
sm = SkillManager()
# 创建 Skill
sm.create(name="SQL 慢查询修复", body="# 正文...", category="debugging",
tags=["sql", "performance"], triggers=["查询慢"])
# patch(优先)
sm.patch(skill_id="sql-slow-fix", body="更新后的正文...")
# 搜索
results = sm.search("sql 慢查询")
数据存储在 ~/.omc/ 目录。
📖 详细文档:主动学习模块