领域LLM九讲——第4讲 构建可测评、可优化的端到端商业AI Agent 系统

领域LLM九讲——第4讲 构建可测评、可优化的端到端商业AI Agent 系统

以 OpenAI Cookbook 的《receipt_inspection》示例为基础,探讨如何设计一个可测试、可优化的端到端 AI Agent 系统。整体流程分为三个阶段:
(1) 端到端 Agent 构建(基线测试),
(2) 拆分中间任务与评分系统(可解释性与对齐),
(3) 构建收益/成本框架(系统优化)。

在这里插入图片描述

文章目录

  • 领域LLM九讲——第4讲 构建可测评、可优化的端到端商业AI Agent 系统
    • 1. 构建端到端系统 —— V0 Agent(基线)
    • 2. 拆分中间任务与评分系统 —— V1 Agent(可解释性与对齐)
    • 3. 构建收益/成本框架 —— V2 Agent(系统优化)
    • 附录

1. 构建端到端系统 —— V0 Agent(基线)

  • 构建最简化系统
    首先搭建一个最基础的 Agent:直接使用一个 LLM 通过单次提示(或调用)完成整体任务。例如在收据解析场景中,可使用大模型对收据图片进行文字识别,并一次性输出所有字段信息与审核决策。示例中使用了 Pydantic 定义结构化输出模型(包含商户名称、地点、时间、条目列表等字段),并调用 LLM 填充这些字段。该阶段的目标是快速获得一个粗粒度的可行解,并建立性能基准。此时可记录关键指标(如整体识别准确率、误判率等)作为后续优化的对比基线。
  • 优点与风险
    端到端设计简单直接,开发迭代速度快。但也存在风险:缺乏内部可观察性,一旦结果错误很难定位原因,容易出现“碰运气”式的盲目迭代。没有中间检查点的系统可能隐藏关键错误,对复杂任务或高风险场景(如医疗诊断)欠妥。正如 OpenAI 所言,如果没有将评估内置于流程核心,开发往往陷入“拍脑袋”的猜测和印象式判断。因此该阶段仅作为起点,一方面需要对输出结果进行初步人工或规则验证,另一方面需意识到端到端方案的局限。

2. 拆分中间任务与评分系统 —— V1 Agent(可解释性与对齐)

  • 任务拆解
    在基线验证后,将复杂任务拆分为可管理的子任务或步骤,增强系统可解释性。例如,可按逻辑阶段分别处理:先用 OCR 获取文本,再让 LLM 提取字段、计算总额,最后再让 LLM 给出审核判定。示例中通过 Pydantic 模型来定义每个子任务的输出(如交易项目列表、总金额等)。分解后,每个子任务的输出都成为可独立评估的中间结果,这有助于理解整体过程并针对性优化某一步。

  • 引入 Grader 评分
    针对每个中间输出,引入一个Grader(评判器)来自动评估其质量,即“LLM 作为评判者”的思路。具体做法是设计多个评分模块,对不同子输出进行检查:可以是简单的相等检查、文本相似度计算,或再次调用 LLM 作为评判模型。例如,收据示例定义了几类 grader:字符串严格匹配检查(如总额是否一致)、文本相似度检查(如商户名称相似度)、以及基于模型的评分(如判断提取的条目是否缺漏)。这些 grader 分别针对输出的不同部分进行验证(有的只看输出本身,有的则需要对照正确答案)。Databricks 的 Agent Evaluation 也采用类似方法,使用一组 LLM 评判器分别对答案的正确性、相关性等方面进行评估。

  • 控制节点与瓶颈定位
    引入 grader 后,系统就有了“中控节点”,可以在每一步检测失败并采取措施。多个 Grader 评分后可合并结果,总结整体质量。如果整体评估失败,系统能指出是哪一个子任务的 grader 首先未通过。比如若“总额检查”未通过,就说明金额提取有问题;若“缺失条目检查”未通过,就说明提取遗漏条目。这样一方面提高了可解释性,另一方面可针对性地调整模型或提示,形成闭环改进。使用 LLM-作为评判者的做法在实践中被广泛采用,它能自动化评估文本质量并提供明确评分指标,是人工评估的可扩展替代方案。综上,在拆分任务并引入 Grader 后,我们可定位并修复 Agent 的弱点,从而对齐业务需求并逐步提升可靠性。

