Harness Engineering:Agent任务结果过滤
Harness Engineering:Agent任务结果过滤
1. 引入与连接:从「旅行规划12坑」看过滤技术的生死存亡
1.1 引人入胜的开场:一个普通程序员的「崩溃周末」
各位开发者朋友,大家好!我是阿远,一名正在探索多Agent协作开发的全栈工程师。
先给大家讲一个发生在我身上、绝对真实的「崩溃周末」故事:上周五晚上,我终于把攒了3个月年假的目的地定了——日本关西的「和歌山白浜+京都红叶小环线」,并且心血来潮想体验一把最近爆火的「大模型Agent智能旅行管家」,于是用LangChain搭了个3层的小多Agent系统:
- 需求拆解Agent:接收我模糊的输入(「白浜温泉看海、京都金阁寺清水寺拍红叶、不赶早班机、人均每天500人民币左右、尽量小众、9天8晚」),拆解成「交通方案、住宿方案、景点/餐厅方案、行程节奏方案」4个子任务;
- 子任务执行Agent集群:分别调用Google Flights、Booking、小红书、谷歌地图API、OpenAI GPT-4o mini生成对应内容;
- 方案整合Agent:把所有子结果拼起来,生成完整的Excel行程单。
周六早上9点,我兴奋地打开电脑看结果——整整12套「9天8晚关西小环线」方案,10套Excel都标红了错误!
- 子任务执行时的Google Flights返回的是「大阪关西国际机场→东京羽田」的往返票(需求明明说「关西小环线」!);
- Booking的推荐里有3家离白浜千畳敷超7公里的「市区商务酒店」,人均每晚居然680元人民币(人均每天500,温泉+红叶行程住市区商务?还超预算!);
- 小红书API爬取的餐厅推荐里,有1家「京都祇园的怀石料理鸟贵族?」(完全不对!鸟贵族是串烧!还有1家标注「网红打卡第一」的白浜海鲜市场旁边的居酒屋,去年12月就因为老板退休关门大吉了!);
- 方案整合时还把「金阁寺的参拜时间写反了」——应该是上午8点开门下午5点关门,它写成了「凌晨3点开放深夜12点闭馆」(拍鬼片吗?)。
我花了整整周六+周日两天两夜,才从这12套垃圾方案里筛出一套勉强能用的,还补了N多谷歌地图的查询、小红书的最新评论、Booking的实时库存——最后我的手都酸了,键盘上敲的不是文字,是对Agent过滤能力的「血泪控诉」!
1.2 与读者已有知识建立连接
如果你之前写过爬虫、用过传统的搜索结果过滤(比如百度/谷歌的广告过滤、电商平台的价格筛选)、或者接触过一点点大模型Agent开发,你肯定会有这样的疑问:
- 「爬虫的传统过滤(正则、xpath、关键词)不行吗?」——这次我的系统里确实加了关键词过滤(比如排除「东京」「凌晨」「怀石料理鸟贵族」),但GPT-4o mini生成的垃圾方案太「高级」了:比如推荐的「大阪关西→神户空港→白浜的新干线转巴士」方案,它标红了「总时长3小时15分钟」「神户空港离市区近」——但完全没提「人均单程新干线+巴士就要12000日元(约600人民币)」,还超了我模糊需求里的「小众」关键词变种「小众但不偏僻」!
- 「大模型自己不能做过滤吗?」——我也试过让整合Agent先过滤再整合:「你帮我检查一下这12套方案,把不符合要求的删掉,只留最好的2套」——结果它给我留了「东京+关西12天10晚人均每天1200人民币的方案」「凌晨3点金阁寺拍鬼片的方案」,完全没听懂我的要求!
- 「那这玩意儿到底该怎么解决?」——恭喜你,问到点子上了!这就是今天我们要聊的核心主题:Harness Engineering(「驾驭工程学」,目前国内还没有统一的译法,我更倾向于译为「Agent工程化过滤技术」或者更专业的「Agent任务结果质量保障与筛选体系」)中的「Agent任务结果过滤」模块。
1.3 学习价值与应用场景预览
学习价值
读完这篇文章,你将能够:
- 理解「Harness Engineering」是什么——它不是什么高大上的「玄学」,而是把传统软件工程的「质量保障(QA)」「测试」「CI/CD」「异常处理」等技术,应用到大模型Agent系统中的一门「新兴交叉学科」;
- 掌握「Agent任务结果过滤」的 全知识体系——从基础的「过滤定义」「过滤分类」,到连接层的「过滤模块与其他Agent模块的关系」,再到深度层的「过滤的底层逻辑」「数学模型」,最后到整合层的「跨学科视角」「未来趋势」;
- 学会 动手搭建 一套「实用的Agent任务结果过滤系统」——我会用Python、LangChain、OpenAI GPT-4o mini、Pydantic、Pytest给大家展示一套完整的代码,从「环境安装」「系统架构设计」「核心模块实现」「接口设计」到「最佳实践」「常见问题解决」,应有尽有;
- 避免「崩溃周末」这样的 坑——我会整理出「Agent任务结果过滤」的10个常见误区、20个最佳实践、5个行业经典案例,帮助大家在自己的项目中少走弯路。
应用场景预览
「Agent任务结果过滤」不是只适用于「旅行规划」这种「个人场景」,它的应用场景非常广泛,几乎覆盖了所有的「大模型Agent应用」:
- 企业级应用场景:
- 客服机器人:过滤掉「敏感词」「错误的产品信息」「不礼貌的回复」「重复的答案」;
- 代码生成Agent:过滤掉「有语法错误的代码」「有安全漏洞的代码」「不符合代码规范的代码」「不能运行的代码」;
- 数据分析Agent:过滤掉「缺失值过多的数据源」「异常值未处理的分析结果」「逻辑错误的结论」「不符合业务规则的图表」;
- 合同审查Agent:过滤掉「无效的条款」「对甲方不利的隐藏条款」「重复的条款」「违反法律法规的条款」;
- 个人应用场景:
- 写作助手Agent:过滤掉「抄袭的内容」「语法错误的句子」「逻辑混乱的段落」「不符合要求的字数/风格/格式」;
- 健康管理Agent:过滤掉「不权威的健康建议」「超剂量的用药推荐」「不符合个人健康状况的运动/饮食方案」;
- 购物助手Agent:过滤掉「假货」「过期商品」「价格虚高的商品」「不符合个人购物需求的商品」。
1.4 学习路径概览
为了符合「知识金字塔」的构建原则,我们的学习路径将由浅入深、层层递进、形象生动、注重实践:
- 基础层(直观理解):
- 什么是Harness Engineering?什么是Agent任务结果过滤?
- 用「超市购物篮筛选」「高考阅卷」「咖啡师选豆」这3个生活化的类比,直观理解过滤的本质;
- 关键术语的简明定义;
- 常见误解的澄清;
- 连接层(概念关系):
- Agent任务结果过滤的分类(按触发时机、按过滤方式、按过滤维度、按过滤主体);
- 过滤模块与其他Agent模块(需求拆解模块、任务规划模块、子任务执行模块、方案整合模块、用户反馈模块)的关系;
- 概念核心属性维度对比表;
- 概念联系的ER实体关系图、交互关系图;
- 深度层(原理机制):
- 过滤的底层逻辑(第一性原理:质量保障的本质是「验证-筛选-优化」);
- 过滤的数学模型(统计模型、规则模型、机器学习模型、大模型推理模型、混合模型);
- 过滤的核心算法(关键词匹配算法、正则表达式算法、TF-IDF算法、余弦相似度算法、Pydantic数据验证算法、RAG检索验证算法、大模型自我反思验证算法、多Agent协作验证算法);
- 过滤的边界条件与适用范围;
- 整合层(多维视角):
- 历史视角:从「传统搜索结果过滤」「传统爬虫过滤」「传统软件测试过滤」到「Agent任务结果过滤」的发展脉络;
- 实践视角:5个行业经典案例(OpenAI的代码解释器过滤、GitHub Copilot X的安全过滤、字节跳动的豆包客服过滤、美团的旅行规划过滤、蚂蚁集团的合同审查过滤);
- 批判视角:Agent任务结果过滤的局限性(大模型的幻觉问题、成本问题、延迟问题、偏见问题、隐私问题);
- 未来视角:Agent任务结果过滤的发展趋势(AGI级别的自我进化过滤、联邦学习式的隐私过滤、多模态式的多维度过滤、区块链式的不可篡改过滤);
- 实践转化层(动手搭建):
- 项目介绍:我们要搭一套「智能旅行规划Agent的结果过滤系统」;
- 环境安装:Python 3.11、LangChain 0.3.0、OpenAI API 1.51.0、Pydantic 2.8.2、Pytest 8.3.2、Pandas 2.2.2、Requests 2.32.3;
- 系统功能设计:6个核心功能(需求结构化验证过滤、子任务执行结果规则验证过滤、子任务执行结果大模型推理验证过滤、子任务执行结果RAG检索验证过滤、方案整合一致性验证过滤、用户反馈迭代优化过滤);
- 系统架构设计:分层架构(数据层、规则层、算法层、业务层、接口层);
- 系统接口设计:RESTful API接口;
- 系统核心实现源代码:每个模块的Python代码,都有详细的注释;
- 系统测试:单元测试、集成测试、端到端测试;
- 整合提升层(知识内化):
- 核心观点回顾与强化;
- 知识体系的重构与完善;
- 思考问题与拓展任务;
- 学习资源与进阶路径。
2. 概念地图:建立「Agent任务结果过滤」的整体认知框架
在正式进入「基础层」之前,我们先画一张「概念地图」,帮大家建立「Agent任务结果过滤」的整体认知框架——就像你去一个陌生的城市旅游,先拿一张「城市地图」,知道「东南西北」「主要景点」「交通枢纽」在哪里,玩起来才不会迷路。
2.1 核心概念与关键术语
为了避免大家「术语混淆」,我们先把这篇文章中涉及到的核心概念与关键术语做一个简明定义:
| 核心概念/关键术语 | 简明定义 | 英文(如有) |
|---|---|---|
| Harness Engineering | 把传统软件工程的「质量保障(QA)」「测试」「CI/CD」「异常处理」等技术,应用到大模型Agent系统中,以「保障Agent任务结果的质量、提高Agent系统的可靠性、降低Agent系统的使用成本」为目标的一门新兴交叉学科 | Harness Engineering(目前国内无统一译法,可译为「Agent工程化质量保障体系」) |
| 大模型Agent | 基于大语言模型(LLM)、大视觉模型(LVM)等「大模型」,具有「感知能力(Perception)」「推理能力(Reasoning)」「行动能力(Action)」「记忆能力(Memory)」「学习能力(Learning)」的「智能体」 | LLM Agent / Multi-Modal Agent |
| 多Agent协作系统 | 由多个「大模型Agent」组成,具有「分工协作」「信息共享」「协同决策」能力的「智能系统」 | Multi-Agent System (MAS) |
| Agent任务结果过滤 | 对「Agent任务执行过程中产生的中间结果」或「Agent任务执行完毕后产生的最终结果」进行「验证」「筛选」「优化」的过程,是Harness Engineering的「核心模块之一」 | Agent Task Result Filtering / Agent Output Quality Control |
| 验证(Validation) | 判断「Agent任务结果」是否符合「预设的需求」「预设的规则」「预设的标准」「预设的价值观」的过程 | Validation |
| 筛选(Selection) | 从「多个Agent任务结果」中,根据「预设的优先级」「预设的评分标准」,选出「最好的」或「符合要求的」结果的过程 | Selection |
| 优化(Optimization) | 对「不符合要求但可以修复的Agent任务结果」,进行「修改」「完善」「补充」的过程,使其符合要求 | Optimization |
| 触发时机(Trigger Timing) | Agent任务结果过滤「什么时候启动」的时间点 | Trigger Timing |
| 过滤方式(Filtering Method) | Agent任务结果过滤「用什么方法」进行验证、筛选、优化的技术手段 | Filtering Method |
| 过滤维度(Filtering Dimension) | Agent任务结果过滤「从哪些方面」进行验证、筛选、优化的角度 | Filtering Dimension |
| 过滤主体(Filtering Subject) | Agent任务结果过滤「由谁」来执行的实体(可以是「传统规则引擎」「机器学习模型」「大模型」「人类」「多Agent协作」) | Filtering Subject |
| Pydantic数据验证 | 基于Python的Pydantic库,对「结构化数据」进行「类型验证」「格式验证」「范围验证」「自定义规则验证」的技术 | Pydantic Data Validation |
| RAG检索验证 | 基于检索增强生成(RAG)技术,把「Agent任务结果」与「外部权威知识库」进行「对比」「匹配」,验证结果「真实性」「准确性」的技术 | RAG Retrieval Validation |
| 大模型自我反思验证 | 让大模型「自己检查自己生成的结果」,提出「问题」「修改建议」,然后「根据建议修改结果」的技术 | LLM Self-Reflection Validation / Chain-of-Thought (CoT) with Reflection |
| 多Agent协作验证 | 让多个「不同角色的大模型Agent」(比如「检查员Agent」「复核员Agent」「专家Agent」)「分别验证同一个结果」,然后「投票」或「协商」得出「最终验证结论」的技术 | Multi-Agent Collaborative Validation |
2.2 概念间的层次与关系
2.2.1 概念层次结构
「Agent任务结果过滤」的概念层次结构可以用**「倒金字塔」**来表示:
- 最顶层(目标层):保障Agent任务结果的「质量」;
- 第二层(核心动作层):验证、筛选、优化;
- 第三层(技术支撑层):按「触发时机」「过滤方式」「过滤维度」「过滤主体」分类的各种过滤技术;
- 最底层(基础设施层):大模型API、外部知识库API、规则引擎库、机器学习库、数据验证库、测试库等。
2.2.2 概念核心属性维度对比
为了帮助大家更清晰地理解「不同分类下的过滤技术」的「差异」,我们做了3张**「核心属性维度对比表」**:
表1:按「触发时机」分类的过滤技术对比
| 触发时机分类 | 定义 | 核心优势 | 核心劣势 | 适用场景 | 典型技术 |
|---|---|---|---|---|---|
| 前置过滤(Pre-Filtering) | 在「Agent任务执行之前」,对「输入的需求」「输入的数据源」「生成的任务规划」进行验证、筛选、优化的过程 | 1. 提前拦截「无效需求」「错误数据源」「不合理任务规划」,避免浪费后续计算资源; 2. 降低后续过滤的难度和复杂度 |
1. 可能会误删「有效但模糊的需求」「有用但有噪音的数据源」「有创意但有风险的任务规划」; 2. 对「模糊需求」的处理能力有限 |
1. 客服机器人的「敏感词前置过滤」; 2. 代码生成Agent的「需求明确性前置过滤」; 3. 数据分析Agent的「数据源质量前置过滤」 |
关键词匹配算法、正则表达式算法、Pydantic数据验证算法、大模型需求明确性验证算法 |
| 中置过滤(In-Filtering) | 在「Agent任务执行过程中」,对「每一步产生的中间结果」进行验证、筛选、优化的过程 | 1. 及时发现「中间结果的错误」,避免「错误积累」到最终结果; 2. 可以根据「中间结果的验证情况」,实时调整「任务规划」「子任务执行方式」; 3. 提高最终结果的质量和可靠性 |
1. 会增加「任务执行的时间」和「计算成本」; 2. 对「任务规划的实时调整能力」要求较高; 3. 如果验证规则太严格,可能会导致「任务执行中断」 |
1. 多Agent协作系统的「子任务执行结果实时验证」; 2. 代码生成Agent的「代码语法/安全漏洞实时验证」; 3. 写作助手Agent的「段落逻辑实时验证」 |
大模型自我反思验证算法、Pydantic数据验证算法、规则引擎实时验证算法、多Agent协作实时验证算法 |
| 后置过滤(Post-Filtering) | 在「Agent任务执行完毕后」,对「所有的最终结果」进行验证、筛选、优化的过程 | 1. 可以对「所有的最终结果」进行「全面的」「统一的」验证、筛选、优化; 2. 可以结合「用户的历史反馈」,对结果进行「个性化的」筛选、优化; 3. 技术实现相对简单,不需要实时调整任务规划 |
1. 可能会浪费「大量的计算资源」在「生成错误结果」上; 2. 任务执行的时间较长; 3. 如果错误积累太多,可能会导致「没有符合要求的最终结果」 |
1. 旅行规划Agent的「多方案最终筛选」; 2. 合同审查Agent的「多条款最终验证」; 3. 健康管理Agent的「多方案最终优化」 |
RAG检索验证算法、大模型推理验证算法、多Agent协作验证算法、个性化推荐筛选算法 |
表2:按「过滤方式」分类的过滤技术对比
| 过滤方式分类 | 定义 | 核心优势 | 核心劣势 | 适用场景 | 典型技术 |
|---|---|---|---|---|---|
| 规则过滤(Rule-Based Filtering) | 基于「人工预设的规则」(比如关键词、正则表达式、Pydantic自定义规则、业务规则)对「Agent任务结果」进行验证、筛选、优化的过程 | 1. 技术实现非常简单,开发成本低; 2. 规则明确,可解释性强; 3. 执行速度快,计算成本低; 4. 可以精确控制过滤的结果 |
1. 规则需要「人工预设」,无法覆盖「所有的情况」; 2. 对「模糊规则」「隐性规则」「复杂规则」的处理能力有限; 3. 规则需要「人工维护」,随着业务的发展,规则会越来越多,维护成本会越来越高; 4. 可能会误删「有效但不符合明确规则的结果」 |
1. 客服机器人的「敏感词过滤」; 2. 电商平台的「价格/销量/评分筛选」; 3. 代码生成Agent的「语法错误过滤」; 4. 旅行规划Agent的「预算/时间/地点筛选」 |
关键词匹配算法、正则表达式算法、Pydantic数据验证算法、Drools规则引擎、JBoss规则引擎 |
| 统计/机器学习过滤(Statistical/Machine Learning-Based Filtering) | 基于「统计模型」或「机器学习模型」(比如TF-IDF、余弦相似度、朴素贝叶斯、SVM、XGBoost、深度学习模型)对「Agent任务结果」进行验证、筛选、优化的过程 | 1. 可以从「大量的历史数据」中「学习」到「隐性规则」「复杂规则」; 2. 对「模糊结果」「相似结果」的处理能力较强; 3. 随着历史数据的增加,模型的性能会越来越好; 4. 维护成本相对较低(只需要定期更新模型) |
1. 需要「大量的标注历史数据」,数据标注成本高; 2. 模型的「可解释性」较差(尤其是深度学习模型); 3. 模型的「训练成本」和「推理成本」较高; 4. 可能会存在「偏见问题」(因为训练数据可能有偏见); 5. 对「新出现的情况」的处理能力有限(因为模型没有学习过相关数据) |
1. 搜索引擎的「搜索结果相关性排序」; 2. 垃圾邮件过滤; 3. 客服机器人的「意图识别结果验证」; 4. 写作助手Agent的「抄袭检测」 |
TF-IDF算法、余弦相似度算法、朴素贝叶斯算法、SVM算法、XGBoost算法、BERT-based分类模型、GPT-2-based生成式检测模型 |
| 大模型推理过滤(LLM Reasoning-Based Filtering) | 基于「大语言模型」或「大视觉模型」的「推理能力」「理解能力」「生成能力」对「Agent任务结果」进行验证、筛选、优化的过程 | 1. 对「模糊规则」「隐性规则」「复杂规则」「自然语言规则」的处理能力非常强; 2. 不需要「大量的标注历史数据」(只需要「提示词工程」); 3. 可以处理「多模态结果」(比如文本、图像、音频、视频); 4. 可以「自我反思」「自我优化」结果; 5. 对「新出现的情况」的处理能力较强(因为大模型有「通用知识」) |
1. 大模型的「推理成本」和「延迟」较高; 2. 大模型可能会存在「幻觉问题」(生成错误的验证结论); 3. 大模型的「可解释性」较差(虽然可以通过「Chain-of-Thought」提示词提高可解释性,但仍然不如规则过滤); 4. 大模型可能会存在「偏见问题」(因为大模型的训练数据可能有偏见); 5. 大模型的「安全性」和「隐私性」需要特别注意(因为大模型可能会泄露敏感信息) |
1. 合同审查Agent的「条款有效性/公平性验证」; 2. 健康管理Agent的「健康建议权威性验证」; 3. 旅行规划Agent的「行程合理性验证」; 4. 写作助手Agent的「内容质量/风格验证」; 5. 多Agent协作系统的「最终协商决策验证」 |
大模型自我反思验证算法(Chain-of-Thought with Reflection)、多Agent协作验证算法、提示词工程(Few-Shot Prompting、Zero-Shot Prompting、Chain-of-Thought Prompting) |
| 混合过滤(Hybrid Filtering) | 同时使用「规则过滤」「统计/机器学习过滤」「大模型推理过滤」中的「两种或两种以上」的技术对「Agent任务结果」进行验证、筛选、优化的过程 | 1. 可以「扬长避短」,结合不同过滤技术的优势; 2. 可以覆盖「几乎所有的情况」; 3. 可以「平衡」过滤的「质量」「速度」「成本」「可解释性」; 4. 是目前「最主流」「最实用」的过滤方式 |
1. 技术实现相对复杂,开发成本较高; 2. 需要「协调」不同过滤技术的「触发顺序」「权重分配」「输出格式」; 3. 维护成本相对较高(需要同时维护规则、模型、提示词) |
1. 几乎所有的「高质量Agent应用」; 2. OpenAI的代码解释器过滤; 3. GitHub Copilot X的安全过滤; 4. 字节跳动的豆包客服过滤; 5. 美团的旅行规划过滤 |
规则过滤(前置,快速拦截明确错误)→ 统计/机器学习过滤(中置,快速筛选相似结果)→ 大模型推理过滤(后置,深度验证复杂结果)→ 混合优化(根据所有过滤结果,优化最终输出) |
表3:按「过滤维度」分类的过滤技术对比
| 过滤维度分类 | 定义 | 具体过滤内容 | 适用场景 | 典型技术 |
|---|---|---|---|---|
| 真实性过滤(Authenticity Filtering) | 验证「Agent任务结果」是否「真实存在」「符合事实」的过程 | 1. 验证实体的真实性(比如「京都祇园的鸟贵族怀石料理」是否真实存在); 2. 验证数据的真实性(比如「人均单程新干线+巴士12000日元」是否符合事实); 3. 验证事件的真实性(比如「白浜居酒屋去年12月老板退休关门」是否真实) |
1. 旅行规划Agent; 2. 健康管理Agent; 3. 新闻生成Agent; 4. 合同审查Agent |
RAG检索验证算法、外部权威API验证算法(比如Google Knowledge Graph API、Booking实时库存API、FDA药品验证API)、大模型推理验证算法(结合RAG) |
| 准确性过滤(Accuracy Filtering) | 验证「Agent任务结果」是否「精确」「符合要求的精度」的过程 | 1. 验证数值的准确性(比如「人均每天500人民币左右」是否精确到±10%); 2. 验证时间的准确性(比如「金阁寺上午8点开门下午5点关门」是否准确); 3. 验证地点的准确性(比如「酒店离白浜千畳敷超5公里」是否准确); 4. 验证语法的准确性(比如「代码是否有语法错误」「句子是否有语法错误」) |
1. 代码生成Agent; 2. 数据分析Agent; 3. 旅行规划Agent; 4. 写作助手Agent |
Pydantic数据验证算法、规则过滤算法、外部权威API验证算法(比如Google Maps Distance Matrix API、Pylint代码规范验证API)、大模型推理验证算法 |
| 相关性过滤(Relevance Filtering) | 验证「Agent任务结果」是否「与输入的需求相关」的过程 | 1. 验证内容的相关性(比如「东京羽田的往返票」是否与「关西小环线」的需求相关); 2. 验证格式的相关性(比如「Excel行程单」是否与「要求输出Excel」的需求相关); 3. 验证风格的相关性(比如「学术论文风格的旅行规划」是否与「口语化攻略风格」的需求相关) |
1. 几乎所有的「Agent应用」; 2. 搜索引擎; 3. 客服机器人; 4. 写作助手Agent |
关键词匹配算法、TF-IDF算法、余弦相似度算法、BERT-based相关性分类模型、大模型推理验证算法 |
| 安全性过滤(Safety Filtering) | 验证「Agent任务结果」是否「符合法律法规」「符合伦理道德」「符合安全标准」「不泄露敏感信息」的过程 | 1. 验证敏感词的安全性(比如「暴力」「色情」「政治敏感」的词是否存在); 2. 验证安全漏洞的安全性(比如「代码是否有SQL注入、XSS攻击的漏洞」); 3. 验证敏感信息的安全性(比如「是否泄露了用户的身份证号、银行卡号、手机号」); 4. 验证伦理道德的安全性(比如「是否推荐了不道德的行为」「是否有偏见」) |
1. 几乎所有的「Agent应用」; 2. 代码生成Agent; 3. 客服机器人; 4. 健康管理Agent; 5. 合同审查Agent |
关键词匹配算法、正则表达式算法、外部安全API验证算法(比如OpenAI Moderation API、GitHub Code Scanning API、阿里内容安全API)、Pydantic数据验证算法(敏感信息脱敏)、大模型推理验证算法 |
| 一致性过滤(Consistency Filtering) | 验证「Agent任务结果的内部」或「Agent任务结果与外部信息」是否「一致」「没有矛盾」的过程 | 1. 验证内部一致性(比如「行程单中的第一天是10月20日,第二天是10月21日」是否一致;「第一天的酒店在白浜,第二天的景点在金阁寺,中间是否有交通」是否一致); 2. 验证外部一致性(比如「行程单中的金阁寺参拜时间与谷歌地图的信息是否一致」) |
1. 多Agent协作系统; 2. 旅行规划Agent; 3. 合同审查Agent; 4. 写作助手Agent |
Pydantic数据验证算法、规则过滤算法、RAG检索验证算法、大模型推理验证算法、多Agent协作验证算法 |
| 个性化过滤(Personalization Filtering) | 根据「用户的历史行为」「用户的偏好」「用户的上下文」对「Agent任务结果」进行「个性化的」验证、筛选、优化的过程 | 1. 验证用户偏好的一致性(比如「用户之前喜欢小众温泉,是否推荐了大众温泉」); 2. 筛选用户喜欢的结果(比如「用户之前喜欢人均每天400-500人民币的预算,是否优先推荐这个预算范围内的方案」); 3. 优化用户喜欢的风格(比如「用户之前喜欢口语化的攻略,是否把结果优化成口语化的风格」) |
1. 购物助手Agent; 2. 旅行规划Agent; 3. 音乐推荐Agent; 4. 视频推荐Agent |
协同过滤算法、内容推荐算法、深度学习推荐算法、大模型推理验证算法(结合用户的历史记忆) |
2.3 学科定位与边界
2.3.1 学科定位
「Agent任务结果过滤」是**「Harness Engineering」的核心模块之一**,而「Harness Engineering」又是**「软件工程」与「大模型应用开发」的交叉学科**——它既继承了传统软件工程的「质量保障」「测试」「CI/CD」「异常处理」等核心思想,又结合了大模型应用开发的「提示词工程」「RAG技术」「多Agent协作」「自我反思」等新兴技术。
2.3.2 学科边界
为了避免大家「学科混淆」,我们明确一下「Agent任务结果过滤」的学科边界:
- 与「传统搜索结果过滤」的区别:
- 传统搜索结果过滤的「输入」是「搜索引擎返回的网页/文档列表」,「输出」是「筛选后的网页/文档列表」;
- Agent任务结果过滤的「输入」是「Agent生成的中间结果/最终结果」(可以是文本、图像、音频、视频、代码、结构化数据等多种格式),「输出」是「验证、筛选、优化后的结果」;
- 传统搜索结果过滤的「核心目标」是「提高搜索结果的相关性」;
- Agent任务结果过滤的「核心目标」是「保障Agent任务结果的质量(真实性、准确性、相关性、安全性、一致性、个性化等多个维度)」;
- 与「传统爬虫过滤」的区别:
- 传统爬虫过滤的「输入」是「爬取到的原始网页/文档数据」,「输出」是「清洗后的结构化/半结构化数据」;
- Agent任务结果过滤的「输入」是「Agent生成的中间结果/最终结果」;
- 传统爬虫过滤的「核心目标」是「提高爬取数据的质量(去除噪音、去除重复、格式统一等)」;
- Agent任务结果过滤的「核心目标」是「保障Agent任务结果的质量(多个维度)」;
- 与「传统软件测试过滤」的区别:
- 传统软件测试过滤的「输入」是「软件的代码/功能/性能」,「输出」是「测试报告(bug列表、性能指标等)」;
- Agent任务结果过滤的「输入」是「Agent生成的中间结果/最终结果」;
- 传统软件测试过滤的「核心目标」是「发现软件的bug、提高软件的质量(功能质量、性能质量、可靠性质量等)」;
- Agent任务结果过滤的「核心目标」是「保障Agent任务结果的质量(多个维度)」;
- 传统软件测试过滤的「测试用例」是「人工预设的固定用例」;
- Agent任务结果过滤的「测试用例」可以是「人工预设的固定用例」,也可以是「大模型生成的动态用例」,还可以是「用户的历史反馈用例」;
- 与「大模型自我反思」的区别:
- 大模型自我反思是「Agent任务结果过滤」的「一种过滤方式」(属于「大模型推理过滤」);
- Agent任务结果过滤还可以使用「规则过滤」「统计/机器学习过滤」「混合过滤」等其他过滤方式;
- 大模型自我反思的「核心动作」是「验证-反思-优化」;
- Agent任务结果过滤的「核心动作」是「验证-筛选-优化」(不仅可以优化结果,还可以筛选掉无法优化的结果)。
2.4 概念联系的ER实体关系图与交互关系图
为了帮助大家更清晰地理解「Agent任务结果过滤」的概念联系,我们画了2张Mermaid架构图:
2.4.1 ER实体关系图(Entity-Relationship Diagram)
ER实体关系图主要展示「Agent任务结果过滤」涉及到的核心实体以及实体之间的关系:
2.4.2 交互关系图(Interaction Diagram)
交互关系图主要展示「Agent任务结果过滤」涉及到的核心实体之间的交互流程:
更多推荐




所有评论(0)