大模型开发者的福音:一文搞懂Agent评估,让你的模型不再“翻车“!

一、Agent 评估为什么这么重要

LLM 的输出是存在不可控因素的,而对于一个线上生产级别的大模型应用来说,稳定性是最重要的,成熟的评估方案不仅可以让大模型应用更加稳定,同时也可以发现模型的潜力和边界,以此更好的迭代大模型应用

有几句真实引述可以参考。以此来解释为什么评估很重要

评估对于大模型应用开发是有好处的,可以量化一些模型的边界能力:

设计完整的评估方案并且准确的执行,不仅有益于大模型应用开发的效率,同时也可以帮助团队探索出模型的边界能力,为极大释放模型的潜力提供方向

接下来就一起来看看评估方案的主要元素有哪些,同时评估的流程是什么,还有评估的方法

二、评估的组成

一个设计良好的评估方案由四个主要组成部分构成:

1.示例输入:这里是给模型的指令或问题,关键是要设计出能够准确代表你的应用在实际使用中会遇到的各类场景的输入
2.标准答案:正确的或理想的回答,作为模型输出的基准,创建高质量的标准答案通常需要领域专家的参与,以确保准确性和相关性
3.模型输出:这个是 LLM 基于示例输入实际生成的回答,这个就是你要拿来与黄金答案对比的评估内容
4.分数:一个定量或定性的值,代表模型在该特定输入上的表现,评分方法可以根据你的任务性质和选择的评分方法而有所不同

关于准备的示例输入和标准答案至少需要超过 100 组才会有评估的意义和参考价值

三、评估的流程

评估流程

上图就是评估的完整流程的示意图,下面我详细解释一下各步骤中的关键

  1. 首先我们要准备好测试用例,这个是由示例输入和标准答案组成
  2. 然后将测试用例分为两批,80%作为开发集测试用例,20%作为留存集测试用例
  3. 根据你自己的感觉设计第一版本的提示词
  4. 在开发集上面进行测试
  5. 当效果很差的时候,就根据测试结果优化提示词,循环往复,直到提示词合格
  6. 这个时候你再使用之前准备好的留存集测试,这一步是验证提示词的泛化
  7. 留存集的测试结果和开发集的测试结果差距小于 10%(具体的你可以自己定,我这里只是举一个例子)左右,就可以通过
  8. 如果差距大于 10%,就说明提示词和开发集的测试用例严重过拟合,重新再回到优化提示词的那一步,循环往复,直到留存集测试结果合格

在评估流程中,两步测试用例的结果是主要的,开发集准确率和留存集的准确率,但是还有两个评估因素可以考虑使用

  • 边缘案例覆盖:评估在极端输入中,模型的表现如何
  • 性能测试:评估模型的响应时间

当然在整个评估流程的准备和执行中,最重要的两点:

  1. 编写评估问题和标准答案:也就是标准答案的准备,如果让人工来编写问题和标准答案会非常耗时,成本也非常高,但这个成本是一次性的,编写好的问题和标准答案可以重复利用
  2. 评分运行产生的持续成本:我们会持续高频繁的运行评估,如果采用大模型来评分,那么这一步的模型成本是存在的,所以我们要尽量构建快速且经济地评估体系核心

四、评估的方法

常见的三种评估方法是:

  • 基于代码评分:使用标准代码来匹配和判断模型的输出
  • 人工评分:人工手动的查看模型生成的答案进行打分
  • 基于模型的评分:由一个更高级的模型来对于输出进行评价

三种评分方法中可以首先考虑使用模型评分和代码评分,最后才考虑人工评分,因为人工评分相比前面两种方式其成本大,周期长

4.1.1、代码评分的例子

因为案例比较简单,为了方便展示整个评估流程,选择了模型能力相对弱的Qwen2-7B-Instruct

第一步:我们先准备好一个评估用例数据集**(示例输入和标准输出)**,这里我们取测试主干,暂时不进行留存集的测试步骤