3. 构建收益/成本框架 —— V2 Agent(系统优化)

  • 多维度成本度量
    除准确率外,引入成本度量是优化的关键。首先要明确定义成本项:例如每张收据的处理成本(包含模型调用和基础设施开销)、低置信输出的人力校验成本、系统开发维护成本,以及因为错误带来的业务损失(如漏检或错判的罚款等)。在 Agent 层面,可量化的成本指标包括:调用模型所用的 token 数(直接对应 API 费用)、端到端响应延迟(影响用户体验或业务处理速率)、人工干预频率等。Databricks Agent Evaluation 就自动统计了整个任务过程中的总 token 数(含输入、输出)作为成本近似,也计算总时延。这些指标汇总到每次请求的评估报告中,帮助开发者了解资源消耗。
  • 性能/成本权衡
    系统优化即在多维指标上做权衡:精度、成本、延迟之间往往需要平衡。正如相关指导所指出的,需要权衡模型规模与延迟、质量与成本等因素。例如,可以先使用最强大的模型验证正确性,再尝试用更小模型或分步调用来降低成本;也可接受小幅度精度下降以换取大幅度的时间和费用节省。业务方可能愿意为降低延迟或费用而牺牲一定的准确率,反之亦然。因此需要明确量化:如每增加多少 token 花费多少美元、响应延迟对用户体验的影响,以及人工干预一次的成本等。通过这些量化指标,可以建立收益/成本模型,判断在何种改进措施下投入产出比最高。例如,如果某个子模块的 grader 失败率很高,就算投入更大模型减少错误,增加的成本是否值得?这样的分析需要具体计算错误降低带来的收益和新增成本。综合考虑后,可制定策略:如对重点子任务使用高质量模型,对一般子任务用小模型,或只对 grader 评分未通过的例外场景启用人工复核,将资源聚焦到最需要的环节上。

如在文章中,作者建立的成本体系:

公司每年处理 100 万张收据,基准成本为每张收据 0.20 美元, 审计收据的成本约为 2 美元
未能审计我们应该审计的收据,平均成本为 30 美元,5% 的收据需要审计
现有流程

  • 识别 97% 情况下需要审计的收据
  • 2% 的情况下错误识别不需要审计的收据

这给了我们两个基准比较:

  1. 如果我们正确识别每张收据,我们将花费 100,000 美元进行审计
  2. 我们目前的流程在审计上花费了 135,000 美元,并因未审计的费用损失了 45,000 美元

除此之外,人工驱动的过程还需额外花费 20 万美元。

这里只是构建了审核系统中构建节约成本的高效Agent,但本质上没有带来利润。如果在成本基础上添加利润,如生图框架、广告视频生成等,首先要考虑整个工作流pipeline的节点构造(结果为导向);然后考虑生成过程中的稳定可控性(结果为导向);其次考虑成本(LLM选择)与利润(生成时间与效果),利润这块还可以通过增加用户复用率(如生成视频的精修)。

附录

本人github项目地址:https://github.com/oncecoo
欢迎关注!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/908805.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL体系架构解析(三):MySQL目录与启动配置全解析

MySQL中的目录和文件 bin目录 在 MySQL 的安装目录下有一个特别重要的 bin 目录,这个目录下存放着许多可执行文件。与其他系统的可执行文件类似,这些可执行文件都是与服务器和客户端程序相关的。 启动MySQL服务器程序 在 UNIX 系统中,用…

Linux线程与进程关系及底层实现

在操作系统中,线程切换相比进程切换更轻量级的关键原因之一是 缓存(Cache)的有效性,尤其是对 CPU 缓存(如 L1/L2/L3)和 TLB(Translation Lookaside Buffer)的影响。以下从缓存角度详…

【论文阅读30】Bi-LSTM(2024)

用于精确实时滑坡检测的双向LSTM模型:以印度梅加拉亚邦毛永格里姆为例的研究 IEEE Internet of Things Journal(简称 IoT‑J)是一份 IEEE 自 2014 年起双月刊发表的国际顶级学术期刊,专注于物联网各领域的研究。 作者&#xff1a…

Java编程之原型模式

原型模式的定义 原型模式(Prototype Pattern)是一种创建型设计模式,通过复制已有对象来创建新对象,而非通过常规的手段的new关键字来实例化。适用于对象创建成本较高或需要动态配置的场景。 例如,在一个游戏开发中&am…

RAG质量评估

