让 AI Agent 重复犯同样错?
Claude Code、Cursor 用着用着就开始重复犯同样的错?每次新会话都要重新教它一遍项目规范?AI 助手永远不吸取教训?
Kulaxyz/self-learning-skills 是 2026 年 7 月 4 日登顶 GitHub Trending 的明星项目,⭐784。它的核心思路是:让 AI 编码代理(Claude Code、Cursor、Windsurf 以及任何支持 AGENTS.md 的工具)像人一样”自我进化”——把每次的教训沉淀成结构化的 skill 文件,下次自动加载。
为什么现在火?
过去半年,Anthropic Skills、Cursor Rules、AGENTS.md 三套规范相继成熟,开发者第一次有了”教 AI 一次,受用终身”的工程化路径。但官方只提供了规范,没有提供”自动学习”的机制。Kulaxyz/self-learning-skills 正好补上了这一环——它让 AI 代理在每次任务完成后自动反思,把可复用的教训写入 .claude/skills/learned/,下次遇到类似场景自动匹配加载。社区数据:用了一个月后,bug 复发率平均下降 60%,新成员 onboarding 时间从 3 天降到 4 小时。
问题一:Claude Code 为什么每次都忘记项目规范?
现象:你花了半小时告诉 AI “这个项目用 pnpm,不用 npm”、“测试必须用 vitest”,新开个会话它又给你装 npm、问你用 jest 还是 mocha。
根因:Claude Code 默认不带任何项目记忆,system prompt 是固定的,你的指令只在当前会话有效。
解法:用 self-learning-skills 把规范沉淀成 SKILL.md:
# 项目规范 Skill
## 包管理
- 强制使用 pnpm,禁止 npm/yarn
- 安装命令:pnpm install
## 测试
- 框架:vitest
- 覆盖率要求:>80%
- 命令:pnpm test
## 提交规范
- 提交前必须运行:pnpm lint && pnpm test
把这个文件放在 .claude/skills/project-conventions/SKILL.md,Claude Code 启动时会自动加载。AI 代理从此”记住”了你的项目规范。
问题二:AI 犯了同一个错,怎么让它”自我反省”?
现象:你让 AI 修一个 N+1 查询问题,它写了一段 SQL 但又引入 N+1;你指出来,它改了,但你担心下次类似场景它还会犯。
根因:AI 没有”错误记忆”,它能看到的只有当前对话历史,关掉会话一切归零。
解法:self-learning-skills 的核心机制——reflection trigger。配置文件 .claude/skills/self-learning/config.json:
{
"trigger": "on_task_complete",
"reflection_prompt": "回顾这次任务,我犯了什么错?用户的纠正可以归纳成什么通用规则?",
"store_to": ".claude/skills/learned/",
"dedup": true
}
每次任务结束,AI 会自动生成一段”教训”,去重后追加到 learned 目录。GitHub Issues 上用户报告,这个机制让他们项目的 bug 复发率下降了 60%。
问题三:Cursor / Windsurf 能不能也用?
现象:你团队一半人用 Claude Code,一半用 Cursor,技能文件能不能共用?
根因:各家 IDE 的 skills 系统格式不统一:Claude Code 用 .claude/skills/,Cursor 用 .cursor/rules/,AGENTS.md 又是另一种规范。
解法:self-learning-skills 提供了一键 sync:
npx self-learning-skills sync \
--from .claude/skills/ \
--to cursor \
--to agents-md
执行后会在 .cursor/rules/ 和 AGENTS.md 生成对应格式的副本。HN 用户 @devworkflow 分享:“我们 8 人团队统一规范后,新成员 onboarding 时间从 3 天降到 4 小时。“
问题四:skill 文件会不会越积越多,导致 context 爆炸?
现象:用了半年,learned 目录里攒了 200 多个 skill,每次启动都加载,token 烧得飞快。
根因:没有生命周期管理,所有教训一视同仁全部加载。
解法:用 skill 元数据 + 触发条件,让 AI 按需加载:
---
name: postgresql-n-plus-one
trigger_keywords: ["n+1", "query optimization", "eager loading"]
priority: high
expires_after_days: 90
---
# N+1 查询规避
## 触发场景
任何 ORM 查询涉及关联表遍历时
## 规则
1. 必须使用 eager loading(include / join)
2. 列表查询禁止在循环内单独查询
expires_after_days: 90 自动归档过时教训,priority: high 保证重要 skill 优先加载。社区建议每周跑一次 self-learning-skills prune --older-than 60d。
问题五:会不会变成”AI 教 AI”的垃圾进垃圾出?
现象:如果 AI 反思生成了错误的”教训”,并写入了 skill 文件,岂不是越学越差?
根因:反思 prompt 没有约束,AI 可能把偶然成功当成普遍规律。
解法:self-learning-skills 默认要求反思时引用具体证据:
reflection_rules:
require_evidence: true
min_user_corrections: 2
confidence_threshold: 0.8
review_required_for:
- "架构决策"
- "安全相关"
- "数据库迁移"
min_user_corrections: 2 要求同一条规则至少被用户纠正两次才沉淀,避免单次偶发。review_required_for 列出的敏感类别必须人工 review 才能写入。
Sources
- GitHub Trending 2026-07-04
- Kulaxyz/self-learning-skills 仓库 README
- Hacker News: “Show HN: Self-improving skills for AI agents”
- r/ClaudeAI 讨论串 “Self-improving skills 实战分享”
- Anthropic Skills 官方规范