let testCases = [// 明显积极(2个) { id: 1, text: '太棒了!非常满意,五星好评!', expected: '积极', reason: '明确的正面词汇', }, { id: 2, text: '物流很快,质量超出预期,强烈推荐', expected: '积极', reason: '多个正面描述', },// 明显消极(2个) { id: 3, text: '垃圾产品,完全不能用,退款了', expected: '消极', reason: '明确的负面词汇', }, { id: 4, text: '质量太差,客服态度恶劣,不推荐', expected: '消极', reason: '多个负面描述', },// 明显中性(2个) { id: 5, text: '今天收到货了,包装还可以', expected: '中性', reason: '陈述事实,无明显情感倾向', }, { id: 6, text: '产品是蓝色的,重量500克左右', expected: '中性', reason: '纯客观描述', },// 陷阱:讽刺反话(2个) { id: 7, text: '呵呵,真是"完美"的体验呢', expected: '消极', reason: '引号表示讽刺,简单提示词看到"完美"会判断为积极', }, { id: 8, text: '好得不得了,好到我想扔掉', expected: '消极', reason: '前半句是假好评,后半句才是真实情感', },// 陷阱:转折结构(2个) { id: 9, text: '虽然价格有点贵,但是质量真的很好,值得购买', expected: '积极', reason: '先提缺点后肯定,整体是积极,简单提示词可能被"贵"误导', }, { id: 10, text: '外观设计不错,但是用了一天就坏了', expected: '消极', reason: '先肯定后否定,整体是消极,简单提示词可能被"不错"误导', },// 陷阱:隐性情感(2个) { id: 11, text: '买了三次了,每次都回购', expected: '积极', reason: '没有明显褒义词,但多次回购说明满意', }, { id: 12, text: '用了两天就不想再用了', expected: '消极', reason: '没有明显贬义词,但表达了放弃使用的意图', },];

第二步:我们再准备一个初版的提示词

// V1 - 提示词let promptV1 = (text: string) => `判断以下文本的情感倾向,回答"积极"、"消极"或"中性"。文本:${text}只回答一个词:积极、消极或中性。`;

第三步:我们使用评估数据集来运行初版提示词得出评估分数

// 评估函数asyncfunctionevaluatePrompt( service: any, promptFn: (text: string) => string, version: string) {console.log(`\n${'='.repeat(60)}`);console.log(`开始评估: ${version}`);console.log('='.repeat(60));let successCount = 0;let failCount = 0;let totalCount = testCases.length;letfailedCases: any[] = [];for (let test of testCases) { const prompt = promptFn(test.text); const response = await service.generate(prompt); const isSuccess = response.trim() === test.expected; if (isSuccess) { successCount++; } else { failCount++; failedCases.push({ id: test.id, expected: test.expected, actual: response.trim(), reason: test.reason, }); } console.log( `测试用例${test.id}: ${isSuccess ? '✓ 成功' : '✗ 失败'} (期望: ${test.expected}, 实际: ${response.trim()})` ); }console.log(`\n${'-'.repeat(60)}`);console.log(`${version} 评估结果汇总:`);console.log(`总测试用例数: ${totalCount}`);console.log(`成功用例数: ${successCount}`);console.log(`失败用例数: ${failCount}`);console.log(`准确率: ${((successCount / totalCount) * 100).toFixed(2)}%`);if (failedCases.length > 0) { console.log(`\n失败用例详情:`); failedCases.forEach(fc => { console.log(` 用例${fc.id}: 期望${fc.expected},实际${fc.actual}`); console.log(` 原因: ${fc.reason}`); }); }return { successCount, failCount, totalCount, failedCases };} ``````plaintext export asyncfunctionmain() {const service = awaitcreateLLMService({ provider: 'siliconflow', model: 'Qwen/Qwen2-7B-Instruct', apiKey: config.siliconflowApiKey, maxIterations: 30, });// 评估三个版本的提示词const v1Result = awaitevaluatePrompt( service, promptV1, '提示词 V1 (简单版)' );// 对比结果console.log(`\n${'='.repeat(60)}`);console.log('对比结果:');console.log('='.repeat(60));console.log( `V1 准确率: ${((v1Result.successCount / v1Result.totalCount) * 100).toFixed(2)}%` );}/** 输出结果:提示词 V1 (简单版) 评估结果汇总:总测试用例数: 12成功用例数: 10失败用例数: 2准确率: 83.33%失败用例详情: 用例5: 期望中性,实际积极 原因: 陈述事实,无明显情感倾向 用例7: 期望消极,实际积极 原因: 引号表示讽刺,简单提示词看到"完美"会判断为积极============================================================对比结果:============================================================V1 准确率: 83.33%**/

第四步:我们根据评估结果,发现用例 5 和用例 7 出现歧义错误,对提示词的调整

    1. 引号表示讽刺的含义的可能要再提示词中表明出来
    1. 说明中性、积极、消极的具体含义,给模型清晰的评估标准,而不是一个词语
// V2 - 提示词-添加具体的描述和引号含义let promptV2 = (text: string) => `你是一个情感分析专家,判断以下文本的情感倾向。分类标准:- 积极:表达满意、赞赏、推荐等正面情感- 消极:表达不满、失望、批评等负面情感- 中性:客观陈述事实,无明显情感倾向注意事项:- 注意"虽然...但是..."这类转折句,以后半句为准- 注意带引号的词可能是反讽文本:${text}只回答一个词:积极、消极或中性。`;

第五步:执行优化后的提示词,查看结果

export asyncfunctionmain() {const service = awaitcreateLLMService({ provider: 'siliconflow', model: 'Qwen/Qwen2-7B-Instruct', apiKey: config.siliconflowApiKey, maxIterations: 30, });const v2Result = awaitevaluatePrompt( service, promptV2, '提示词 V2 (规则版)' );// 对比结果console.log(`\n${'='.repeat(60)}`);console.log('对比结果:');console.log('='.repeat(60));console.log( `V2 准确率: ${((v2Result.successCount / v2Result.totalCount) * 100).toFixed(2)}%` );}/**======输出结果:======提示词 V2 (规则版) 评估结果汇总:总测试用例数: 12成功用例数: 12失败用例数: 0准确率: 100.00%============================================================对比结果:============================================================V1 准确率: 83.33%V2 准确率: 100.00%**/

第六步:当准确率得到提升合格之后,就可以进入到留存率的测试集中或者评估通过

4.2、基于人工评分

    1. 📝特点:对于需要细致理解或主观判断的任务,基于人类的评分仍然是标准答案。这种方法涉及让个人 - 通常是领域专家 - 审查模型的输出,评估其质量,并为每个输出分配分数
    1. 优势:人工评分在评估诸如语气、创造力、复杂推理或事实性等方面的能力上表现优异,尤其是在处理开放式任务或答案的正确性依赖于微妙语境因素时。其缺点是耗时且可能成本高昂,尤其是在大规模评估中。此外,它还可能受到不同评分者之间不一致性的影响。
    1. 形式
    1. 专家评审:领域内的专家评估回答的准确性和深度,例如:律师手动审查公平贷款并准确反映条款,皮肤科医生可能会评估模型关于皮肤癌筛查的建议
    1. 用户体验小组:一个小组评估输出内容的清晰度、帮助性、参与度以及其他基于人类判断的方面

4.3、基于模型评分

基于模型评分

    1. 📝特点:基于 LLM 的评分方法介于基于代码和基于人工的方法之间。这种方法使用另一个 LLM(有时是同一个)来评估输出。通过精心设计评分提示,你可以利用 LLM 的语言理解能力来评估多种标准。
    1. 优势:与基于代码的评分相比,这种方法可以处理更复杂和主观的评估,同时比人工评分更快、更具可扩展性。然而,它需要高超的提示工程技巧来确保可靠的结果,并且评分 LLM 引入自身偏见的风险始终存在。
    1. 形式
    1. 摘要质量:这个摘要有多简洁和准确
    1. 语气评估:该回复是否符合我们品牌指南或语气
    1. 其他…
4.3.1、 评估模型的提示词书写

在基于模型评分的方法下,最核心的是评估模型,其对应的也是需要为评估模型编写一份提示词,关于这个提示词的书写思路可以参考:

  • • 原始提示或问题
  • • 我们想要评估的模型输出
  • • 一套用于评估的标准或指南
  • • 关于如何评估和给响应结果打分的说明

常见的模型评估的标准或指南:

    1. 这个回应带有多少歉意?
    1. 根据所提供的上下文,该回应在事实上是否准确?
    1. 这个回复是否过度提及自身上下文的信息
    1. 这个回复是否真正恰当回答了问题?
    1. 这个输出与我们的语气|品牌|风格指南的契合度如何?
4.3.2、评估模型的定位

一个合格的评估模型想要保持客观中立的态度,目前的很多模型默认情况下都是友好的,有偏向道歉的倾向

所以在书写评估模型的提示词中,需要加一段观点和角度的限制

“不道歉和不使用道歉的语言,要客观中立”

4.3.3、评估案例

步骤 1:用户提问

输入: 输入:“为儿童玩具店写一句宣传语”

步骤 2:被测试模型输出

“本店提供高品质玩具,欢迎选购。”

步骤 3:评估LLM打分

评估提示:

  • • 评估是否符合儿童友好、活泼的语气。
  • • 总分10分

步骤 4:评估结果

  • • 得分:4/10
  • • 理由:语气过于正式严肃,不符合儿童玩具店的活泼定位

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

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

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

相关文章

Matlab: 测试MMS (Method of Manufactured Solutions)

使用泊松方程测试MMS(Method of Manufactured Solutions)方法适用性 % % TEST MMS (Method of Manufactured Solutions) %function poissonMMS()%% ucn*(x-x0)-sn*(y-y0)% vsn*(x-x0)cn*(y-y0)% T(x,y)exp(-au^2-bv^2)%thetapi/4;p.a10;p.b100;p.cncos(theta);p.snsin(theta);p…

在3D设计课上,国产CAD兼顾入门与实战

我在职校教3D设计课,真的很头疼用哪个牌子的软件。有些孩子基础很差,对电脑操作很不敏感,不能用过于复杂的软件作为教学工具,但用的软件太简单又不能很好的衔接企业实际岗位标准,课就白上了。要选一款既要贴合学生的认…

【AI编程干货】2025大模型开发已从“随机生成“进化到“确定性工程“,这篇技术指南让你少走三年弯路!

01 宏观生态概览:从随机生成到确定性工程 1.1 2025年 AI 工程化的范式转移 在2023年至2025年的短短两年间,大语言模型(LLM)的工程生态经历了一场深刻的范式转移。如果说2023年是“聊天机器人(Chatbot)”…

2026年优秀的桥架支架,热浸锌桥架,电缆沟支架厂家采购优选榜单 - 品牌鉴赏师

引言在现代基础设施建设中,电缆支架、隧道支架、电缆沟支架、管廊支架、热浸锌桥架以及桥架支架等产品扮演着至关重要的角色。它们的质量和性能直接关系到电缆系统的安全与稳定运行。为了帮助广大采购商在众多厂家中挑…

大模型开发必看!LangChain 1.0 MCP调用实战,解决DeepSeek兼容性问题,附完整代码

上一篇文章中,我为大家介绍了LangChain1.0框架下调用人机交互式大模型的方法。今天,我们聚焦另一个核心实操场景——MCP(Model Context Protocol)的调用流程,以及实践中常见报错的解决方案。 一、基础铺垫&#xff1a…

AI Agent架构大揭秘:从感知到行动,让代码拥有“大脑“!2026年AI开发必备技能,程序员速来围观!

AI Agent 是2026年AI生态的核心概念,它指的是一个具备自主决策、规划和执行能力的数字实体,不再局限于简单的问答或生成式AI,而是能像人类员工一样处理复杂任务。简单来说,Agent 能理解用户意图、分解目标成步骤、调用外部工具或数…

2026/1/19-又是会考

前天会考去了。 重要的不是会考,重要的是我要回学校【生无可恋.jpg】 但是能和 lzm 玩,感觉又活了一些。16 号下午去看考场,然后被打信息差了。 教室和办公室都搬到科技楼去了,我还以为办公室还在教学楼捏。 于是在…

程序员必看!RelayLLM:大模型“点餐“式协作,小模型精准求助,性能提升60%成本降低98%!

一、动机 当前大模型在复杂推理任务上表现出色,但计算成本和延迟让人望而却步;小模型虽然高效,但推理能力又明显不足 现有的协作方案(如级联路由)通常采用"全有或全无"的策略:路由器判断题目难…

【AI开发必备】大模型Agent评估全攻略:从编码到对话,保姆级教程让你少走90%弯路!

揭秘 AI 代理的评估 - 多种Agent的评估方法 前言: 在上一篇文章中,我们只是介绍了Agent评估常用的方法,没有具体的案例,本文中是具体的几种Agent类型的评估方法,编码Agent、研究搜索Agent、对话聊天Agent、计算机操作…

赋能企业健康服务升级—HealthAI开放平台的全链路技术解决方案

在数字化浪潮与健康需求升级的双重驱动下,健康管理正从传统模式向AI精准服务转型。企业对专业化、场景化的数字化健康管理产品需求日益迫切,健康有益HealthAI健康云开放平台以垂直领域深耕优势,为ToB客户提供全链路AI健康管理解决方案&#x…

【收藏必看】AI Agent核心组件深度解析:从记忆、工具到规划,构建智能体全攻略

文章详细介绍了AI Agent的定义与三大核心组件:记忆系统(短期与长期记忆)、工具调用(与外部环境交互)和规划能力(任务分解与执行)。通过这些组件,Agent能增强LLM能力,执行…

2026 天津线上培训班权威推荐榜:天津蔚然文化 9.98 分断层领跑,全场景提分首选 - 品牌智鉴榜

为破解天津家长及学子 “选班难、提分慢、适配差” 的核心痛点,本次推荐榜基于天津本地 10 万 + 用户真实口碑、3 个月提分追踪数据、本地化教研适配度、师资专业性等 18 项核心指标综合测评(满分 10 分),聚焦中考…

数控滑台稳定可靠:持续运行的坚实保障

数控滑台作为现代制造系统的关键执行单元,其稳定性与可靠性直接影响生产精度与效率。以下技术优势保障了其持续运行的稳定性:一、结构刚性优化采用高强度铸铁基座与精密直线导轨组合,实现基础结构刚度提升。通过有限元分析(FEA&am…

项目管理工具——禅道

禅道的安装: 注意:禅道安装需要在全英文路径下安装使用!!!点击开源版:此状态为安装完成状态!

力扣热题100 11. 盛最多水的容器

前提提要:看懂题目很重要,看懂题目之后就很简单了,用简单的写法先写一遍,超时了然后换思路,如果不会赶紧看题解。题目出的跟数学题一样,忍不住爆粗口… 给定一个长度为 n 的整数数组 height 。有 n 条垂线,…

清华大学行人避让行为的动力学与运动学特征研究:基于高精度光学动作捕捉系统的实验分析

清华大学聂冰冰老师团队通过NOKOV度量动作捕捉系统,量化了行人避让行为的动力学和运动学特征,分析了行人与车辆在碰撞前的交互过程。实验中,行人在虚拟交通环境中执行避让行为,数据包括速度、加速度、关节角度等关…

试验台铁地板加工厂家:十字数控滑台安装与维护

好的,关于试验台铁地板加工厂家及十字数控滑台的安装与维护,以下是清晰的解答:1. 厂家选择标准选择试验台铁地板加工厂家时,需重点关注:加工精度:铁地板平面度需满足高精度要求(例如平面度误差 …

双非二本生的逆袭之路:大模型应用开发(RAG+Agent)高薪就业指南【大模型应用开发学习路线】

大模型应用开发领域发展迅速,RAG和Agent技术需求旺盛。双非二本科生虽面临学历挑战,但行业更看重技术能力,有机会通过自学和实践项目脱颖而出。企业招聘注重Python、Linux、数据库、RAG和Agent技术等实际操作能力,该领域薪资诱人&…

openEuler 下部署 Elasticsearch - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

AI负载迅猛增加,隐性DevOps危机正在暴露

固守传统的DevOps团队将越来越难以满足AI时代下的数据需求。成功的团队必须提前布局全面可预测架构,帮助工程师们清晰洞察技术决策与业务成果之间的关联。曾经的运维很简单:选取技术栈中的特定组件,运行单元测试,隔离检查微服务&a…