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模式的价值在于:
隔离关注点:三个角色各司其职
独立验证:评估者的独立性确保发现问题
灵活扩展:可根据需求调整模型选择
可调试性:清晰的故障路径便于问题定位
最后更新于
