评估代理系统,需要超越监督学习任务中常用的标准衡量方法。虽然准确率、精确率、召回率或 F1 分数等衡量方法适用于分类,均方误差 (MSE) 或平均绝对误差 (MAE) 适用于回归,但它们无法全面展现代理性能的复杂性。代理任务通常包含长序列的交互、中间推理步骤、工具使用以及根据新信息进行的动态调整。简单地检查最终输出是否“正确”,会忽略对部署很重要的过程、效率和稳定性。不再局限于简单的结果衡量方法设想一个代理,其目的是研究某个主题、整合多方信息并生成报告。简单地进行准确性检查,可能只是将生成的报告与参考文档比较。然而,这无法评估以下方面:过程有效性: 代理是否查阅了可靠来源?它连接信息的思考是否合理?它是否虚构事实或误读了来源?效率: 需要多少次大型语言模型 (LLM) 调用?多少次网络搜索或工具使用?花费了多长时间?根据具体应用,一个在一小时后生成完美报告的代理,可能不如一个在几分钟内生成稍逊色报告的代理受欢迎。稳定性: 代理能否处理网站无法访问、API 返回错误或初始查询不明确的情况?性能是否能保持平稳?资源消耗: 完成任务涉及的计算成本、API 成本或令牌使用量是多少?代理系统是动态过程,而非静态的输入-输出功能。因此,对它们的评估需要能体现这种动态性质的衡量标准。代理成功衡量标准的分类制定有效的衡量标准,首先要理解代理任务的具体目标和限制。我们可以将潜在的衡量标准进行分类,以确保进行全面评估:任务完成和目标达成: 这是最基础的方面。代理是否成功实现了用户请求或系统目的所设定的总体目标?二元成功: 是/否。代理是否正确预订了航班?代码是否编译并通过了测试?分级成功: 表明成功程度的分数(例如,0-5分制)。请求的信息找到了多少?用户查询得到了多好的处理?目标一致性: 代理达成的最终状态是否与预定目标相符,即使所采取的路径并非预期?效率和资源使用: 代理在达成目标时,资源利用的经济程度如何?延迟: 从发出请求到完成的总耗时。计算成本: 大型语言模型调用次数、处理的总令牌数(提示词 + 完成内容)、CPU/GPU 运行时长。工具/API 调用: 外部工具或 API 被调用的次数。特定 API 的费用。步骤/回合数: 推理过程或交互序列的长度。假设任务成功完成,更少的步骤可能意味着更高的效率。结果质量: 评估代理输出的内在质量,特别是针对生成或分析任务。准确性/真实性: 对于涉及信息检索或问答的任务,提供的信息有多准确?需要与真实数据或专家判断进行比较。 $ ext{精确率} = rac{TP}{TP + FP}$,$ ext{召回率} = rac{TP}{TP + FN}$。相关性: 输出是否与用户的请求相符?连贯性和可读性: 对于文本生成任务,输出是否结构良好、清晰易懂?完整性: 输出是否涵盖了请求的所有方面?可操作性: 输出能否直接用于其预定目的?稳定性与错误处理: 代理在非理想条件下表现如何?扰动下的成功率: 输入存在细微变化、噪声或模糊时的性能。错误恢复: 代理是否能检测到工具故障或无效响应,并尝试纠正措施(例如,重试、选用其他工具、请求澄清)?一致性: 代理在多次运行中,对于相似的输入是否能产生相似质量的输出?过程质量与推理: 评估中间步骤和决策过程。这通常难以自动量化。计划有效性: 生成的计划是否合乎逻辑且有助于达成目标?推理真实性: 中间“思考”步骤是否准确反映了代理的行为和知识状态?工具选择准确性: 代理是否为子任务选择了合适的工具?信息使用: 从记忆或工具中获取的信息是否在后续步骤中得到正确使用?针对具体任务的衡量标准示例这些分类的相对重要性,很大程度上取决于具体的应用场景。研究代理: 主要衡量标准可能是最终总结的真实性和相关性(质量)、查阅来源的数量与产生的独到见解(效率),以及处理无法访问来源的能力(稳定性)。自主网页导航代理(例如,预订旅行): 任务完成(是否成功预订?)是首要考量。效率(时间、点击次数)和稳定性(处理网站变化、错误)是重要的辅助衡量标准。协作写作代理团队: 衡量标准可包括最终文档的连贯性(质量)、代理间沟通的轮次(效率)、成功整合来自不同专业代理的贡献(过程质量),以及任务完成时间。量化定性方面:评分标准和大型语言模型作评判连贯性、相关性或计划有效性等衡量标准通常需要主观判断。两种常见方法如下:采用评分标准的人工评估: 制定详细的评分指南(即评分标准),为特定属性定义不同质量等级。人工评估员根据这些评分标准对代理的输出进行打分。这种方法能提供高质量的评估,但耗时且成本高。大型语言模型作评判: 使用一个强大的大型语言模型(通常与被评估的代理不同),根据提示中提供的预设条件评估代理的输出。例如,指示 GPT-4 对另一个代理生成的摘要的连贯性进行 1-5 分的评分。这比人工评估更快,更具可扩展性,但可能引入评判大型语言模型的潜在偏差,并且需要细致的提示工程来确保评估的一致性和有效性。组合衡量标准与仪表盘通常,单一衡量标准无法全面反映整体性能。建议使用:加权分数: 将多个衡量标准组合成一个总分,根据它们对于特定应用的重要性分配权重。例如: $$ ext{总分} = 0.5 \times ext{任务完成度} + 0.2 \times ext{效率得分} + 0.3 \times ext{质量得分} $$ 每个组成得分均已标准化(例如,范围在 0-1 之间)。评估仪表盘: 同时可视化多个衡量标准,从而更全面地查看代理在不同方面的性能。这有助于识别权衡(例如,一个代理可能速度更快但准确性较低)。{"data": [{"type": "scatterpolar", "r": [0.9, 0.7, 0.85, 0.6, 0.95, 0.9], "theta": ["任务完成度", "效率 (1/调用次数)", "输出质量", "稳定性 (错误处理)", "工具准确性", "任务完成度"], "fill": "toself", "name": "代理 A", "marker": {"color": "#4263eb"}}, {"type": "scatterpolar", "r": [0.8, 0.9, 0.75, 0.8, 0.85, 0.8], "theta": ["任务完成度", "效率 (1/调用次数)", "输出质量", "稳定性 (错误处理)", "工具准确性", "任务完成度"], "fill": "toself", "name": "代理 B", "marker": {"color": "#f76707"}}], "layout": {"polar": {"radialaxis": {"visible": true, "range": [0, 1]}}, "showlegend": true, "title": "代理性能对比", "margin": {"l": 40, "r": 40, "t": 80, "b": 40}}}对比代理 A 和代理 B 在主要性能方面。代理 A 在任务完成和工具准确性上表现突出,但效率较低。代理 B 则展现出更高的效率和稳定性,但输出质量略逊一筹。最终,制定合适的成功衡量标准,需要对代理的预期功能和运行环境有细致的理解。这是一个迭代的过程。首先从涵盖完成度、效率和质量的一组主要衡量标准开始,随后随着你对代理行为、特定故障模式或需要处理的性能瓶颈有了更多了解,再进行完善。这些明确定义的衡量标准,为后续章节将讨论的系统评估、调试和优化奠定了基础。