OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  reflect-learn:通过对话分析实现自我提升与反思

reflect-learn:通过对话分析实现自我提升与反思

 
  mai ·  2026-02-05 05:32:07 · 3 次点击  · 0 条评论  

名称: reflect
描述: |
通过对话分析实现自我改进。从用户纠正和成功模式中提取经验,更新智能体文件或创建新技能。
核心理念:"一次纠正,永不重犯。"

适用场景:(1) 用户明确纠正行为("永远不要做X"、"总是做Y"),
(2) 会话结束或上下文压缩时,(3) 用户请求 /reflect,
(4) 值得保留的成功模式。
版本: 2.0.0
作者: Claude Code Toolkit
允许工具:
- Read
- Write
- Edit
- Grep
- Glob
- Bash


Reflect - 自我改进技能

快速参考

命令 操作
/reflect 分析对话以提取经验
/reflect on 启用自动反思
/reflect off 禁用自动反思
/reflect status 显示状态和指标
/reflect review 审查低置信度经验
/reflect [agent] 聚焦特定智能体

核心理念

"一次纠正,永不重犯。"

当用户纠正行为时,这些纠正将转化为永久性改进,编码到智能体系统中——适用于所有未来会话。

工作流程

步骤 1:初始化状态

使用状态管理器检查和初始化状态文件:

# 检查现有状态
python scripts/state_manager.py init

# 状态目录可通过 REFLECT_STATE_DIR 环境变量配置
# 默认:~/.reflect/(便携版)或 ~/.claude/session/(Claude Code)

状态包括:
- reflect-state.yaml - 开关状态、待审查项
- reflect-metrics.yaml - 聚合指标
- learnings.yaml - 所有已应用经验的日志

步骤 2:扫描对话以识别信号

使用信号检测器识别经验:

python scripts/signal_detector.py --input conversation.txt

信号置信度级别

置信度 触发条件 示例
明确纠正 "从不"、"总是"、"错误"、"停止"、"规则是"
认可的方法 "完美"、"完全正确"、接受的输出
观察结果 有效的模式,未经验证

完整检测规则见 signal_patterns.md

步骤 3:分类并匹配目标文件

将每个信号映射到适当的目标:

经验类别:

类别 目标文件
代码风格 code-reviewerbackend-developerfrontend-developer
架构 solution-architectapi-architectarchitecture-reviewer
流程 CLAUDE.md、编排智能体
领域 领域特定智能体、CLAUDE.md
工具 CLAUDE.md、相关专家
新技能 .claude/skills/{name}/SKILL.md

映射规则见 agent_mappings.md

步骤 4:检查是否适合创建新技能

某些经验应成为新技能而非智能体更新:

适合创建技能的标准:
- 非显而易见的调试(>10 分钟调查)
- 误导性错误(根本原因与消息不同)
- 通过实验发现的变通方案
- 配置洞察(与文档不同)
- 可重用模式(有助于类似情况)

质量门控(必须全部通过):
- [ ] 可重用:有助于未来任务
- [ ] 非琐碎:需要发现,而不仅仅是文档
- [ ] 具体:可描述确切的触发条件
- [ ] 已验证:解决方案确实有效
- [ ] 无重复:尚不存在

技能创建指南见 skill_template.md

步骤 5:生成建议

按以下格式生成输出:

# 反思分析

## 会话上下文
- **日期**:[时间戳]
- **分析消息数**:[数量]
- **焦点**:[所有智能体 或 特定智能体名称]

## 检测到的信号

| # | 信号 | 置信度 | 来源引用 | 类别 |
|---|------|--------|----------|------|
| 1 | [经验] | 高 | "[原话]" | 代码风格 |
| 2 | [经验] | 中 | "[上下文]" | 架构 |

## 建议的智能体更新

### 更改 1:更新 [智能体名称]

**目标**:`[文件路径]`
**章节**:[章节名称]
**置信度**:[高/中/低]
**理由**:[为何进行此更改]

```diff
--- a/path/to/agent.md
+++ b/path/to/agent.md
@@ -82,6 +82,7 @@
 ## 章节

 * 现有规则
+* 来自经验的新规则

建议的新技能

技能 1:[技能名称]

质量门控检查
- [x] 可重用:[原因]
- [x] 非琐碎:[原因]
- [x] 具体:[触发条件]
- [x] 已验证:[验证方式]
- [x] 无重复:[已检查确认]

将创建.claude/skills/[技能名称]/SKILL.md

冲突检查

  • [x] 未检测到与现有规则的冲突
  • 或:警告 - 可能与 [文件:行号] 存在潜在冲突

提交消息

reflect: 添加来自会话 [日期] 的经验

智能体更新:
- [经验 1 摘要]

新技能:
- [技能名称]:[简要描述]

提取:[N] 个信号([H] 高、[M] 中、[L] 低置信度)

审查提示

应用这些更改吗?
- Y - 应用所有更改并提交
- N - 丢弃所有更改
- modify - 调整特定更改
- 1,3 - 仅应用更改 1 和 3
- s1 - 仅应用技能 1
- all-skills - 应用所有技能,跳过智能体更新


### 步骤 6:处理用户响应

**当 `Y`(批准)时:**
1. 使用编辑工具应用每个更改
2. 对修改的文件运行 `git add`
3. 使用生成的提交消息提交
4. 更新经验日志
5. 更新指标

**当 `N`(拒绝)时:**
1. 丢弃建议的更改
2. 记录拒绝以供分析
3. 询问用户是否要修改任何信号

**当 `modify` 时:**
1. 逐个展示每个更改
2. 允许编辑建议的添加内容
3. 应用前再次确认

**当选择性应用(如 `1,3`)时:**
1. 仅应用指定的更改
2. 记录部分接受
3. 仅提交应用的更改

### 步骤 7:更新指标

```bash
python scripts/metrics_updater.py --accepted 3 --rejected 1 --confidence high:2,medium:1

