名称:持续学习代理 描述:AI代理从会话间的反馈、错误和成功模式中学习的自我改进模式 许可证:MIT 元数据: 来源:affaan-m/everything-claude-code 改编者:ai-skills 类别:代理改进
持续学习代理
一种元技能,使AI代理能够通过系统化的反馈收集和模式识别从经验中学习并随时间改进。
核心概念
传统代理在会话之间完全重置。此技能实现记忆和学习机制,以:
- 从错误中学习
- 识别成功模式
- 随时间构建上下文
- 适应用户偏好
- 改进决策制定
学习机制
1. 错误模式识别
每次错误后,记录:
## 错误日志条目
**日期**:2026-01-30
**上下文**:实现用户认证
**错误**:TypeError: 无法读取未定义的属性'id'
**根本原因**:访问用户对象前缺少空值检查
**修复**:添加可选链:user?.id
**模式**:在属性访问前始终验证对象存在性
**预防**:添加TypeScript严格空值检查
2. 成功模式收集
成功实现后:
## 成功模式
**任务**:向API端点添加分页
**方法**:使用编码令牌的基于游标的分页
**为何有效**:高效处理大型数据集,无状态
**可重用模式**:
- 使用游标令牌而非偏移/限制
- 用base64编码游标
- 包含hasNext/hasPrevious标志
- 在响应中返回下一个/上一个游标
**代码模板**:
\`\`\`typescript
interface PaginatedResponse<T> {
data: T[];
cursor: {
next: string | null;
previous: string | null;
};
}
\`\`\`
3. 反馈集成
创建.claude/learnings/目录:
mkdir -p .claude/learnings
将学习内容存储在分类文件中:
.claude/learnings/
模式/
认证.md
数据库查询.md
错误处理.md
错误/
常见错误.md
性能问题.md
偏好/
代码风格.md
测试方法.md
命名约定.md
4. 决策日志
在主要决策前:
## 决策:[标题]
**上下文**:需要决策的当前情况
**考虑的选项**:
1. 选项A - 优点:X,缺点:Y
2. 选项B - 优点:X,缺点:Y
3. 选项C - 优点:X,缺点:Y
**决策**:选择选项B
**推理**:详细解释
**预期结果**:我们期望发生什么
**实际结果**:(实施后填写)
**经验教训**:从这次决策中学到什么
学习循环
每日回顾循环
编码会话结束时:
## 会话回顾 - [日期]
**进展顺利**:
- 成功实现X
- 发现模式Y
- 改进Z的性能
**可改进之处**:
- 花费太长时间调试A
- 应该更早测试B
- 错过边缘情况C
**关键学习点**:
1. 学习点1
2. 学习点2
3. 学习点3
**行动项**:
- [ ] 记录模式X
- [ ] 创建Y的辅助工具
- [ ] 为Z添加测试
每周综合循环
每周回顾和综合:
# 生成每周摘要
cat .claude/learnings/daily/*.md | grep "关键学习点" -A 3 > 每周综合.md
## 每周综合 - [日期]周
**新兴模式**:
- 模式1:描述
- 模式2:描述
**重复问题**:
- 问题1:根本原因分析
- 问题2:根本原因分析
**技能提升**:
- 技能1:如何提升
- 技能2:如何提升
**下周重点**:
- 重点领域1
- 重点领域2
自适应策略
上下文感知
维护上下文文件:
# 项目上下文
**类型**:Web应用程序 / API / CLI工具 / 库
**技术栈**:Next.js, TypeScript, Prisma, PostgreSQL
**架构**:包含包的单体仓库:api, web, shared
**关键模式**:
- 基于功能文件夹结构
- 数据访问的仓库模式
- 业务逻辑的服务层
**团队偏好**:
- 测试覆盖率:最低80%
- 代码风格:Prettier + ESLint
- 提交消息:约定式提交
- PR流程:需要审查 + CI通过
渐进细化
跟踪理解水平:
## 理解地图
**完全理解** (★★★):
- 认证流程
- 数据库模式
- API端点
**部分理解** (★★):
- 缓存策略
- 错误处理模式
**需要学习** (★):
- 部署过程
- 监控设置
- 功能标志系统
实现钩子
任务后钩子
完成任何任务后:
#!/bin/bash
# .claude/hooks/任务后.sh
echo "## 任务完成:$1" >> .claude/learnings/daily/$(date +%Y-%m-%d).md
echo "" >> .claude/learnings/daily/$(date +%Y-%m-%d).md
echo "**方法**:$2" >> .claude/learnings/daily/$(date +%Y-%m-%d).md
echo "**结果**:$3" >> .claude/learnings/daily/$(date +%Y-%m-%d).md
echo "**学习**:$4" >> .claude/learnings/daily/$(date +%Y-%m-%d).md
echo "" >> .claude/learnings/daily/$(date +%Y-%m-%d).md
任务前钩子
开始任务前:
#!/bin/bash
# .claude/hooks/任务前.sh
# 检查类似过去任务
echo "检查学习内容:$1"
grep -r "$1" .claude/learnings/ | head -5
# 检查已知陷阱
grep -r "错误.*$1" .claude/learnings/错误/
知识库结构
.claude/
学习内容/
每日/
2026-01-30.md
2026-01-29.md
每周/
2026-周-05.md
模式/
成功/
认证模式.md
API设计模式.md
反模式/
常见错误.md
性能陷阱.md
上下文/
项目概述.md
技术栈.md
团队偏好.md
决策/
架构决策.md
技术选择.md
查询过去学习内容
查找类似解决方案
# 搜索模式
grep -r "分页" .claude/learnings/模式/
# 查找过去错误
grep -r "TypeError" .claude/learnings/错误/
# 检查决策
grep -r "决策.*数据库" .claude/learnings/决策/
提取模式
# 获取所有成功模式
grep -h "^## 成功模式" .claude/learnings/模式/成功/*.md
# 获取所有经验教训
grep -h "^**经验教训**" .claude/learnings/ -A 3
集成点
补充:
- 知识架构:用于组织学习内容
- 第二大脑图书管理员:用于长期知识存储
- 验证循环:用于质量反馈
- 项目编排:用于将学习应用到规划
渐进增强
随着代理改进:
级别1:基本错误日志 级别2:模式识别 级别3:自动化建议 级别4:主动指导 级别5:在约束内的自主决策
跟踪当前级别和进展指标。
指标
跟踪改进:
## 代理性能指标
**错误率**:随时间每个任务的错误数
**模式重用**:学习模式应用的频率
**决策质量**:结果与预期结果的匹配度
**上下文准确性**:代理理解项目的程度
**适应速度**:学习新模式的时间
**趋势**:改进 / 稳定 / 下降
初始化
首次设置:
# 创建学习基础设施
mkdir -p .claude/learnings/{每日,每周,模式,错误,上下文,决策}
# 初始化上下文文件
cat > .claude/learnings/上下文/项目概述.md << 'EOF'
# 项目概述
- 项目类型:
- 技术栈:
- 架构:
- 关键文件:
EOF
# 创建第一个会话日志
date +%Y-%m-%d > .claude/learnings/每日/$(date +%Y-%m-%d).md
每次会话开始时回顾最近学习内容。