首页 文章 精选 留言 我的

精选列表

搜索[视觉驱动],共10000篇文章
优秀的个人博客,低调大师

《大模型驱动软件测试》第一章读书笔记

**基于知识库、LLM和智能体祝贺框架提供AI测试框架** ![](https://developer.qcloudimg.com/http-save/yehe-6517667/f035b8fd1cf40fea4e59432e554d7257.png) 图书P007页 **TestPilot基于LLM生成测试的原理示意** ![](https://developer.qcloudimg.com/http-save/yehe-6517667/f9735f61cad6c9a680e86544b2a9eeea.png) 图书P008页 **以智能体为核心的全栈智能测试框架** ![](https://developer.qcloudimg.com/http-save/yehe-6517667/aeda74ea51f59ef981bc2fadd50889b9.png) 图书P009页 关于数据层的介绍见附录 **LLM在软件工程中各阶段提效数据** ![](https://developer.qcloudimg.com/http-save/yehe-6517667/9e84a0a6878a2f37c68bb9a7ef918bc0.png) 图书P010页 **附录** **1.Elasticsearch** Elasticsearch是一个开源的分布式搜索和分析引擎,擅长高速处理文本搜索、日志分析和AI数据检索等大规模数据场景,是Elastic Stack的核心组件。 它主要有以下三大能力: - **全文搜索与分析引擎**:核心基于**倒排索引**技术,能对海量文本进行快速检索和相关性评分(如BM25算法)。它还能进行实时聚合分析(如统计、分组),在日志监控和业务指标分析场景中很高效。 - **AI时代的向量数据库**:天然支持**向量字段**和**混合搜索**,可将文本、图片转化为向量进行语义匹配,能很好地支撑检索增强生成(RAG)应用,为AI模型提供私有数据上下文。 - **天生分布式架构**:数据自动**分片(Shard)** 存储并创建**副本(Replica)**,确保集群高可用、易扩展。通过RESTful API操作,学习门槛低,且支持PB级数据量。 这些能力使其能应用于多种场景: - **应用与网站搜索**:为电商、内容平台提供高相关性的精准或模糊搜索。 - **日志与安全分析**:作为著名的**ELK**技术栈(Elasticsearch + Logstash + Kibana)核心,集中分析系统日志、排查故障、检测安全威胁。 - **AI应用开发**:作为向量数据库存储AI嵌入数据,构建RAG应用或推荐系统。 注:Elasticsearch基于Apache Lucene构建,经历开源协议变更后,目前从8.13版本起重新采用AGPL v3开源许可。 **快速入门指引** 如果你正准备上手,可以从这两步开始: 1. **本地环境搭建**:从官网下载安装包,解压后修改config/elasticsearch.yml配置文件(主要是cluster.name和node.name),然后运行./bin/elasticsearch启动节点。访问http://localhost:9200看到JSON响应即表示成功。 1. **核心概念认知**:理解几个关键概念有助于你快速上手: - **索引(Index)**:相当于数据库中的“表”,是文档的集合。 - **文档(Document)**:JSON格式的数据单元,相当于“行记录”。 - **节点(Node)**:一个运行中的Elasticsearch实例,不同角色(主、数据、协调等)分工不同。 2.Redis 简单来说,Redis 就像一个**极速的“万能工具箱”**,数据都在内存里,因此速度飞快。它最擅长的不是复杂搜索,而是高速缓存和处理特定结构的数据。 **核心定位:极速内存数据库** Redis 是一款开源的、基于内存的 NoSQL 数据库,常被用作缓存、消息队列和实时数据处理引擎。它的核心能力如下: - **极致速度**:所有数据都在内存中操作,读写延迟通常在**微秒(百万分之一秒)**级别,单实例每秒能处理超过**10万次**读写操作。官方测试中,其读写性能分别可达 81000/s 和 110000/s。 - **丰富的数据结构**:与简单的 Key-Value 存储不同,Redis 支持多种强大结构,让开发非常灵活。 - **字符串 (String)**:缓存文本、数字、Session 令牌。 - **哈希 (Hash)**:存储对象,如用户信息、商品详情("字段-值"对的集合)。 - **列表(List)**:有序队列,用于消息队列、最新动态列表。 - **集合(Set)**:无序不重复集合,用于标签、统计独立访客。 - **有序集合(Sorted Set)**:按分数排序的集合,是**排行榜、优先队列**的不二之选。 - **进阶类型**:还支持用于消息流的 **Streams**、原生 **JSON** 文档,甚至用于 AI 相似性搜索的 **向量 (Vector)** 类型。 **典型应用场景** 基于这些特性,Redis 在以下场景中几乎是标配: - **缓存 (Cache)**:作为关系型数据库(如 MySQL)前的"挡箭牌",缓存热点数据,极大地提升系统响应速度。 - **会话存储 (Session Storage)**:在分布式系统中,统一存储用户登录状态,实现多台服务器间的会话共享。 - **排行榜/计数器 (Leaderboards/Counters)**:利用其原子操作,轻松实现实时更新的游戏排行榜、文章点赞数。 - **消息队列与发布/订阅 (Message Queue & Pub/Sub)**:作为轻量级的消息中间件,处理异步任务(如发邮件)或实现实时通知。 - **AI 应用与向量搜索**:作为 AI 应用的内存数据层,存储和检索向量嵌入,支撑**检索增强生成(RAG)**、语义缓存等,是新一代 AI 应用的关键组件 **快速入门小贴士** - **环境搭建:从** Redis 官网 下载安装包(Linux/macOS),解压后使用 make 编译,然后运行 src/redis-server 启动服务。用 src/redis-cli 客户端连接即可操作。 - **核心概念**:Redis 以 **Key-Value** 形式存储,Key 是字符串,Value 可以是上述多种数据结构。没有"表"的概念,数据模型非常灵活。 **3)MongoDB** MongoDB 是一个**通用的文档型数据库**,可以看作是现代应用中传统关系型数据库(如 MySQL)的一个灵活替代品。和你之前问的 Redis、Elasticsearch 相比,它的定位是**核心业务数据的存储与处理**。 **核心定位:灵活的通用数据库** MongoDB 的核心能力可以用三个关键词概括: - **文档模型,开发灵活**:它将数据存储为类似 JSON 的文档(BSON格式),结构自由,可以嵌套。这种模型能很自然地映射到编程语言中的对象,减少了复杂的数据转换工作。比如一个用户及其地址、爱好可以存在一起: ``` { "name":"张三", "address":{"city":"上海","street":"南京路"}, "hobbies":["阅读","编程"] } ``` 这种灵活性意味着可以随时增减字段,非常适合需求频繁变化的敏捷开发。 - **功能完备,场景通用**:它不仅是一个简单的存储,还提供了现代应用所需的丰富功能。 - **事务支持**:支持多文档的 ACID(原子性、一致性、隔离性、持久性)事务,保证了数据的一致性。 - **丰富查询**:内置强大的查询API,支持地理空间、文本搜索,甚至在云服务中集成了向量搜索,可用于AI应用。 - **高性能**:通过索引和嵌入数据模型,提供了高性能的数据读写能力。 - **水平扩展,高可用**:MongoDB 原生支持水平扩展。 - **分片 (Sharding)**:能将数据自动分布到多台机器上,支撑海量数据和高吞吐量。 - **副本集 (Replica Set)**:提供自动故障转移和数据冗余,保证了服务的高可用性。 **典型应用场景** 由于它兼顾了灵活性与功能性,MongoDB 的应用场景非常广泛: - **内容管理 (CMS) 与电商**:存储文章、商品、订单等半结构化数据,嵌套文档能很好地对现实中的复杂关系建模,减少关联查询,提升性能。 - **物联网 (IoT) 数据**:面对海量、格式多变的设备数据,MongoDB 的动态 Schema 和分片集群能轻松应对。 - **游戏与敏捷创业**:玩家属性、道具等数据结构差异大且常变化,MongoDB 的灵活性可快速迭代。许多从0到1的创业项目也会用它来降低前期架构成本。 **4)BOS** 百度智能云对象存储 (Baidu Object Storage)‌:这是一款稳定、安全、高效、高可拓展的云存储服务,支持标准、低频、冷和归档存储等多种存储类型,满足多场景的存储需求。 ‌核心功能‌:用户可以将任意数量和形式的非结构化数据存入 BOS,并对数据进行管理和处理,提供静态资源的存储和分发能力。 ‌计费模式‌:属于后付费业务,新用户首次使用时需要完成实名认证并开通服务,未使用前不会进行任何计费。‌‌‌

优秀的个人博客,低调大师

CrewAI 角色驱动:我给 AI 分配了 3 个角色,效果惊人

# 第13章 评估与评测:如何衡量Agent的好坏 前面十二章我们完成了AI Agent**底层原理、工具开发、交互可视化、四大垂直场景实战项目**的全流程落地。很多开发者会遇到一个核心问题:**Agent功能能跑,但如何证明它跑得好、跑得稳、跑得高效?** 大模型与Agent开发区别于传统软件最大的痛点:**无明确编译报错、无固定输出结果、效果不可量化、迭代无法对标**。传统单元测试无法适配AI智能体,仅凭人工主观判断,会导致上线风险高、迭代盲目、版本退化无法感知。 本章聚焦**Agent工程化最后一道关卡——标准化评测体系**,从零搭建工业级评估方案:从核心指标定义、自动化评测框架、LLM智能打分、回归测试集搭建,到人工审核规范,同时区分**客户端本地轻量评测**与**云端规模化持续评测**,所有代码极简可运行、附带原理图例、官方溯源,可直接接入项目CI/CD流水线。![13.png](https://developer.qcloudimg.com/http-save/yehe-7806860/d0e53e123c82feb3f43dc7d28ad3dbb8.png) ## 13\.1 评估指标体系:准确性、鲁棒性与效率 想要科学衡量Agent好坏,首先要建立**可量化、可落地、可对比**的指标体系。业界通用Agent评测三大核心维度:**准确性(效果好不好)、鲁棒性(稳不稳定)、效率(成本高不高)**,覆盖研发、测试、上线、运维全生命周期。 ### 13\.1\.1 准确性指标:任务效果核心标尺 用于衡量Agent推理、工具调用、任务执行的正确性,是最核心的业务指标,分为步骤级与任务级两层评估标准: - **任务完成率**:完整达成用户最终诉求的任务占比,核心业务指标; - **工具调用准确率**:是否正确选择工具、参数是否合规、调用逻辑是否合理; - **回答事实准确率**:无幻觉、无错误信息、结论贴合真实数据与业务规则; - **步骤合规率**:复杂任务多步骤执行逻辑是否符合预期流程。 ### 13\.1\.2 鲁棒性指标:上线稳定性保障 鲁棒性决定Agent能否应对**异常输入、模糊提问、对抗干扰、长时间运行**,是生产环境可用性的关键,直接规避线上事故: - **异常容错率**:乱码、空输入、歧义提问、超长文本的处理能力,不崩溃、不瞎答; - **对抗抗干扰性**:面对诱导提问、越权请求、恶意试探的拦截能力; - **上下文稳定性**:多轮对话中不遗忘信息、不前后矛盾、逻辑一致; - **长时间运行稳定性**:长任务、多轮迭代无内存泄漏、逻辑漂移。 ### 13\.1\.3 效率指标:规模化落地成本关键 效果再好的Agent,效率过低、成本过高也无法规模化上线,效率指标兼顾体验与成本: - **首Token时延\(TTFT\)**:用户感知最直观的体验指标,决定交互流畅度; - **整体推理延迟**:单任务完整执行耗时,包含思考、工具调用、结果生成全链路; - **Token消耗成本**:输入输出Token总量,直接关联API计费成本; - **资源利用率**:CPU/内存占用、并发承载能力,适配云端高并发场景。 ### 13\.1\.4 双端指标适配差异 - **客户端Agent**:优先保障鲁棒性与本地响应速度,弱化高并发效率指标,适配单机离线场景; - **云端Agent**:全指标严格考核,重点监控并发效率、成本消耗、长期稳定性,适配规模化商用。 ## 13\.2 自动化评测框架:Ragas 与 TruLens 实战 人工评测效率极低、主观偏差大、无法持续回归。工业级Agent开发必须依托**专业自动化评测框架**。目前业界两大主流开源方案:**Ragas**轻量化快速评测、**TruLens**全链路可观测评测,分别适配本地调试与云端生产环境。 ### 13\.2\.1 两大框架选型对比 |框架|核心优势|适配场景|端侧适配| |---|---|---|---| |Ragas|轻量易用、开箱即用、指标丰富、部署零成本|快速迭代评测、版本对比、回归测试|客户端首选| |TruLens|全链路追踪、可视化溯源、支持Agent链路评测|生产环境监控、问题定位、持续评测|云端首选| **官方溯源**:[Ragas 官方文档](https://ragas.io/)、[TruLens 官方文档](https://www.trulens.org/) ### 13\.2\.2 Ragas 客户端轻量化评测实战 几行代码快速实现RAG与Agent自动打分,适配本地版本迭代、快速效果验证。 ```python # 安装依赖:pip install ragas openai from ragas import evaluate from ragas.metrics import faithfulness, answer_relevancy from datasets import Dataset # 构造Agent问答样本 sample_data = { "question": ["AI Agent的核心组成是什么?"], "answer": ["AI Agent包含大模型底座、记忆系统、工具调用、规划推理四大核心模块。"], "contexts": [["记忆、规划、工具、大模型是Agent基础核心能力"]] } # 构建评测数据集 dataset = Dataset.from_dict(sample_data) # 自动化评测 result = evaluate( dataset=dataset, metrics=[faithfulness, answer_relevancy] ) print("Ragas自动评测结果:") print(result) ``` ### 13\.2\.3 TruLens 云端全链路评测实战 适配云端Agent,支持追踪Agent思考、工具调用、检索链路,精准定位低分问题节点。 ```python # 安装依赖:pip install trulens-eval from trulens_eval import Tru, TruBasicApp from langchain_openai import ChatOpenAI tru = Tru() llm = ChatOpenAI(model="gpt-3.5-turbo") # 封装可追踪的Agent应用 def agent_qa(query: str) -> str: return llm.invoke(query).content # 开启全链路观测 tru_app = TruBasicApp(agent_qa) # 评测调用 with tru_app as recording: res = agent_qa("简述Agent鲁棒性的定义") # 自动生成可视化评测报告 tru.run_dashboard() ``` ## 13\.3 基于 LLM 的评估:用 GPT\-5 给 Agent 打分 传统固定指标评测存在局限性,无法评估**话术流畅度、逻辑合理性、业务贴合度、共情能力**等软性体验指标。当前工业界主流方案:**以大模型评测大模型**,使用更强的基座模型(GPT\-5)作为评测裁判,实现全方位、拟人化、精细化打分。 ### 13\.3\.1 LLM评测核心优势 - 突破传统规则限制,理解语义、逻辑、语境与业务场景; - 统一打分标准,规避人工主观偏差,支持批量自动化评测; - 可输出具体扣分原因、优化建议,不仅打分、还能指导迭代。 ### 13\.3\.2 标准化LLM打分Prompt范式 固定打分维度与评分规则,保证每次评测口径一致,支持版本横向对比。 ```python from openai import OpenAI client = OpenAI() # 标准化评测Prompt EVAL_PROMPT = """ 你是专业的AI Agent评测裁判,基于以下5个维度对Agent回答打分(满分10分): 1. 准确性:信息无错误、无幻觉(2分) 2. 逻辑性:推理连贯、步骤清晰(2分) 3. 完整性:覆盖用户问题全部诉求(2分) 4. 鲁棒性:应对提问合理、无错乱应答(2分) 5. 实用性:答案可落地、贴合业务场景(2分) 用户问题:{query} Agent回答:{response} 输出格式:总分、各维度得分、扣分原因、优化建议 """ def llm_agent_score(query: str, response: str) -> str: res = client.chat.completions.create( model="gpt-5", messages=[{"role": "user", "content": EVAL_PROMPT.format(query=query, response=response)}] ) return res.choices[0].message.content # 测试打分 if __name__ == "__main__": score_res = llm_agent_score("如何排查Agent工具调用失败问题?", "检查网络和密钥即可。") print("GPT-5评测打分结果:\n", score_res) ``` ### 13\.3\.3 双端评测策略差异 - **客户端**:低频单次评测,用于本地功能验证、单样本效果校验; - **云端**:批量定时评测、版本对比评测、全量用例回归评测,自动生成版本质量报告。 ## 13\.4 构建黄金测试集:回归测试与持续集成 自动化评测的基石是**黄金测试集(Golden Dataset)**。没有标准测试集,每次迭代效果好坏全凭感觉。黄金测试集是经过人工校验、标准答案确定、覆盖核心场景的基准用例,用于每次版本迭代的回归测试,杜绝模型退化、功能降级。 ### 13\.4\.1 黄金测试集构建规范 企业级Agent测试集必须覆盖四类核心用例: - **正向标准用例**:常规标准提问,验证基础能力准确性; - **边界极限用例**:超长文本、极简提问、模糊语义、多轮复杂推理; - **异常对抗用例**:乱码、诱导、越权、恶意提问,验证鲁棒性; - **业务核心用例**:贴合项目真实业务高频场景,保障核心功能稳定。 ### 13\.4\.2 轻量化黄金测试集\+回归测试代码 ```python import json # 本地黄金测试集(云端存入数据库持续迭代) GOLDEN_TEST_SET = [ { "query": "简述AI Agent的规划能力作用", "standard_score": 9.0, "scene_type": "标准业务用例" }, { "query": "@@@@测试乱码提问123!@#", "standard_score": 8.5, "scene_type": "异常鲁棒性用例" } ] def regression_test(agent_func, eval_func): """批量回归测试,对比版本得分差异""" report = [] for case in GOLDEN_TEST_SET: res = agent_func(case["query"]) score = eval_func(case["query"], res) report.append({"case": case, "current_score": score}) return report ``` ### 13\.4\.3 CI/CD持续集成评测流程 云端生产级流程:代码提交触发CI流水线 → 自动执行黄金测试集回归 → 批量LLM打分 → 对比历史版本分数 → 分数下降则阻断合并、触发告警 → 输出版本质量报告。真正实现**每次迭代必评测、每次更新必回归**。 ## 13\.5 人工评估流程:众包标注与专家审核规范 自动化评测无法覆盖所有软性体验、复杂业务场景,**自动化评测\+人工审核**才是完整闭环。业界通用方案:众包批量初评\+专家终审校验,兼顾评测效率与结果准确性,同时持续沉淀优质评测数据反向优化自动打分模型。 ### 13\.5\.1 三级人工评估流程规范 标准化企业级审核链路,规避主观随意打分: 1. **众包批量初评**:基于统一打分维度,批量标注日常样本、覆盖海量场景; 2. **算法异常筛选**:自动筛选人机打分差异大、低分、争议样本; 3. **技术专家终审**:核心业务样本、异常样本人工复核,确定最终分数与优化方向。 ### 13\.5\.2 人工评估统一打分维度 统一对齐自动化LLM评测维度,保证人机评测口径一致:准确性、逻辑性、完整性、鲁棒性、实用性,每项0\-2分,总分10分,同时必填扣分说明与优化建议。 ### 13\.5\.3 双端人工评估适配 - **客户端**:开发者单人人工抽检,用于个人项目迭代验证; - **云端**:团队标准化众包\+专家审核,形成评测SOP,沉淀企业级评测数据集,持续优化Agent效果。 ## 本章小结 本章完整落地了**AI Agent工业级评测体系**,补齐Agent开发最后一块工程化短板,彻底解决「效果无法量化、迭代无法对标、上线无法兜底」的行业痛点,核心知识点汇总: - 搭建三维核心指标体系,从准确性、鲁棒性、效率全方位量化Agent能力; - 实战Ragas、TruLens双评测框架,区分客户端轻量评测与云端全链路观测; - 落地GPT\-5大模型自动打分方案,实现精细化、拟人化、可迭代的智能评测; - 构建黄金测试集与CI/CD回归体系,保障版本迭代不退化、效果可对标; - 标准化众包\+专家人工审核流程,形成「自动评测\+人工校验」的完整评测闭环。 至此,AI Agent**原理、开发、实战、交互、评测**全链路技术体系全部闭环,具备从0到1开发、落地、上线、迭代工业级Agent产品的完整能力。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册