面向 AI Agent 的自我进化引擎,直击"重复犯错、从沉默误学、记忆压缩丢失、进化无法衡量"四大痛点。通过自反思、纠错学习、模式晋升机制,让 Agent 从每次交互中积累可复用经验,而非每次会话从零开始。 核心能力包括自反思日志(任务后自动评估"是否达预期/如何改进/是否成模式")、纠错学习信号(识别用户纠正...
Coding
自我进化AI
Try it自我进化AI是一个让智能体从每次交互中持续学习并自主改进的记忆与进化系统。针对传统自改进代理"记不住、用不上、成本高"三大痛点,构建了智能分层记忆、自动痛点检测、模式复发追踪和按需加载四大核心能力。 核心能力包括:经验/错误/特性请求三类结构化记忆;基于语义的自动分类与优先级评估;跨会话模式复发检测与晋升机制;分...
What it does
自我进化AI是一个让智能体从每次交互中持续学习并自主改进的记忆与进化系统。针对传统自改进代理"记不住、用不上、成本高"三大痛点,构建了智能分层记忆、自动痛点检测、模式复发追踪和按需加载四大核心能力。 核心能力包括:经验/错误/特性请求三类结构化记忆;基于语义的自动分类与优先级评估;跨会话模式复发检测与晋升机制;分层文档加载策略(快速入门→标准用法→高级配置);一键晋升到项目记忆与可复用技能。 适用场景:长期运行的AI代理项目、多人协作的代码仓库、需要积累领域知识的研发团队、希望减少重复犯错的独立开发者、需要将隐性经验转化为显性规则的技术团队。 差异化亮点:相比原始版本,新增智能痛点检测触发器(自动识别纠正/知识缺口/最佳实践)、模式复发追踪(Recurrence-Count跨任务统计+30天窗口晋升规则)、按需加载机制(主文档<150行,详情分层引用)、token成本预估与优化建议、故障排查决策树、分层评审清单。 触发关键词:自我进化、经验捕获、错误学习、模式追踪、记忆晋升、持续改进、self-evolving、learnings、corrections、pattern-detection
The skill document
自我进化AI
让智能体从每次交互中持续学习,自动捕获经验、错误与纠正,并通过模式复发追踪将高频问题晋升为项目级规则。
快速开始(3步启用)
- 初始化记忆目录
mkdir -p .learnings
-
识别情境并记录(参见下方决策表)
-
定期评审与晋升(参见晋升机制)
情境决策表
| 情境 | 动作 | 目标文件 |
|---|---|---|
| 任务执行中主动修复失败 | 使用自愈流程,记录到 HEALS.md | .learnings/HEALS.md |
| 过去命令/操作失败(非自愈中) | 记录错误条目 | .learnings/ERRORS.md |
| 用户纠正你的回答 | 记录学习条目,类别=correction | .learnings/LEARNINGS.md |
| 用户提出缺失功能 | 记录特性请求 | .learnings/FEATURE_REQUESTS.md |
| 外部API/工具调用失败 | 记录错误条目,含集成详情 | .learnings/ERRORS.md |
| 自愈规则满足晋升条件 | 晋升为项目规则 | CLAUDE.md/AGENTS.md |
| 发现知识已过时 | 记录学习条目,类别=knowledge_gap | .learnings/LEARNINGS.md |
| 发现更优方案 | 记录学习条目,类别=best_practice | .learnings/LEARNINGS.md |
| 重复出现的模式 | 更新条目,递增Recurrence-Count | .learnings/LEARNINGS.md |
| 与已有条目相似 | 添加See Also链接,考虑提升优先级 | 对应条目 |
| 广泛适用的学习 | 晋升到项目记忆 | CLAUDE.md/AGENTS.md |
记录格式
学习条目
追加到 .learnings/LEARNINGS.md:
## [LRN-YYYYMMDD-XXX] category
**Logged**: ISO-8601时间戳
**Priority**: low | medium | high | critical
**Status**: pending
**Area**: frontend | backend | infra | tests | docs | config
### Summary
一句话描述学到了什么
### Details
完整上下文:发生了什么、哪里错了、正确做法是什么
### Suggested Action
具体的修复或改进建议
### Metadata
- Source: conversation | error | user_feedback
- Related Files: path/to/file.ext
- Tags: tag1, tag2
- See Also: LRN-20250110-001(关联已有条目)
- Pattern-Key: simplify.dead_code | harden.input_validation(可选,用于复发模式追踪)
- Recurrence-Count: 1(可选)
- First-Seen: 2025-01-15(可选)
- Last-Seen: 2025-01-15(可选)
---
错误条目
追加到 .learnings/ERRORS.md:
## [ERR-YYYYMMDD-XXX] skill_or_command_name
**Logged**: ISO-8601时间戳
**Priority**: high
**Status**: pending
**Area**: frontend | backend | infra | tests | docs | config
### Summary
简要描述什么失败了
### Error
实际错误消息或输出
### Context
- 尝试的命令/操作
- 使用的输入或参数
- 相关环境详情
### Suggested Fix
如果能识别,什么可能解决这个问题
### Metadata
- Reproducible: yes | no | unknown
- Related Files: path/to/file.ext
- See Also: ERR-20250110-001(如复发)
---
特性请求条目
追加到 .learnings/FEATURE_REQUESTS.md:
## [FEAT-YYYYMMDD-XXX] capability_name
**Logged**: ISO-8601时间戳
**Priority**: medium
**Status**: pending
**Area**: frontend | backend | infra | tests | docs | config
### Requested Capability
用户想要做什么
### User Context
为什么需要,在解决什么问题
### Complexity Estimate
simple | medium | complex
### Suggested Implementation
如何构建,可能扩展什么
### Metadata
- Frequency: first_time | recurring
- Related Features: existing_feature_name
---
ID生成规则
格式: TYPE-YYYYMMDD-XXX
- TYPE:
LRN(学习)、ERR(错误)、FEAT(特性) - YYYYMMDD: 当前日期
- XXX: 顺序号或随机3字符(如
001、A7B)
示例: LRN-20250115-001、ERR-20250115-A3F、FEAT-20250115-002
条目状态流转
pending → in_progress → resolved
↘ wont_fix(附原因)
↘ promoted(晋升到项目记忆)
↘ promoted_to_skill(提取为可复用技能)
修复问题后更新条目:
- 将
**Status**: pending改为**Status**: resolved - 在Metadata后添加解决块:
### Resolution
- **Resolved**: 2025-01-16T09:00:00Z
- **Commit/PR**: abc123 或 #42
- **Notes**: 简要描述做了什么
晋升到项目记忆
当学习具有广泛适用性(非一次性修复)时,晋升为永久项目记忆。
晋升时机
- 学习适用于多个文件/功能
- 任何贡献者(人或AI)都应知道的知识
- 防止重复犯错
- 记录项目特定约定
晋升目标
| 目标 | 适合内容 |
|---|---|
CLAUDE.md | 项目事实、约定、注意事项 |
AGENTS.md | 代理特定工作流、工具使用模式、自动化规则 |
.github/copilot-instructions.md | GitHub Copilot的项目上下文与约定 |
晋升步骤
- 提炼学习为简洁规则或事实
- 添加到目标文件的适当章节(必要时创建文件)
- 更新原始条目:
**Status**: pending→**Status**: promoted- 添加
**Promoted**: CLAUDE.md
晋升示例
学习条目(冗长):
项目使用 pnpm workspaces。尝试
npm install但失败。 Lock file 是pnpm-lock.yaml。必须用pnpm install。
CLAUDE.md中(简洁):
## 构建与依赖
- 包管理器: pnpm(非npm) - 使用 `pnpm install`
模式复发追踪(差异化核心)
复发检测工作流
记录与已有条目相似的内容时:
- 先搜索:
grep -r "keyword" .learnings/ - 链接条目: 在Metadata添加
**See Also**: ERR-20250110-001 - 递增计数: 如有Pattern-Key,递增
Recurrence-Count - 提升优先级: 如问题持续复发,提升优先级
- 考虑系统性修复: 复发问题通常表明:
- 文档缺失(→ 晋升到 CLAUDE.md)
- 自动化缺失(→ 添加到 AGENTS.md)
- 架构问题(→ 创建技术债工单)
晋升规则(系统提示反馈)
当以下条件全部满足时,将复发模式晋升到代理上下文/系统提示文件:
Recurrence-Count >= 3- 跨至少2个不同任务出现
- 在30天窗口内发生
晋升目标:
CLAUDE.mdAGENTS.md.github/copilot-instructions.md
将晋升规则写成简短的预防规则(编码前/中做什么),而非冗长的事故报告。
简化与加固馈送
从简化与加固工作流摄入复发模式:
- 读取任务摘要中的候选模式
- 对每个候选,使用
pattern_key作为稳定去重键 - 搜索
.learnings/LEARNINGS.md中已有该键的条目:grep -n "Pattern-Key: " .learnings/LEARNINGS.md
- 找到则:递增Recurrence-Count、更新Last-Seen、添加See Also链接
- 未找到则:创建新
LRN-...条目,设Source: simplify-and-harden,设Pattern-Key、Recurrence-Count: 1、First-Seen/Last-Seen
自动检测触发器
自动在以下情况记录:
纠正(→ learning,类别=correction)
- "不对,那不是..."
- "实际上应该是..."
- "你错了关于..."
- "那个过时了..."
特性请求(→ feature request)
- "你能不能也..."
- "我希望你能..."
- "有没有办法..."
- "为什么不能..."
知识缺口(→ learning,类别=knowledge_gap)
- 用户提供了你不知道的信息
- 你引用的文档已过时
- API行为与你的理解不同
错误(→ error entry)
- 命令返回非零退出码
- 异常或堆栈跟踪
- 意外输出或行为
- 超时或连接失败
优先级指南
| 优先级 | 使用场景 |
|---|---|
critical | 阻塞核心功能、数据丢失风险、安全问题 |
high | 重大影响、影响常用工作流、复发问题 |
medium | 中等影响、有变通方案 |
low | 轻微不便、边缘情况、可有可无 |
区域标签
用于按代码区域过滤学习:
| 区域 | 范围 |
|---|---|
frontend | UI、组件、客户端代码 |
backend | API、服务、服务端代码 |
infra | CI/CD、部署、Docker、云 |
tests | 测试文件、测试工具、覆盖率 |
docs | 文档、注释、README |
config | 配置文件、环境、设置 |
定期评审
评审时机
- 开始新主要任务前
- 完成功能后
- 在有历史学习的区域工作时
- 活跃开发期间每周
快速状态检查
grep -h "Status**: pending" .learnings/*.md | wc -l
grep -B5 "Priority**: high" .learnings/*.md | grep "^## ["
grep -l "Area**: backend" .learnings/*.md
评审动作
- 解决已修复项
- 晋升适用学习
- 链接相关条目
- 升级复发问题
自动技能提取
当学习足够有价值可成为可复用技能时,使用提供的助手提取。
提取标准(满足任一即可)
| 标准 | 描述 |
|---|---|
| 复发 | 有2+个相似问题的See Also链接 |
| 已验证 | 状态为resolved且有有效修复 |
| 非显而易见 | 需要实际调试/调查才发现 |
| 广泛适用 | 非项目特定,跨代码库有用 |
| 用户标记 | 用户说"把这个保存为技能" |
提取工作流
- 识别候选: 学习满足提取标准
- 运行助手(或手动创建):
./skills/self-evolving-ai/scripts/extract-skill.sh skill-name --dry-run ./skills/self-evolving-ai/scripts/extract-skill.sh skill-name - 定制SKILL.md: 用学习内容填充模板
- 更新学习: 设状态为
promoted_to_skill,添加Skill-Path - 验证: 在新会话中读取技能确保自包含
技能质量门禁
提取前验证:
- 解决方案已测试且有效
- 描述清晰无需原始上下文
- 代码示例自包含
- 无项目特定硬编码值
- 遵循技能命名约定(小写、连字符)
多代理支持
本技能跨不同AI编码代理工作,具有代理特定激活。
Claude Code
- 激活: 钩子(UserPromptSubmit、PostToolUse)
- 设置:
.claude/settings.json配置钩子 - 检测: 通过钩子脚本自动
Codex CLI
- 激活: 钩子(
UserPromptSubmit、PostToolUse) — 实验性,需在config.toml启用codex_hooks = true - 设置:
/.codex/hooks.json或~/.codex/hooks.json - 检测: 通过钩子脚本自动
- 回退: 如钩子不可用,将自改进指导添加到
AGENTS.md
GitHub Copilot
- 激活: 指令文件(Copilot钩子可记录日志但不能注入上下文)
- 设置: 添加到
.github/copilot-instructions.md:
## 自我进化
解决非显而易见的问题后,考虑记录到 `.learnings/`:
1. 使用自我进化AI技能格式
2. 用See Also链接相关条目
3. 将高价值学习晋升为技能
在聊天中询问:"应该把这个记录为学习吗?"
钩子快速设置(Claude Code)
{
"hooks": {
"UserPromptSubmit": [{
"hooks": [{
"type": "command",
"command": "${CLAUDE_PROJECT_DIR}/.claude/skills/self-evolving-ai/scripts/activator.sh"
}]
}],
"PostToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "${CLAUDE_PROJECT_DIR}/.claude/skills/self-evolving-ai/scripts/error-detector.sh"
}]
}]
}
}
钩子接收事件payload为stdin的JSON。错误检测器从JSON解析 tool_response 并返回提醒作为 additionalContext JSON输出。
最佳实践
- 立即记录 - 问题发生后上下文最鲜活
- 具体明确 - 未来代理需要快速理解
- 包含复现步骤 - 特别是错误
- 链接相关文件 - 使修复更容易
- 建议具体修复 - 而非仅"调查"
- 使用一致类别 - 启用过滤
- 积极晋升 - 如有疑问,添加到CLAUDE.md
- 定期评审 - 过时的学习失去价值
Gitignore选项
保持学习本地(每开发者):
.learnings/
在仓库中追踪(团队共享): 不添加到.gitignore,学习成为共享知识。
混合(追踪模板,忽略条目):
.learnings/*.md
!.learnings/.gitkeep
常见问题FAQ
Q: 学习条目太多导致上下文膨胀怎么办? A: 使用按需加载机制。主文档只保留快速参考表,详细条目通过grep按需检索。定期将高价值学习晋升到CLAUDE.md后,可在.learnings/中标记为promoted,减少重复加载。
Q: 如何判断学习是否应该晋升? A: 满足以下任一条件即考虑晋升:跨2+任务复发(Recurrence-Count>=3)、适用于多个文件/功能、任何贡献者都应知道、防止重复犯错。
Q: 不同代理平台如何兼容? A: 核心记忆格式(LEARNINGS.md/ERRORS.md/FEATURE_REQUESTS.md)跨平台通用。平台差异仅在激活方式:Claude Code用钩子、Codex用hooks.json、Copilot用指令文件。
Q: 模式复发追踪如何避免误报? A: 使用Pattern-Key作为稳定去重键,要求Recurrence-Count>=3且跨2个不同任务且30天窗口内才晋升。单一任务内的重复不计入。
故障排查
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 钩子未触发提醒 | 脚本路径错误 | 检查${CLAUDE_PROJECT_DIR}/.claude/skills/self-evolving-ai/scripts/路径是否存在 |
| grep搜索无结果 | 条目ID格式不匹配 | 确认ID格式为TYPE-YYYYMMDD-XXX |
| 晋升后CLAUDE.md重复 | 未更新原条目状态 | 将原条目Status改为promoted并添加Promoted字段 |
| Recurrence-Count未递增 | Pattern-Key不一致 | 确保相同模式使用相同的Pattern-Key字符串 |
| 记忆目录被git追踪但不想提交 | 未配置gitignore | 添加.learnings/到.gitignore |
| PostToolUse钩子无输出 | 未返回additionalContext | 确保脚本输出JSON格式的additionalContext |
依赖说明
运行环境
- Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
- 操作系统: Windows / macOS / Linux
- Shell: bash(钩子脚本需要)
第三方依赖
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
| bash | 运行时 | 可选(钩子功能需要) | 系统自带或安装Git Bash |
| grep | 工具 | 可选(搜索功能需要) | 系统自带 |
API Key 配置
- 本技能基于Markdown指令,无需额外API Key
可用性分类
- 分类: MD+EXEC(纯Markdown指令,部分功能需要exec命令行执行能力)
- 说明: 基于Markdown的AI Skill,通过自然语言指令驱动Agent执行任务。核心记忆功能仅需Markdown,钩子与脚本功能需要exec能力。
Related skills
AI Agent 持续进化系统:每日经验沉淀+每周错误反思,正向提炼与负向纠偏合一。v3.0 新增 VFM 确定性验算、评分+衰减淘汰、WHERE×WHY 病理归档、主动 Skill 合成。触发词:记录错误、进化系统、自我反思、踩坑记录、self-evolve、self-improve。
在当前对话中自动发现 corrections、feature requests、knowledge gaps 和 errors 四类学习信号,并评估其中已经验证、以后可复用的事实、规则、做法和踩坑;用户无需先说“记住”。适用于“不对,实际应该……/that is outdated”“还能不能……/I wish it could……”“原文或现场和理解不符”“命令非零、异常栈、意外输出、超时或连接失败”,也适用于主动要求记住、复盘、纠正、归档或删除。自动发现只启动评估:明确纠正、稳定能力期望、证据闭环或已收敛诊断满足写入条件才保存;临时诉求、猜测、原始报错和未定位事件不写,也不会后台监听或自行改变行为。
三层自我改进循环升级版。融入Self-Harness三阶段循环(Weakness Mining → Harness Proposal → Proposal Validation)。 让Agent从每次执行中提取经验,自动发现弱点模式,生成改进方案,验证改进效果。 触发场景:完成重要任务后、遇到执行失败后、发现重复...
递归自进化元引擎。在单技能学习器(skill-self-improve)之上,构建「全局能力感知 → 自定策略 → 自找资源 → 自改自身 → 元反思」的循环,使技能生态持续自我增强、逼近并超越一线大模型能力。 当希望让 agent 长期自主迭代、自动发现并填补能力缺口、自己制定进化路线时使用。
给任意 WorkBuddy 技能注入「自进化学习系统」,让它越用越好用、越用越高效。 通过通用 learner.py 记录每次使用的成败与用户偏好,自动复盘并给出改进建议。 一键批量注入:复制学习模块、初始化记忆文件、在 SKILL.md 追加自进化章节。 适用:准备发布或已上线的技能、想加自我迭代能力的任何技能。 触发词:自进化、自我复盘、自动迭代、越用越好用、学习系统、skill 自我改进。