返回顶部
r

reflexion反射学习

Closed-loop learning for AI coding agents. Auto-captures errors and corrections, recalls relevant past solutions when similar situations arise, and promotes recurring patterns to project memory. Use when: errors occur, user corrects the agent, a non-obvious solution is found, or before starting tasks in areas with past learnings.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.1
安全检测
已通过
112
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

reflexion

反思

面向AI编码代理的闭环学习。灵感来源于《反思:具备语言强化学习的语言代理》

反思代理会对任务反馈信号进行语言层面的反思,然后在情景记忆缓冲区中维护自身的反思文本,以便在后续试验中做出更优决策。
— Shinn 等人,2023

问题:AI代理在不同会话中重复犯同样的错误。它们不会从错误中学习,不会记住修正,每次新的对话都从零开始。

解决方案:一个弥补反馈鸿沟的捕获-召回-提升循环。

错误/修正发生
|
[捕获] -----> .reflexion/entries/
| |
下一个相似任务 [索引] 关键词
| |
[召回] <--- 关键词匹配提示词
|
将过往解决方案注入上下文
|
[验证] 是否有效?
| |
是 否 ---> 更新条目,标记待审查
|
出现次数 >= 3?
| |
是 否 ---> 增加计数器
|
[提升] 将规则追加到 CLAUDE.md

快速参考

场景发生什么
命令失败capture.sh 自动将错误+上下文记录到 .reflexion/entries/
用户纠正代理
代理调用 capture.sh 并附带修正详情 | | 后续出现相似提示 | recall.sh 找到匹配条目,将解决方案注入上下文 | | 模式出现3次以上 | promote.sh 自动将简洁规则追加到 CLAUDE.md | | 查看统计信息 | 运行 ./scripts/status.sh 查看学习仪表盘 |

安装

Claude Code(推荐)

bash

克隆到你的项目或全局技能目录


git clone https://github.com/user/reflexion.git .claude/skills/reflexion

或复制到现有技能目录

cp -r reflexion/ ~/.claude/skills/reflexion

将钩子添加到 .claude/settings.json:

json
{
hooks: {
PostToolUse: [
{
matcher: Bash,
hooks: [
{
type: command,
command: ./.claude/skills/reflexion/scripts/capture.sh
}
]
}
],
UserPromptSubmit: [
{
matcher: ,
hooks: [
{
type: command,
command: ./.claude/skills/reflexion/scripts/recall.sh
}
]
}
]
}
}

首次运行

脚本在首次使用时自动初始化。无需设置。如需手动初始化:

bash
./scripts/init.sh

工作原理

1. 捕获(自动)

capture.sh 钩子在每次Bash工具使用后触发。它从标准输入读取工具输出(JSON格式),通过模式匹配检测错误,并存储结构化条目:

json
{
id: RFX-20260331-a7f,
type: error,
trigger: npm ERR! Missing script: \build\,
context: npm run build,
resolution: ,
keywords: [npm, build, missing, script],
occurrences: 1,
first_seen: 2026-03-31,
last_seen: 2026-03-31,
promoted: false,
cwd: /home/user/project
}

当代理(或用户)解决错误后,代理应更新该条目:

使用以下解决方案更新 .reflexion/entries/RFX-20260331-a7f.json:
使用 pnpm run build - 该项目使用 pnpm,而非 npm

2. 召回(自动)

recall.sh 钩子在每次用户提示前触发。它从提示中提取关键词,搜索条目索引,并注入相关的过往学习内容:

xml

过往学习 [RFX-20260331-a7f](已见2次):
触发条件:npm ERR! Missing script: build
解决方案:使用 pnpm run build - 该项目使用 pnpm,而非 npm
关键词:npm, build, missing, script

当存在匹配时,这大约消耗50-80个token,无匹配时则为零。

3. 提升(自动)

当某个条目出现3次以上时,promote.sh 会将一条简洁规则追加到 CLAUDE.md:

markdown

反思:已学习规则

  • - 该项目使用 pnpm,而非 npm。始终使用 pnpm run 命令。(已见3次,来源:RFX-20260331-a7f)

已提升的条目会被标记为 promoted: true,并停止通过召回注入(该规则现已永久存在于 CLAUDE.md 中)。

4. 验证(代理驱动)

代理应用召回的解决方案后,应进行验证并更新:

  • - 有效:增加 occurrences,更新 last_seen
  • 无效:在条目中添加备注,标记待审查,降低置信度

此步骤由代理驱动(通过提示指令),而非钩子自动化,以避免误报。

条目类型

类型触发条件示例
error钩子检测到命令失败npm ERR!、Permission denied、ModuleNotFoundError
correction
用户说不、实际上、错了 | 实际上使用 pnpm,而非 npm | | insight | 发现非显而易见的解决方案 | API变更后必须运行代码生成 | | pattern | 反复有效的处理方法 | git push前始终检查认证状态 |

数据格式

条目以独立JSON文件形式存储在 .reflexion/entries/ 中(每个学习内容一个文件)。这实现了:

  • - 快速的基于grep的搜索(无需解析大型markdown文件)
  • 原子写入(不会因并发访问导致损坏)
  • 轻松的手动编辑
  • 对Git友好的差异对比

位于 .reflexion/index.txt 的关键词索引将关键词映射到条目ID,以实现快速召回:

npm:RFX-20260331-a7f,RFX-20260401-b2c
build:RFX-20260331-a7f
pnpm:RFX-20260331-a7f,RFX-20260401-b2c
docker:RFX-20260402-c1d

提升规则

当满足所有条件时,条目会自动提升到 CLAUDE.md:

  1. 1. occurrences >= 3
  2. resolution 不为空(已知修复方案)
  3. promoted 为 false(尚未提升)
  4. 条目存在超过1天(非同一会话中相同错误的爆发)

提升的规则以简短、可操作的指令形式写入。而非事件报告。

代理指令

当此技能激活时,请遵循以下行为:

遇到错误时

  1. 1. 检查 capture.sh 是否已记录该错误(它在Bash错误时自动运行)
  2. 如果你解决了错误,更新条目的 resolution 字段
  3. 如果错误匹配某个已召回的学习内容,说明情况并应用已知修复

遇到用户纠正时

手动记录一个 correction 条目: bash cat > .reflexion/entries/RFX-$(date +%Y%m%d)-$(head -c3 /dev/urandom | xxd -p | head -c3).json << ENTRY { id: RFX-..., type: correction, trigger: 用户说:实际上使用 pnpm, context: 尝试了 npm install, resolution: 该项目使用 pnpm,而非 npm, keywords: [npm, pnpm, install, package-manager], occurrences: 1, first_seen: 2026-03-31, last_seen: 2026-03-31, promoted: false } ENTRY

然后重建索引:./scripts/rebuild-index.sh

遇到召回时

当提示中出现 上下文时:
  1. 1. 读取召回的学习内容
  2. 如果相关,应用已知的解决方案
  3. 如果解决方案有效,增加出现次数
  4. 如果不适用,忽略即可(无惩罚)

在重大任务前

运行 ./scripts/status.sh 查看是否有与你即将工作的领域相关的学习内容。

安全性

  • - 切勿在条目中记录密钥、令牌、API密钥或

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 reflexion-1775906462 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 reflexion-1775906462 技能

通过命令行安装

skillhub install reflexion-1775906462

下载

⬇ 下载 reflexion v1.0.1(免费)

文件大小: 17.89 KB | 发布时间: 2026-4-12 11:13

v1.0.1 最新 2026-4-12 11:13
Add paper citation: Shinn et al. (2023) Reflexion: Language Agents with Verbal Reinforcement Learning (arXiv:2303.11366)

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部