开关命令

启用自动反思

/reflect on
# 在状态文件中设置 auto_reflect: true
# 将在 PreCompact 钩子触发

禁用自动反思

/reflect off
# 在状态文件中设置 auto_reflect: false

检查状态

/reflect status
# 显示当前状态和指标

审查待处理项

/reflect review
# 显示等待验证的低置信度经验

输出位置

项目级别(随仓库版本控制):
- .claude/reflections/YYYY-MM-DD_HH-MM-SS.md - 完整反思
- .claude/reflections/index.md - 项目摘要
- .claude/skills/{name}/SKILL.md - 新技能

全局(用户级别):
- ~/.claude/reflections/by-project/{project}/ - 跨项目
- ~/.claude/reflections/by-agent/{agent}/learnings.md - 按智能体
- ~/.claude/reflections/index.md - 全局摘要

记忆集成

某些经验更适合放入自动记忆~/.claude/projects/*/memory/MEMORY.md)而非智能体文件:

经验类型 最佳目标
行为纠正("总是做 X") 智能体文件
项目特定模式 MEMORY.md
重复出现的错误/变通方案 新技能 或 MEMORY.md
工具偏好 CLAUDE.md
领域知识 MEMORY.md 或复合文档

当信号置信度低且为项目特定时,优先写入 MEMORY.md 而非修改智能体。

安全护栏

人工参与

  • 未经用户明确批准,绝不应用更改
  • 应用前始终显示完整差异
  • 允许选择性应用

Git 版本控制

  • 所有更改均使用描述性消息提交
  • 可通过 git revert 轻松回滚
  • 保留经验历史

增量更新

  • 仅添加到现有章节
  • 绝不删除或重写现有规则
  • 保留原始结构

冲突检测

  • 检查建议规则是否与现有规则矛盾
  • 检测到冲突时警告用户
  • 建议解决策略

集成

与 /handover

如果启用了自动反思,PreCompact 钩子将在交接前触发反思。

与会话健康度

当上下文使用率达到 70%+(黄色状态)时,会注入运行 /reflect 的提醒。

钩子集成(Claude Code)

该技能包含用于自动集成的钩子脚本:

# 将钩子安装到 Claude 钩子目录
cp hooks/precompact_reflect.py ~/.claude/hooks/

~/.claude/settings.json 中配置:

{
  "hooks": {
    "PreCompact": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run ~/.claude/hooks/precompact_reflect.py --auto"
          }
        ]
      }
    ]
  }
}

完整配置选项见 hooks/README.md

可移植性

该技能适用于任何支持以下功能的 LLM 工具:
- 文件读写操作
- 文本模式匹配
- Git 操作(可选,用于提交)

可配置状态位置

# 设置自定义状态目录
export REFLECT_STATE_DIR=/path/to/state

# 或使用默认值
# ~/.reflect/(便携版默认)
# ~/.claude/session/(Claude Code 默认)

无需任务工具依赖

与之前的基于智能体的方法不同,此技能直接执行而无需生成子智能体。LLM 读取 SKILL.md 并遵循工作流程。

Git 操作可选

提交操作包含可用性检查——如果不在 git 仓库中,更改仍会保存但不会提交。

故障排除

未检测到信号:
- 会话可能没有纠正
- 尝试 /reflect review 检查待处理项

冲突警告:
- 审查引用的现有规则
- 决定新规则是否应覆盖
- 可在应用前修改

未找到智能体文件:
- 检查智能体名称拼写
- 使用 /reflect status 查看可用目标
- 可能需要先创建智能体文件

文件结构

reflect/
├── SKILL.md                      # 本文件
├── scripts/
│   ├── state_manager.py          # 状态文件 CRUD
│   ├── signal_detector.py        # 模式匹配
│   ├── metrics_updater.py        # 指标聚合
│   └── output_generator.py       # 反思文件和索引生成
├── hooks/
│   ├── precompact_reflect.py     # PreCompact 钩子集成
│   ├── settings-snippet.json     # settings.json 示例
│   └── README.md                 # 钩子配置指南
├── references/
│   ├── signal_patterns.md        # 检测规则
│   ├── agent_mappings.md         # 目标映射
│   └── skill_template.md         # 技能生成
└── assets/
    ├── reflection_template.md    # 输出模板
    └── learnings_schema.yaml     # 模式定义
3 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor