CMDC.Plugin.Builtin.Reflection (cmdc v0.5.3)

Copy Markdown View Source

P2 反思循环插件 —「生产者-评审者」模型。

在 Agent 即将完成前触发评审,未通过则注入修改指令让 Agent 继续工作, 直到通过或达到 max_reviews

两种评审模式

模式 A — 同智能体自评(默认)

在 Agent 自身对话里注入 review prompt,让同一个 LLM 评审自己的输出。 优点:轻量、零额外成本;缺点:同模型自审存在"认知偏差"风险。

模式 B — 独立 Reviewer SubAgent(推荐)

设置 reviewer_subagent: true 时,会启动一个独立的 SubAgent 作为 Reviewer(可搭配 reviewer_model 使用不同模型),对主 Agent 的最后一条 回复做评审。此模式实现真正的"生产者-评审者"角色分离,避开同模型自审偏差。

配置

{CMDC.Plugin.Builtin.Reflection,
  reviewer_prompt: "你是一位严格的质量评审员...",
  reviewer_model: "qwen3-max",            # 可选,模式 B 时指定评审模型
  reviewer_subagent: false,                # 默认 false;true 启用 SubAgent
  criteria: ["事实准确性", "完整性"],       # 评审维度
  max_reviews: 3,                          # 最大 review 轮数(防死循环)
  pass_signal: "APPROVED"                  # 通过信号;可为字符串或 Regex
}

max_iterationsmax_reviews 的历史别名,向后兼容,优先使用 max_reviews

状态机

:idle before_finish> :reviewing after_response(pass)> :done
                             
                             after_response(fail)> :reviewing  (保持等下次 before_finish)
                             max_reviews 达到> :done强制通过

一旦 :done,后续 :before_finish 不再触发评审(修复 v0.2 iteration reset bug)。

触发 Hook

  • :session_start — 重置内部状态
  • :before_finish — Agent 准备返回前触发评审
  • :after_response — 评审期内检查回复是否含 pass_signal