7.3 输出质量门控与过滤

工具执行前需要多层验证防线来确保安全和有效性。本节介绍六层质量门控机制、规划-生成-评估三角色分离模式,以及如何通过独立评估者消除自我确认偏差。

7.3.1 问题定义

工具调用前的最后防线是质量门控(Quality Gate)。未经验证的输出可能导致:

  • 参数错误:工具接收非法数据导致执行失败

  • 资源泄露:过度调用导致费用飙升或系统宕机

  • 格式异常:API 调用失败导致 智能体循环重试

  • 安全漏洞:注入攻击、不合理的权限操作

质量门控在 执行之前 进行多层验证,确保只有安全、合法的调用才能通过。

7.3.2 门控层次结构

质量门控按以下六个层次依次进行验证:

图 7-3:质量门控多层验证流程 —— 工具执行前的六层递进式防护

1. 基础格式检查

验证解析结果的完整性和一致性:

2. 工具存在性检查

验证工具是否已注册:

3. 参数类型和范围检查

使用Pydantic进行参数类型和范围验证的实现如下:

4. 业务逻辑检查

某些检查超越类型系统,涉及业务规则:

5. 安全与权限检查

安全与权限检查的实现方式如下:

6. 完整的质量门控引擎

整合六层验证逻辑的完整质量门控引擎如下:

质量门控小结

质量门控通过多层验证机制:

  • 格式检查:确保结构完整

  • 存在性检查:验证工具已注册

  • 参数检查:类型和范围验证

  • 业务逻辑:应用特定规则

  • 安全检查:防止权限和注入攻击

有效降低执行失败、资源泄露和安全风险,是智能体可靠性的关键保障。

7.3.3 规划-生成-评估三角色分离

在传统的单一模型智能体中,智能体需要同时完成三项职责:分析任务、生成解决方案、评估结果。这导致一个常见问题:自我确认偏差——生成器很难公正地评估自己的工作。

Anthropic 提出的 规划-生成-评估(Planner-Generator-Evaluator, PGE)模式 通过角色分离和潜在的不同模型配置,显著提升输出质量。

三角色的职责划分

规划者(Planner)

  • 分析任务,理解用户意图

  • 将复杂目标分解为子任务

  • 创建执行计划和验证标准

  • 使用较高的推理预算(可选使用Adaptive Thinking)

生成者(Generator)

  • 按照计划逐步执行

  • 调用工具、处理API响应

  • 产生原始输出

  • 优化吞吐量和成本(使用轻量级模型配置)

评估者(Evaluator)

  • 独立检查生成器的输出

  • 验证是否满足规划阶段的要求

  • 判断是否需要修正或重新生成

  • 必须使用独立的提示和上下文 (避免自我确认偏差)

架构流程

质量门架构采用三角验证模式,通过独立的评估者对生成的结果进行验证:

关键设计原则

1. 评估者的独立性

评估者必须与生成者完全隔离,这是PGE模式的核心:

2. 模型配置的灵活性

虽然理想情况下三个角色使用不同的模型,但也可以使用同一模型的不同配置:

3. 避免自我确认偏差

确保评估者不会无意中受到生成者的影响:

警告:LLM-as-Judge 的隐性偏差 独立评估器虽然能减少自我确认偏差,但仍需防范 LLM 本身的评估偏见:

  • 位置偏差(Position Bias):倾向于偏好开头或结尾的内容

  • 长度偏好(Length Preference):可能无意识地倾向较长或较短的答案

  • 风格偏好(Style Bias):倾向支持与其训练数据相似的表达风格

建议采用多评估者投票制或定期人工抽样验证来规避这些风险。

实际应用案例

在一个代码审查智能体中应用PGE模式:

PGE vs 单一模型的对比

特性
单一模型
PGE模式

自我确认偏差

低(独立评估)

错误率

基线

显著下降

成本

基线

有所增加(多次模型调用)

调试难度

中等

低(清晰的问题定位)

规划-生成-评估小结

PGE模式的价值在于:

  • 隔离关注点:三个角色各司其职

  • 独立验证:评估者的独立性确保发现问题

  • 灵活扩展:可根据需求调整模型选择

  • 可调试性:清晰的故障路径便于问题定位

最后更新于