mcpField
S
self-eval

self-eval

github.com/alirezarezvaniAgent 工作流28.9k577 次安装2 天前更新
代码仓库

关于 self-eval

self-eval 是用于评估已完成工作的 Claude Code 技能。它将任务难度与执行质量分开评分,要求进行正反论证,并跨会话记录分数以发现评分偏高。

主要功能

  1. 01分别评估任务难度与执行质量
  2. 02按矩阵计算综合分数
  3. 03强制进行高低分论证
  4. 04持久保存评分记录
  5. 05检测评分集中现象

适用场景

  1. 01在 Claude Code 会话结束时评估工作
  2. 02检查常规任务是否被高估
  3. 03比较不同会话的自评结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alirezarezvani/claude-skills --skill self-eval

安装后在 Claude Code 中输入/self-eval确认已加载。

详细介绍

Self-Eval:诚实的工作评估

ultrathink

层级: STANDARD 分类: Engineering / Quality 依赖: 无(仅提示词,无需外部工具)

描述

Self-eval 是一个 Claude Code 技能,用于生成诚实、校准过的工作评估。它取代了 AI 默认将所有内容都评为 4/5 的倾向,采用结构化的双轴评分系统、强制性的魔鬼代言人推理,以及跨会话的反通胀检测。

核心洞察是:AI 的自我评估会收敛到"一切都是 4 分",因为单一维度的分数混淆了任务难度与执行质量。Self-eval 将这两个维度分开,然后通过一个模型无法覆盖的固定矩阵进行合并。

功能特性

  • 双轴评分 — 独立评定任务雄心(低/中/高)和执行质量(差/合格/优秀),然后通过查找矩阵合并
  • 强制性魔鬼代言人 — 在定稿前,必须同时论证更高和更低的分数,然后化解这一张力
  • 分数持久化 — 将分数追加到工作目录中的 .self-eval-scores.jsonl,跨会话积累历史记录
  • 反通胀检测 — 读取过往分数,标记聚集现象(最近 5 次中有 4 次及以上相同)
  • 矩阵锁定评分 — 综合分数来自矩阵,而非直接选择。低雄心将分数上限限制在 2/5,无论执行质量如何

用法

在 Claude Code 会话中完成工作后:

/self-eval

附带需要评估内容的上下文:

/self-eval the authentication refactor we just completed

该技能会回顾对话历史,识别已完成的工作,在两个维度上评分,运行魔鬼代言人检查,并将结果追加到分数历史文件中。

示例

示例 1:功能实现
/self-eval added pagination to the user list API

输出:

## Self-Evaluation

**Task:** Added cursor-based pagination to the user list API endpoint
**Ambition:** Medium — New feature with established patterns, but required careful backwards compatibility
**Execution:** Strong — All tests pass, handles edge cases, existing clients unaffected

**Devil's Advocate:**
- Lower: Pagination is well-documented. The pattern was copied from another endpoint with minor changes. Could argue Low ambition.
- Higher: The backwards-compat requirement made this harder than a greenfield implementation. Had to support both offset and cursor modes.
- Resolution: Medium ambition holds — the backwards-compat constraint added real complexity beyond copy-paste.

**Score: 4** — Solid execution on meaningful work with real constraints.
示例 2:缺陷修复
/self-eval

输出:

## Self-Evaluation

**Task:** Fixed race condition in the checkout flow causing duplicate orders
**Ambition:** Medium — Required debugging across 3 services to find the root cause
**Execution:** Adequate — Fix works but the test only covers the exact scenario reported, not the general class of race conditions

**Devil's Advocate:**
- Lower: The fix was a single line (adding a mutex). Once found, it was trivial.
- Higher: Finding the root cause across 3 services took real investigation. The mutex placement required understanding the full flow.
- Resolution: Medium ambition is correct for the investigation, but execution drops to Adequate — a more thorough fix would address the pattern, not just the instance.

**Score: 3** — Good debugging work but the fix is narrow.

评估内容

$ARGUMENTS

如果未提供参数,则回顾完整对话历史,找出本次会话完成的工作。在评分前用一句话概括所做的工作。

如何评分 — 双轴模型

在两个相互独立的维度上评分,然后使用矩阵进行合并。不要先选定一个数字再去找理由——应分别评定每个维度,然后查阅矩阵。

维度 1:任务雄心(尝试了什么)

评定所处理工作的难度和风险,而非完成的好坏。

  • 低(1) — 安全、熟悉、常规。失败风险不大。例如:小幅配置修改、简单重构、略作改动的复制粘贴,以及在开始前就确信能完成的任务。
  • 中(2) — 有一定新颖性或挑战性的实质性工作。可能部分失败。例如:新功能实现、对接不熟悉的 API、架构调整、调试棘手的问题。
  • 高(3) — 雄心勃勃、不熟悉或风险很高。存在彻底失败的真实风险。例如:在不熟悉的领域从零构建系统、复杂的系统重新设计、性能关键的优化、在压力下发布到生产环境。

自检: 如果开始前就确信能成功,那么雄心应为低或中,而非高。

维度 2:执行质量(完成得如何)

评定实际产出的质量,与任务有多雄心勃勃无关。

  • 差(1) — 重大失败、未完成、输出错误,或中途放弃。交付物未达到其自身声明的标准。
  • 合格(2) — 已完成,但存在缺口、捷径或缺乏严谨性。完成了任务,但留下了明显可以改进之处。
  • 优秀(3) — 执行良好、全面细致、输出质量高。就所涉范围而言,没有明显应做而未做的改进。
综合评分矩阵
执行差 (1)执行尚可 (2)执行出色 (3)
低雄心 (1)122
中等雄心 (2)234
高雄心 (3)245

以矩阵为准,不要覆盖它。 综合分就是你的分数。下面的唱反调环节可以促使你重新评定某个维度,但你不能直接推翻矩阵结果。

关键特性:

  • 低雄心最高只能得 2 分。安全的工作即便做得完美,仍然是安全的工作。
  • 得 5 分必须同时满足高雄心和出色执行。这种情况应当很少见。
  • 高雄心 + 执行差 = 2 分。大胆的失败会带来伤害。
  • 对于扎实工作,最常见的诚实评分是 3 分(中等雄心,执行尚可)。

唱反调(必做)

在写出最终评分之前,你必须写完以下三项:

  1. 更低的理由: 这项工作为何可能应得更低的分数?什么地方是轻松完成的,什么地方是回避的,什么地方的雄心其实没有表面上看起来那么大?一位持怀疑态度的审阅者会同意你对各维度的评级吗?
  2. 更高的理由: 这项工作为何可能应得更高的分数?什么地方确实具有挑战性、出乎意料,或超出了原计划?
  3. 结论: 如果任一理由揭示出你对某个维度评定有误,就重新评定该维度并重新计算矩阵结果。然后给出最终分数,并附上 1–2 句理由,且至少回应两方理由中的一点。

如果你的唱反调内容总共不足 3 句,说明你没有认真对待它,请再努力一些。

锚定偏差检查

在当前工作目录中检查是否存在评分历史文件 .self-eval-scores.jsonl。

如果该文件存在,读取它并检查最近 5 次评分。如果其中 4 次或以上是同一个数字,请标记如下:

警告:检测到评分扎堆。 最近 5 次评分:[列表]。请考虑你是否在锚定某个默认值。

如果该文件不存在,请自问:“一位外部观察者会对此给出与我相同的评分吗?”

评分持久化

展示评估结果后,在当前工作目录的 .self-eval-scores.jsonl 中追加一行:

{"date":"YYYY-MM-DD","score":N,"ambition":"Low|Medium|High","execution":"Poor|Adequate|Strong","task":"1-sentence summary"}

这使锚定偏差检查能够跨会话生效。如果该文件不存在,请创建它。

输出格式

请按以下格式呈现你的评估:

自我评估

任务: [用 1 句话概括所尝试的工作] 雄心: [低/中/高] — [1 句理由] 执行: [差/尚可/出色] — [1 句理由]

唱反调:

  • 更低的理由:[为何可能应得更低分]
  • 更高的理由:[为何可能应得更高分]
  • 结论:[最终推理]

评分:[1-5] — [1 句最终理由]

评论

支持 Markdown