← 工作流编排

评估—优化循环怎么设计?为什么必须有轮数上限,用完了交付哪一版?

高频 中等 评估—优化循环 · 第 1 / 1 问 更新于 2026/09/29
工作流评估优化Evaluator-Optimizer反思结构化输出
本题落地项目AI Agent智能会议纪要辅助系统

简化版

评估—优化循环由两个角色组成:优化者产出一版,评估者按明确的标准评审,不合格就把具体到位置的问题清单交回优化者重做,直到合格或达到轮数上限。设计要点有四个:评估结果要结构化(是否通过、得分、每条问题在哪、什么类型、怎么改);反馈要能直接照着改;通过条件和轮数上限都由代码判定;轮数用完仍不合格时,要预先规定交付哪一版(最后一版、问题最少的一版,或交给人工确认),不能让循环无限转下去。上限必须有,因为有的问题怎么改都过不了,每多一轮就多一次评审和一次重写的调用。

详细版

第 N 轮:
  评审(当前版) → {passed, score, issues[位置, 类型, 描述, 建议]}
  通过 → 收尾
  不通过 → 问题清单交给重写 → 新的一版 → N < 上限 ? 回到评审 : 收尾
收尾:按规则选出交付版,必要时交人工确认
设计点推荐做法反例
评估输出JSON Schema 约束的结构化结果一段自由文本评语
通过判定代码读字段判断,并处理「说不通过但没挑出问题」这类矛盾让模型在文字里写「我觉得可以了」
反馈内容每条问题带位置和修改建议只回传「不通过」
重写结果用和原产出相同的结构约束并校验重写后格式变了
上限固定轮数,一轮 = 一次评审 + 一次重写直到通过为止
收尾规定交付哪一版、是否需要人工确认上限到了直接报错

完整版教学

一、什么时候适合用评估—优化

评估—优化适合两个条件同时成立的任务:有清楚的评判标准,而且带着具体意见重做确实能改好。会议纪要是否记全了决策、每条待办有没有负责人和期限;行程是否超预算、有没有排在闭馆日;代码是否通过测试。这些都能写成标准,改起来也有明确方向。

反过来,如果标准说不清(「文案要更有感觉」),评估者给不出可执行的意见,循环只会在几个差不多的版本之间摇摆;如果一次就能做好,多出来的评审只是浪费。所以先问两个问题:标准能不能写下来?意见能不能照着改?两个都是「能」再上循环。

二、评估结果必须结构化

评估者的输出是整个循环的「方向盘」,它必须能被代码读懂。推荐用 JSON Schema 约束:

{
  "passed": false,
  "score": 72,
  "issues": [
    {"field": "decisions", "index": 0, "issue_type": "MISSING_OWNER",
     "detail": "未写负责人", "suggestion": "补上张涛"}
  ],
  "conclusion": "决策缺少负责人,待确认事项缺少期限"
}

结构化带来三个好处:代码能直接读 passed 决定走向;field + index 把问题定位到具体哪一块、第几条,重写时模型知道改哪里;issue_type 用枚举,事后能统计「最常见的问题是什么」,反过来改进生成的提示词。

还有一个容易漏的矛盾情况:模型说 passed: false,但 issues 是空的。这时没有任何可以改的地方,再重写只会原样重来。合理的判定是:说通过,或者一条问题都没挑出来,都算通过。

易错点:评审标准如果只查「写得好不好」、不查「该写的写全没有」,优化者会通过删内容来提高分数:删掉的条目越多,剩下的越容易全部达标。标准里必须有一组完整性检查。

三、反馈怎么传回去

问题清单交给优化者时,有三种粒度:

传回什么优化者能做什么适用
只传「通过 / 不通过」只能整体重来,碰运气评判本身就是二值的,比如「答案有没有资料支撑」
传问题清单(位置 + 类型 + 建议)逐条定点修改大多数场景
传完整评语原文信息最多,但要自己理解哪句对应哪里问题难以结构化时

问题清单逐条拼成人能读的一行交给重写,例如「决策第1条|没有明确负责人:未写负责人 → 建议:补上张涛」。同时要告诉优化者只改被点名的地方,否则每轮都给出一份面目全非的新版本,前一轮已经合格的部分可能又被改坏。

四、上限为什么必须有,怎么算成本

有的问题怎么改都过不了:原始材料里根本没有负责人的信息,评估者每轮都会指出「缺负责人」,优化者每轮都编不出来。没有上限,循环就停不下来。

成本也要算清楚。一轮 = 一次评审 + 一次重写,最后一轮评审不通过时是否还重写取决于设计。按「每轮都评审和重写、到上限后不再复审」计:

首轮就通过:         1 次调用(只评审)
上限 N 轮都不通过:   2N 次调用(N 次评审 + N 次重写)
N = 2:最多 4 次;N = 5:最多 10 次

若每次调用平均 8 秒:N = 2 最坏 32 秒,N = 5 最坏 80 秒

上限一般给 2–3 轮,允许调整但要设硬上限。轮数的合理值可以用数据校准:统计历次运行「第几轮通过」,如果 90% 在前两轮就通过,第 5 轮几乎只是在烧钱。

五、轮数用完,交付哪一版

这是最容易被忽略的设计点,常见三种策略:

策略做法适合
交付最后一版最后一次重写的结果每轮改动都是在前一版上定点修改,基本单调变好
交付问题最少的一版每版都保留,按严重问题条数挑,条数相同取靠前的改动可能引入新问题,版本之间有好有坏
交给人工确认不自动写回,展示问题清单和修订稿,由人决定用不用产出要写回正式业务数据

