# Agent Self Reflection

> 当对话陷入细节、用户喊"退一步/缩放视角/我们是不是想多了"或长时间深挖实现却无战略校验时使用；做对话的五维复盘（宏观视角/缺口分析/反思追问/偏见检查/上下文对齐），产出"流水式无小标题"评估并以 继续/转向/暂停提问 三选一的明确方向收尾；不适用于例行执行、需要写报告式结构化输出、或对话过短无可复盘上下文的场景；触发词：反思、退一步、缩放视角

- Skill: `findscripter/agent-self-reflection` (Agent Skill)
- Install (CLI): `npx skillmds@latest add findscripter/agent-self-reflection`
- Raw SKILL.md: https://api.skillmd.com/api/skills/findscripter/agent-self-reflection/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT
- Author: findscripter (https://skillmd.com/u/findscripter)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/findscripter/agent-self-reflection

---

## 何时使用

- 用户显式喊停："反思""退一步""缩放视角""我们是不是漏了什么""我们是不是想多了""理一理方向""现在跑偏了吗"等任何表达"跳出细节、重新评估"意图的话。
- 隐式信号（仅"提议"反思，不要擅自启动）：对话连续 10+ 轮深挖实现细节却无战略校验；用户表现出卡顿/受挫；短时间内反复撞墙或来回改方向。检测到隐式信号时，先问用户"要不要退一步看一下"，而非单方面执行。

**不该用的边界：**
- 例行执行任务时（反思是暂停，不是边干边附带的副本——一旦边执行边"顺手反思"，你会过度偏向当前方向）。
- 需要结构化报告输出时（本技能强制流水式叙述，无小标题/无项目符号）。
- 对话过短、根本没有可复盘的上下文时——此时不强行编造问题，转而问用户想复盘什么（见步骤 0）。

## 步骤

**0. 停止指令（复盘之前）。** 先中断当前线程，不要继续执行进行中的任务。复盘需要对完整对话历史的全部注意力，用户也期待一次明确的节奏中断。

**1. 低介入式澄清（仅在上下文太薄时问，最多一问）。** 默认直接跑分析，不提问。仅当调用上下文过薄（如用户在全新对话开头粘贴"退一步"，没有可复盘的前文）时，问一个带默认值的强制选择：

> **具体要我复盘什么？选一个：**
> 1. 目标——我们在解对的问题吗？
> 2. 路径——当前这条路是最优的吗？
> 3. 假设——我们把什么当成了理所当然？
> 4. 以上全部（有时间就默认选这个）
>
> *为什么问：* 我看到可复盘的前文有限，想聚焦而非瞎猜。想三个都看就直说。

**2. 五维分析框架。** 从**最初目标往后重读完整对话**——不只是最近几轮。这是真复盘与"局部上下文摘要"的分水岭。

- **① 宏观视角：** 最初目标是什么？是否偏离？偏向更好还是更坏？用具体证据锚定，例如"第 3 轮目标是 X，到第 12 轮在做 Y——Y 是对 X 的有效收窄，还是漂移？"
- **② 缺口分析：** 未经验证的假设、被遗漏的干系人/受众/用户、被跳过的约束（技术/合规/资源）、被否决但值得重看的备选、范围外的外部因素（时机/市场/依赖）。
- **③ 反思追问：** 问题框定对不对？是不是在解一个相邻但更简单的问题？有没有把简单路径复杂化？有没有在回避更难但更有价值的路？换个人会不会有不同做法（新鲜眼光）？
- **④ 偏见检查（五种，逐一对照对话模式取证）：**

  | 偏见 | 识别线索 |
  |---|---|
  | 确认偏误 | 引用的证据只支持现有假设；反证缺席或被打发 |
  | 沉没成本 | "已经投入了 X""都做到这份上了"，而非重新算成本/收益 |
  | 锚定效应 | 困在第一个提到的选项；新选项只与它比较而非独立评估 |
  | 复杂度偏好 | 不断加功能/步骤/保险措施，却给不出每一项的具体理由 |
  | 近因偏误 | 过度看重最近几轮；更早但更重要的上下文被忽视 |

  对每个检出的偏见：点名、引具体证据、给纠偏动作。
- **⑤ 上下文对齐：** 这个方向是否服务用户的真实目标？是否忽略了外部因素？现在是否是用户时间/精力的最优用法？与用户其他已知项目/优先级有何关联？

**3. 收尾方向建议（强制，三选一）。** 每次复盘必须以下列之一收尾，且永远具体（绝不说"你再想想"）：

| 建议 | 何时 | 格式 |
|---|---|---|
| 继续 | 路径稳健 | "继续。{为何稳健的具体理由}。" |
| 转向 {X} | 已漂移 或 浮现更优路径 | "转向 {X}，放弃 {要砍掉的}。{具体证据}。" |
| 暂停问 {Q} | 有个问题必须先答 | "暂停，先答 {Q}。不答它，下一步将冒 {具体代价} 的风险。" |

## 指令

- 语气与格式：**流水式散文**，无小标题、无项目符号、无报告式结构；紧凑但充分（既不是一句话，也不是一堵墙）；该批评时带具体证据直接批评，该肯定时给出"为何稳健"的具体理由。
- 拒绝模糊安慰（无理由的"看着不错！"一律否决）；拒绝制造问题（路径真稳健就明说，别编问题）。
- 可选脚本（命令保持原样）：
  - `scripts/bias_pattern_detector.py` —— 扫描对话文本，识别五种偏见的模式信号。
  - `scripts/conversation_depth_analyzer.py` —— 统计轮数 + 检测隐式触发信号（10+ 细节轮、受挫标记）。
  - `scripts/directional_recommendation_validator.py` —— 校验输出是否以 继续/转向/暂停 + 具体理由收尾。

## 示例

用户：盯着登录模块的重试退避算法改了一上午，突然说"退一步看看"。

复盘（流水式，节选）：最初目标是"把登录失败率压下去"，但从第 4 轮起我们一直在调退避曲线的常数——这是宏观目标的有效收窄，还是漂移？数据上失败的大头其实是验证码超时，而非重试节奏，这条线索在第 2 轮出现过却没追。这里有明显的锚定：所有方案都围着"退避算法"这个最先提到的选项打转。同时带点复杂度偏好——又加了抖动、又加了熔断，但没说清各自针对哪类失败。**暂停，先答：失败到底卡在哪一环？** 不答它，继续调退避参数将冒"优化了占比 10% 的问题、放着 60% 的验证码超时不管"的风险。

## 注意事项

- 隐式触发只用来"提议"反思，绝不擅自启动；不确定是否触发时，问用户而非主动执行。
- 一定从最初目标往后重读完整对话，不要只复盘最近几轮。
- 不要硬编码用户名或具体领域引用；不要在状态本就良好时编造问题；不要漏掉收尾的方向建议；不要边执行进行中任务边"顺手反思"。

## 互见

- 同源 `capture`（头脑倾倒转行动）—— 本技能是其"轻提示流"姊妹篇。
- 偏见识别可配合元认知/决策类技能；需要结构化报告时改用对应的报告型技能（本技能刻意只产出流水式叙述）。

---

采编自 alirezarezvani/claude-skills（MIT 许可）。