当完成了一个RAG系统的开发工作以后,还需要对该系统的性能进行评估。如何对RAG系统的性能进行评估呢?仔细分析RAG系统的产出成果,主要涉及以下几点: (1)检索器组件 检索的相关文档 context, (…

LLMs基础学习(八)强化学习专题(1)

LLMs基础学习(八)强化学习专题(1) 文章目录 LLMs基础学习(八)强化学习专题(1)学习资料资源强化学习是什么强化学习一句话精准定义 强化学习与其他学习类型的对比强化学习 vs 监督学习…

19-Oracle 23 ai Database Sharding-知识准备

小伙伴是不是经常遇见大规模集群和数量的时候,业务就提出要对数据进行sharding。 Oracle 和其他数据库(如 MySQL、PostgreSQL、MongoDB 等) 为什么要进行分片(sharding),分片的原因是什么,实现…

分类与逻辑回归 - 一个完整的guide

线性回归和逻辑回归其实比你想象的更相似 😃 它们都是所谓的参数模型。让我们先看看什么是参数模型,以及它们与非参数模型的区别。 线性回归 vs 逻辑回归 线性回归:用于回归问题的线性参数模型。逻辑回归:用于分类问题的线性参数…

英语写作中“每一个”each individual、every individual、every single的用法

一、Individual :个体,相对于团体,例如: Individual competition (个人比赛),相对于team competition (团体比赛) Individual users (个人用户)…

由于 z(x,y) 的变化导致的影响(那部分被分给了链式项)

✅ 本质问题:为什么链式法则中 ∂ F ∂ x \frac{\partial F}{\partial x} ∂x∂F​ 不考虑 z z ( x , y ) zz(x,y) zz(x,y)? 🔍 一、关键是:偏导数的定义是什么? 我们从最根本的定义开始: ∂ F ( x , y…

python打卡day44@浙大疏锦行

知识点回顾: 预训练的概念常见的分类预训练模型图像预训练模型的发展史预训练的策略预训练代码实战:resnet18 作业: 尝试在cifar10对比如下其他的预训练模型,观察差异,尽可能和他人选择的不同尝试通过ctrl进入resnet的…

十一(3) 类,加深对拷贝构造函数的理解

class ClassName { public: // 拷贝构造函数:参数是同类型对象的引用(通常为 const 引用) ClassName(const ClassName& other) { // 复制 other 的成员变量到当前对象 } }; 参数要求:必须是同类型对象的引用&#xff0…

网页后端开发(基础1--maven)

maven的作用: Maven是一款管理和构建Java项目的工具。 1.依赖管理: 方便快捷的管理项目依赖的资源(jar包) 不用手动下载jar包,只需要中maven中引用,maven会查找本地仓库。若本地仓库没有,会直…

认识电子元器件---高低边驱动

目录 一、基本概念 二、关键参数对比 三、工作原理 (1)高边驱动 (2)低边驱动 四、典型的应用场景 五、如何选择 一、基本概念 可以理解成:高低边驱动是MOS/IGBT的一种应用方式 高低边驱动是电路拓扑概念&#…

JavaScript 标签加载

目录 JavaScript 标签加载script 标签的 async 和 defer 属性,分别代表什么,有什么区别1. 普通 script 标签2. async 属性3. defer 属性4. type"module"5. 各种加载方式的对比6. 使用建议 JavaScript 标签加载 script 标签的 async 和 defer …

C/CPP 结构体、联合体、位段内存计算 指南

C/CPP 结构体、联合体、位段内存计算 指南 在C语言中,结构体、联合体和位段是对数据的高级抽象,它们可以让程序员以更易于理解的方式来操作复杂的数据结构。然而,这些结构在内存中的布局可能并不如它们的语法结构那样直观,特别是当…

ASR(语音识别)语音/字幕标注 通过via(via_subtitle_annotator)

文章目录 1 VIA 官网资料2 语音/字幕标注3 键盘快捷键常规当一个时间片段被选中时图像或视频帧中的空间区域 1 VIA 官网资料 VIA官网:https://www.robots.ox.ac.uk/~vgg/software/via/ VIA官网标注示例:https://www.robots.ox.ac.uk/~vgg/software/via/…

mq安装新版-3.13.7的安装

一、下载包,上传到服务器 https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.13.7/rabbitmq-server-generic-unix-3.13.7.tar.xz 二、 erlang直接安装 rpm -ivh erlang-26.2.4-1.el8.x86_64.rpm不需要配置环境变量,直接就安装了。 erl…

高通平台PCIE EP模式log丢失问题

高通平台PCIE EP模式log丢失问题 1 问题背景2 问题分析2.1 对比USB2.1.1 Logtool优化2.1.2 Device mhi与fs对比2.2 优化方案2.2.1 Diag系统优化2.2.2 Host mhi优化3 最终成果1 问题背景 高通5G模组如SDX55\SDX62\SDX65\SDX72\SDX75等支持pcie ep模式。会通过pcie与host(如MT7…

Python应用输入输出函数

大家好!在 Python 编程中,输入输出函数是与用户进行交互的桥梁。通过输入函数,我们可以获取用户的输入数据;通过输出函数,我们可以向用户展示程序的运行结果。对于初学者来说,掌握基本的输入输出操作是编程入门的重要一…