mcpField
S
simmer-reflect

simmer-reflect

github.com/2389-research其他1639 次安装23 周前更新
代码仓库

关于 simmer-reflect

simmer-reflect 是记录优化迭代、跟踪最高分候选项并将评审的 ASI 原样传给下一轮的技能,帮助编排流程维护精简轨迹并保留迭代经验。

主要功能

  1. 01维护结构化评分轨迹
  2. 02单独跟踪最佳候选项
  3. 03标记回退及后续输入候选项
  4. 04汇总已探索的搜索空间
  5. 05记录稳定有效项与失败方案
  6. 06原样传递 ASI

适用场景

  1. 01清晰记录优化迭代过程
  2. 02回退后选取最佳候选项
  3. 03跟踪工作区选项的尝试情况
  4. 04在迭代中保留有效改动

安装

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

$npx skills add https://github.com/2389-research/simmer --skill simmer-reflect

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

详细介绍

Simmer Reflect

你是唯一能看到完整评分历史的子技能。你的任务:记录迭代、跟踪最佳候选项,并将 ASI 传递下去。

你收到的上下文

  • 完整评分历史:截至目前的所有迭代(分数、综合评分、关键变更)
  • 当前迭代编号和最大迭代次数
  • 最新评审输出:本轮的分数 + ASI
  • 生成器报告:本轮的变更内容(2-3 句话)
  • 产物类型:单文件或工作区

要做的事

1. 记录到轨迹中

使用评分表更新 {OUTPUT_DIR}/trajectory.md。

**无论评估模式如何(仅评审、可运行或混合),轨迹表都使用相同格式。**不要将原始评估器输出、逐个测试用例的明细或行内分析放入表中。表格应保持为简洁的评分记录。

必需格式(请勿添加下列内容以外的列):

单文件模式:

  • 列:Iteration、[评分标准中的标准名称]、Composite、Key Change
  • 表格下方:Best candidate: iteration [N] (composite: [N.N]/10)
# Simmer Trajectory

| Iteration | [criterion 1] | [criterion 2] | [criterion 3] | Composite | Key Change |
|-----------|---------------|---------------|---------------|-----------|------------|
| 0         | 4             | 5             | 3             | 4.0       | seed       |
| 1         | 7             | 5             | 4             | 5.3       | [summary]  |
| 2         | 7             | 6             | 7             | 6.7       | [summary]  |

Best candidate: iteration 2 (composite: 6.7/10)

工作区模式:

  • 列:Iteration、[评分标准中的标准名称]、Composite、Config、Key Change
  • “Config”列用几个词概括工作区的关键状态(模型名称、拓扑等)
  • 表格下方:Best candidate: iteration [N] (composite: [N.N]/10)
# Simmer Trajectory

| Iteration | Coverage | Efficiency | Noise | Composite | Config | Key Change |
|-----------|----------|------------|-------|-----------|--------|------------|
| 0         | 2        | 6          | 2     | 3.3       | qwen3.5:4b, single-call | seed |
| 1         | 4        | 4          | 4     | 4.0       | qwen3.5:27b, single-call | model swap + rich prompt |
| 2         | 3        | 5          | 3     | 3.3       | qwen3.5:9b, single-call | REGRESSION — 9b too weak |

Best candidate: iteration 1 (composite: 4.0/10)

如果评估器的详细信息有助于提供上下文,请在表格下方另设一个章节:

## Evaluator Details

### Iteration 1
- Video ozXhzdjT8tU: 54% coverage (23/43 matched)
- Video DRqUWtnXEXA: 48% coverage (15/31 matched)
- Missed: [list of key misses]

表格本身应保持简洁。评估器的详细信息仅作补充,不属于轨迹记录。

“Key Change”列应将生成器的 2-3 句话报告精简成几个词(少于 60 个字符)。对于迭代 0(种子),Key Change 始终为“seed”。

2. 跟踪最佳候选项

将本轮分数与迄今为止的最佳分数进行比较。更新轨迹底部的“Best candidate”行。

**如果设置说明中指定了主要标准:**应先按主要标准的分数确定迄今最佳候选项,综合评分用于决胜。例如,若主要标准是“coverage”,迭代 2 的 coverage 为 6(综合评分 5.3),而迭代 4 的 coverage 为 5(综合评分 6.0),则迭代 2 最佳。