「问题最少」要规定好平局规则,比如条数相同取靠前的版本,这样同一份数据无论计算几次,选出的都是同一版。无论哪种策略,都要在结论里写清楚「是否通过、跑了几轮、为什么停」,别让用户以为到上限的那一版也是合格的。

六、评估者用模型还是用代码

评估者不一定是模型:

代码评估:规则能写成代码(预算、时间冲突、字段是否齐全)→ 可复现、零调用成本
模型评估:需要理解语义(记全了没有、表述是否含糊)→ 灵活,但每次判断可能不同

能用代码判的尽量用代码,判定可复现、可统计,也不花调用费用;只有语义层面的判断才交给模型,并且把温度调低、输出结构化。两者也可以组合:代码先判硬约束,通过后再由模型判软约束。

七、常见误区与追问

  • 误区:评估结果写成一段评语就行。 代码读不懂自由文本,走向判断和问题定位都要靠结构化字段。
  • 误区:不通过就一直改到通过为止。 材料缺失导致的问题怎么改都过不了,必须有轮数上限。
  • 误区:到上限就直接报错。 前面几轮的产出可能已经比原版好,要按规则选出交付版或交给人工。
  • 误区:评审标准只管质量、不管完整性。 优化者会靠删内容提分,纪要越改越短、分数越改越高。
  • 误区:重写后的结果不用再校验。 重写同样可能漏字段、改格式,要用和原产出相同的结构约束和校验。
  • 追问:评估者说不通过却没列出问题,怎么处理? 当作通过:没有可改的地方,再重写只会原样重来。
  • 追问:一轮的调用次数怎么算? 一次评审加一次重写;上限 N 轮最多 2N 次,首轮通过只要 1 次。

八、加强记忆

评估—优化循环记「标准、清单、上限、收尾」:先确认标准写得下来、意见改得动;评估输出用 Schema 约束成 passed、score、定位到字段和条目的问题清单,说通过或挑不出问题都算过。清单逐条拼成「位置|类型:描述 → 建议」交给重写,要求只改被点名的地方,重写结果用同一份结构再校验;标准里必须有完整性检查,防止删内容刷分。一轮是一次评审加一次重写,上限 N 轮最多 2N 次调用;到上限按规则交付最后一版、问题最少的一版(平局取靠前)或交人工确认,结论写清为什么停。

项目实战落地

项目里怎么做的

《AI Agent智能会议纪要辅助系统》的纪要自检是一个「审查 → 重写 → 复审」的反思环:

  • 审查结构化:审查按 REVIEW_SCHEMA 以严格 JSON Schema 返回 passed、0–100 的 score、issues 和总评;每条问题有 field(纪要六块之一)、index(第几条,整块为空填 -1)、issue_type(缺负责人、缺期限、无法落实、表述含糊、原文找不到依据、漏记 六个枚举之一)、detail、suggestion;
  • 通过判定:模型说通过,或者虽没说通过但一条问题都没挑出来,都算这一版通过;
  • 反馈交回重写:问题清单用 issue_line 逐条拼成「决策第1条|没有明确负责人:…… → 建议:……」,填进重写模板;重写按纪要生成那份 MINUTES_SCHEMA 返回,再经 MinutesResult 校验;
  • 上限与调用次数:一轮 = 审查一次 + 按问题改一版;页面发起时 max_rounds 为 2,接口允许 1 到 5;模型调用最少 1 次、最多 2N 次;
  • 三种落点:首轮就通过,运行直接成功、纪要不动;改过后复审通过,或轮数用完仍未通过,都停在「等待人工确认」,后者的结论会写明「达到上限后没有再复审」。

《AI Agent旅游行程智能规划平台》的评估者是代码:每一版排完跑 14 条纯代码的硬校验,没有严重问题且一般问题少于 3 条就算通过;每一版都按轮次号留在库里,轮次用完仍未通过时取严重问题最少的一版交付,条数相同取靠前的。

为什么这样取舍

  • 有修订稿就等人确认:修订稿不会自己写回业务表,必须由人点确认,这是纪要系统里 Agent 唯一的写操作确认点。
  • 问题清单要能定位:交给重写时模型知道具体改哪一条,页面上也能按问题卡片展示「决策 · 缺负责人」。
  • 旅游项目挑严重最少的一版:条数相同时取靠前的,同一张行程单无论调用几次,选出的都是同一版。

面试官还会追问

  • 人工确认用修订稿覆盖原纪要时,写回的是哪几个字段?纪要本身的状态会变吗?
  • 转写原文很长时,审查提示词最多读多少?截断之后为什么还要补一句说明?
  • 人工放弃修订稿之后,这次运行和原纪要各是什么状态?还能再发起自检吗?

学完《AI Agent智能会议纪要辅助系统》,上面这些追问你都会迎刃而解。

本题落地项目地狱锤炼AI Agent智能会议纪要辅助系统基于LangChain+LangGraph的AI Agent智能会议纪要辅助系统 包括会议管理 资料管理 音视频转写 说话人分离 会议纪要生成 Agent自检更正 Agent运行观测等。FastAPILangChainLangGraphAgent多模态源码+SQL喂饭学习教程配套面试文档环境安装文档项目运行文档 学习这个项目 也可以学AI Agent旅游行程智能规划平台地狱锤炼 查看项目