用途
Self-Reflect 是一个在会话结束时使用的反思技能,用于回顾当前会话,提取经验教训和改进机会。它的核心目标是让每次会话都能沉淀出可复用的知识,减少重复犯错和低效操作。
主要能力
该技能围绕四个目标展开:
- 失败分析:检查工具报错和重试情况。
- 效率审查:找出冗余或浪费的步骤。
- 模式提取:发现可复用的工作流。
- 知识缺口:记录缺失的技能或上下文。
在反思时,它会引导关注以下几类信号:
失败方面:报错的工具调用、同一操作的多次重试、用户的纠正或澄清、被误解的需求。
低效方面:不必要地多次读取文件、本可以更小的过大编辑、本可以合并的命令、方案上的回退。
模式方面:值得自动化的多步工作流、重复的提示结构、常见的工具序列。
使用方式
反思后,技能会将发现的问题归类,并对应到具体行动:
- 工具误用:更新 AGENTS.md 中的模式。
- 缺失技能:创建新技能。
- 重复步骤:创建提示模板。
- 边界情况:添加到技能或护栏中。
反思结果可以输出到以下文件:
- agent/skills/<name>/:多步工作流。
- agent/prompts/<name>.md:可复用的提示模板。
- AGENTS.md:项目特定的规则。
- agent/APPEND_SYSTEM.md:通用的智能体宣言。
关于 APPEND_SYSTEM.md 的格式:新章节使用带编号的罗马数字标题,并带有 Against 或 For 立场(## N. Against X 或 ## N. For X)。使用散文段落,不使用项目符号列表,不使用加粗标记,不使用缩进上下文块。以第一人称陈述句表达。只写通用原则,不包含项目特定的工具名称或示例。添加新章节前先阅读已有章节,严格匹配其风格。
常见问题与学习
编辑失败:
- 出现“Could not find”:编辑前始终先读取文件。
- 多次编辑重试:使用更小、更有针对性的编辑。
- 空白字符错误:匹配精确的缩进和引号。
Bash 失败:
- grep 退出码 1:使用 grep ... || true。
- 命令未找到:先检查可用工具。
- 权限被拒绝:记录所需的权限。
工作流问题:
- 问了同样的问题:提前澄清需求。
- 设计上回退:实现前先规划。
- 遗漏边界情况:添加到技能检查清单。
反思输出格式
反思输出采用以下结构:
Session Summary
Task: [完成了什么]
Failures:
- [失败的工具或方法及原因]
Inefficiencies:
- [可以优化的步骤]
Learnings:
- [获得的新模式或知识]
Improvements:
- [ ] [要做的具体改动]
相关技能
- self-improve:分析历史会话中的模式。
- skill-authoring:编写发现的技能。
适用场景
适合在会话结束时使用,用于沉淀经验、改进工作流、发现可自动化的模式,以及记录知识缺口。
限制
资料中未提供关于收费、价格、平台支持范围或具体效果保证的信息。