**如果未指定主要标准:**默认按综合评分确定迄今最佳候选项。

**最佳候选项不一定是最新一轮。**如果迭代 3 的分数低于迭代 2,最佳候选项仍是迭代 2。

2b. 处理退步

如果本轮综合评分低于迄今为止的最佳分数:

  • 在轨迹的 Key Change 列中注明退步情况(例如,“REGRESSION — 9b too weak”或“regressed — prompt compression lost type table”)
  • 提醒编排器:下一轮生成器应接收最佳候选项(而非最新候选项)以及当前 ASI
  • 在输出中包含:REGRESSION: true — use iteration [N] as input to next generator

**工作区模式下的退步:**编排器会从最佳迭代的提交中选择性恢复工作区文件(git checkout <commit> -- <files>)。trajectory.md 和其他跟踪文件不会回退。请在输出中包含迭代编号,以便编排器知道要恢复哪个快照。

3. 跟踪探索状态(工作区模式)

如果设置说明中包含 SEARCH_SPACE,请查看轨迹,判断哪些内容已探索、哪些仍未尝试。查看 Config 列和 Key Change 列,识别:

  • 尝试过哪些模型
  • 尝试过哪些拓扑
  • 探索过哪些其他搜索空间维度

请提供简洁的探索摘要。示例:

Models tried: qwen3.5:4b (iter 0), qwen3.5:27b (iter 1-3). Untried: qwen3.5:9b.
Topologies tried: single-call (all iterations). Untried: multi-call.
Prompt changes: 4 variations tried.

文本/创意模式或未指定搜索空间时,请跳过此步骤。

4. 跟踪稳定的成功要素

回顾迭代轨迹,找出哪些内容一直有效——即在之前的迭代中添加,且此后从未导致回归的要素。

查看各次迭代中的「关键变更」列。如果某个要素在第 N 次迭代中引入,且在第 N+1、N+2 次等后续迭代中,分数持平或有所提升,那么它就是稳定的成功要素。如果某次迭代移除或更改了该要素后出现回归,这是它发挥关键作用的有力证据。

请简明列出。例如:

STABLE WINS (do not remove):
- Correction lookup table (added iter 1, held through iters 2-4)
- Worked examples format (added iter 3, improved coverage each iteration since)

NOT WORKING:
- Verbose rule lists (tried iter 2, regressed)
- Multi-step prompt structure (tried iter 1, skipped by executor)

这份清单会传递给评审团的审议摘要,帮助评审和生成器了解应保留和避免的内容。

5. 向前传递 ASI

返回协调器:

  • 本轮评审的 ASI(原样传递给下一位生成器)
  • 当前最佳候选对应的迭代
  • 是否还有剩余迭代
  • 是否发生回归(以及应使用哪个候选作为输入)
  • 探索状态(仅含搜索空间的工作区模式)
  • 稳定的成功要素(哪些有效,哪些无效)

输出给协调器

ITERATION [N] RECORDED
BEST SO FAR: iteration [N] (composite: [N.N]/10)
REGRESSION: [true/false] — [if true: use iteration N as input to next generator]
ITERATIONS REMAINING: [N]
ASI FOR NEXT ROUND: [the judge's ASI, unchanged]
EXPLORATION STATUS: [what's been tried vs untried — omit for text/creative or no search space]
STABLE WINS: [what's working — do not remove]
NOT WORKING: [what's been tried and failed — do not retry same approach]

常见错误

将评估器输出全部塞进轨迹表

  • 问题:表格变得难以阅读,格式偏离标准,无法跨运行进行比较
  • 修正:表格采用标准列格式。评估器的详细信息放在表格下方的单独部分。

修改 ASI

  • 问题:传递前改写或总结评审的 ASI
  • 修正:原样传递 ASI——评审是为生成器撰写的

没有单独跟踪当前最佳结果

  • 问题:假定最后一次迭代就是最佳结果
  • 修正:始终将综合分与当前最佳结果比较,若更优则更新

将候选内容写入轨迹

  • 问题:轨迹文件变得庞大,干扰上下文
  • 修正:轨迹只包含分数、综合分和简短的关键变更摘要

使用散文格式而非表格

  • 问题:以段落或项目符号列表撰写的轨迹难以快速浏览
  • 修正:始终使用上方所示的 Markdown 表格格式,即使是在使用评估器的工作区模式下也不例外

评论

支持 Markdown