Harness Engineering:Agent任务结果过滤


1. 引入与连接:从「旅行规划12坑」看过滤技术的生死存亡

1.1 引人入胜的开场:一个普通程序员的「崩溃周末」

各位开发者朋友,大家好!我是阿远,一名正在探索多Agent协作开发的全栈工程师。

先给大家讲一个发生在我身上、绝对真实的「崩溃周末」故事:上周五晚上,我终于把攒了3个月年假的目的地定了——日本关西的「和歌山白浜+京都红叶小环线」,并且心血来潮想体验一把最近爆火的「大模型Agent智能旅行管家」,于是用LangChain搭了个3层的小多Agent系统:

  1. 需求拆解Agent:接收我模糊的输入(「白浜温泉看海、京都金阁寺清水寺拍红叶、不赶早班机、人均每天500人民币左右、尽量小众、9天8晚」),拆解成「交通方案、住宿方案、景点/餐厅方案、行程节奏方案」4个子任务;
  2. 子任务执行Agent集群:分别调用Google Flights、Booking、小红书、谷歌地图API、OpenAI GPT-4o mini生成对应内容;
  3. 方案整合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开发,你肯定会有这样的疑问:

  1. 「爬虫的传统过滤(正则、xpath、关键词)不行吗?」——这次我的系统里确实加了关键词过滤(比如排除「东京」「凌晨」「怀石料理鸟贵族」),但GPT-4o mini生成的垃圾方案太「高级」了:比如推荐的「大阪关西→神户空港→白浜的新干线转巴士」方案,它标红了「总时长3小时15分钟」「神户空港离市区近」——但完全没提「人均单程新干线+巴士就要12000日元(约600人民币)」,还超了我模糊需求里的「小众」关键词变种「小众但不偏僻」!
  2. 「大模型自己不能做过滤吗?」——我也试过让整合Agent先过滤再整合:「你帮我检查一下这12套方案,把不符合要求的删掉,只留最好的2套」——结果它给我留了「东京+关西12天10晚人均每天1200人民币的方案」「凌晨3点金阁寺拍鬼片的方案」,完全没听懂我的要求!
  3. 「那这玩意儿到底该怎么解决?」——恭喜你,问到点子上了!这就是今天我们要聊的核心主题:Harness Engineering(「驾驭工程学」,目前国内还没有统一的译法,我更倾向于译为「Agent工程化过滤技术」或者更专业的「Agent任务结果质量保障与筛选体系」)中的「Agent任务结果过滤」模块

1.3 学习价值与应用场景预览

学习价值

读完这篇文章,你将能够:

  1. 理解「Harness Engineering」是什么——它不是什么高大上的「玄学」,而是把传统软件工程的「质量保障(QA)」「测试」「CI/CD」「异常处理」等技术,应用到大模型Agent系统中的一门「新兴交叉学科」;
  2. 掌握「Agent任务结果过滤」的 全知识体系——从基础的「过滤定义」「过滤分类」,到连接层的「过滤模块与其他Agent模块的关系」,再到深度层的「过滤的底层逻辑」「数学模型」,最后到整合层的「跨学科视角」「未来趋势」;
  3. 学会 动手搭建 一套「实用的Agent任务结果过滤系统」——我会用Python、LangChain、OpenAI GPT-4o mini、Pydantic、Pytest给大家展示一套完整的代码,从「环境安装」「系统架构设计」「核心模块实现」「接口设计」到「最佳实践」「常见问题解决」,应有尽有;
  4. 避免「崩溃周末」这样的 ——我会整理出「Agent任务结果过滤」的10个常见误区、20个最佳实践、5个行业经典案例,帮助大家在自己的项目中少走弯路。
应用场景预览

「Agent任务结果过滤」不是只适用于「旅行规划」这种「个人场景」,它的应用场景非常广泛,几乎覆盖了所有的「大模型Agent应用」:

  1. 企业级应用场景
    • 客服机器人:过滤掉「敏感词」「错误的产品信息」「不礼貌的回复」「重复的答案」;
    • 代码生成Agent:过滤掉「有语法错误的代码」「有安全漏洞的代码」「不符合代码规范的代码」「不能运行的代码」;
    • 数据分析Agent:过滤掉「缺失值过多的数据源」「异常值未处理的分析结果」「逻辑错误的结论」「不符合业务规则的图表」;
    • 合同审查Agent:过滤掉「无效的条款」「对甲方不利的隐藏条款」「重复的条款」「违反法律法规的条款」;
  2. 个人应用场景
    • 写作助手Agent:过滤掉「抄袭的内容」「语法错误的句子」「逻辑混乱的段落」「不符合要求的字数/风格/格式」;
    • 健康管理Agent:过滤掉「不权威的健康建议」「超剂量的用药推荐」「不符合个人健康状况的运动/饮食方案」;
    • 购物助手Agent:过滤掉「假货」「过期商品」「价格虚高的商品」「不符合个人购物需求的商品」。

1.4 学习路径概览

为了符合「知识金字塔」的构建原则,我们的学习路径将由浅入深、层层递进、形象生动、注重实践

  1. 基础层(直观理解)
    • 什么是Harness Engineering?什么是Agent任务结果过滤?
    • 用「超市购物篮筛选」「高考阅卷」「咖啡师选豆」这3个生活化的类比,直观理解过滤的本质;
    • 关键术语的简明定义;
    • 常见误解的澄清;
  2. 连接层(概念关系)
    • Agent任务结果过滤的分类(按触发时机、按过滤方式、按过滤维度、按过滤主体);
    • 过滤模块与其他Agent模块(需求拆解模块、任务规划模块、子任务执行模块、方案整合模块、用户反馈模块)的关系;
    • 概念核心属性维度对比表;
    • 概念联系的ER实体关系图、交互关系图;
  3. 深度层(原理机制)
    • 过滤的底层逻辑(第一性原理:质量保障的本质是「验证-筛选-优化」);
    • 过滤的数学模型(统计模型、规则模型、机器学习模型、大模型推理模型、混合模型);
    • 过滤的核心算法(关键词匹配算法、正则表达式算法、TF-IDF算法、余弦相似度算法、Pydantic数据验证算法、RAG检索验证算法、大模型自我反思验证算法、多Agent协作验证算法);
    • 过滤的边界条件与适用范围;
  4. 整合层(多维视角)
    • 历史视角:从「传统搜索结果过滤」「传统爬虫过滤」「传统软件测试过滤」到「Agent任务结果过滤」的发展脉络;
    • 实践视角:5个行业经典案例(OpenAI的代码解释器过滤、GitHub Copilot X的安全过滤、字节跳动的豆包客服过滤、美团的旅行规划过滤、蚂蚁集团的合同审查过滤);
    • 批判视角:Agent任务结果过滤的局限性(大模型的幻觉问题、成本问题、延迟问题、偏见问题、隐私问题);
    • 未来视角:Agent任务结果过滤的发展趋势(AGI级别的自我进化过滤、联邦学习式的隐私过滤、多模态式的多维度过滤、区块链式的不可篡改过滤);
  5. 实践转化层(动手搭建)
    • 项目介绍:我们要搭一套「智能旅行规划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代码,都有详细的注释;
    • 系统测试:单元测试、集成测试、端到端测试;
  6. 整合提升层(知识内化)
    • 核心观点回顾与强化;
    • 知识体系的重构与完善;
    • 思考问题与拓展任务;
    • 学习资源与进阶路径。

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任务结果过滤」的学科边界

  1. 与「传统搜索结果过滤」的区别
    • 传统搜索结果过滤的「输入」是「搜索引擎返回的网页/文档列表」,「输出」是「筛选后的网页/文档列表」;
    • Agent任务结果过滤的「输入」是「Agent生成的中间结果/最终结果」(可以是文本、图像、音频、视频、代码、结构化数据等多种格式),「输出」是「验证、筛选、优化后的结果」;
    • 传统搜索结果过滤的「核心目标」是「提高搜索结果的相关性」;
    • Agent任务结果过滤的「核心目标」是「保障Agent任务结果的质量(真实性、准确性、相关性、安全性、一致性、个性化等多个维度)」;
  2. 与「传统爬虫过滤」的区别
    • 传统爬虫过滤的「输入」是「爬取到的原始网页/文档数据」,「输出」是「清洗后的结构化/半结构化数据」;
    • Agent任务结果过滤的「输入」是「Agent生成的中间结果/最终结果」;
    • 传统爬虫过滤的「核心目标」是「提高爬取数据的质量(去除噪音、去除重复、格式统一等)」;
    • Agent任务结果过滤的「核心目标」是「保障Agent任务结果的质量(多个维度)」;
  3. 与「传统软件测试过滤」的区别
    • 传统软件测试过滤的「输入」是「软件的代码/功能/性能」,「输出」是「测试报告(bug列表、性能指标等)」;
    • Agent任务结果过滤的「输入」是「Agent生成的中间结果/最终结果」;
    • 传统软件测试过滤的「核心目标」是「发现软件的bug、提高软件的质量(功能质量、性能质量、可靠性质量等)」;
    • Agent任务结果过滤的「核心目标」是「保障Agent任务结果的质量(多个维度)」;
    • 传统软件测试过滤的「测试用例」是「人工预设的固定用例」;
    • Agent任务结果过滤的「测试用例」可以是「人工预设的固定用例」,也可以是「大模型生成的动态用例」,还可以是「用户的历史反馈用例」;
  4. 与「大模型自我反思」的区别
    • 大模型自我反思是「Agent任务结果过滤」的「一种过滤方式」(属于「大模型推理过滤」);
    • Agent任务结果过滤还可以使用「规则过滤」「统计/机器学习过滤」「混合过滤」等其他过滤方式;
    • 大模型自我反思的「核心动作」是「验证-反思-优化」;
    • Agent任务结果过滤的「核心动作」是「验证-筛选-优化」(不仅可以优化结果,还可以筛选掉无法优化的结果)。

2.4 概念联系的ER实体关系图与交互关系图

为了帮助大家更清晰地理解「Agent任务结果过滤」的概念联系,我们画了2张Mermaid架构图

2.4.1 ER实体关系图(Entity-Relationship Diagram)

ER实体关系图主要展示「Agent任务结果过滤」涉及到的核心实体以及实体之间的关系

提出

生成

分解为

分配给

生成

经过

输出

发送给

生成

经过

输出

呈现给

给出

优化

优化

修改

执行

执行

使用

使用

使用

使用

查询

查询

USER

string

user_id

PK

用户ID

string

user_name

用户名

string

user_preferences

用户偏好(JSON格式)

string

user_history

用户历史行为(JSON格式)

REQUIREMENT

string

requirement_id

PK

需求ID

string

user_id

FK

用户ID

string

raw_requirement

原始需求(自然语言)

string

structured_requirement

结构化需求(JSON格式)

boolean

is_valid

是否有效(前置过滤结果)

TASK_PLAN

string

task_plan_id

PK

任务规划ID

string

requirement_id

FK

需求ID

string

task_plan_content

任务规划内容(JSON格式)

boolean

is_valid

是否有效(前置过滤结果)

SUB_TASK

string

sub_task_id

PK

子任务ID

string

task_plan_id

FK

任务规划ID

string

sub_task_type

子任务类型(交通/住宿/景点/餐厅/行程节奏)

string

sub_task_content

子任务内容(JSON格式)

SUB_AGENT

string

sub_agent_id

PK

子Agent ID

string

sub_agent_role

子Agent角色(交通规划/住宿推荐/景点推荐/餐厅推荐/行程节奏优化)

string

sub_agent_model

子Agent使用的大模型(GPT-4o mini/ Claude 3.5 Sonnet)

INTERMEDIATE_RESULT

string

intermediate_result_id

PK

中间结果ID

string

sub_task_id

FK

子任务ID

string

sub_agent_id

FK

子Agent ID

string

intermediate_result_content

中间结果内容(JSON格式/文本/代码)

IN_FILTERING

string

in_filtering_id

PK

中置过滤ID

string

intermediate_result_id

FK

中间结果ID

string

filtering_subject_id

FK

过滤主体ID

string

filtering_rule_ids

FK

过滤规则ID列表(JSON格式)

string

filtering_model_ids

FK

过滤模型ID列表(JSON格式)

string

external_knowledge_base_ids

FK

外部知识库ID列表(JSON格式)

boolean

is_valid

是否有效

string

validation_report

验证报告(JSON格式)

VALID_INTERMEDIATE_RESULT

string

valid_intermediate_result_id

PK

有效中间结果ID

string

in_filtering_id

FK

中置过滤ID

string

valid_intermediate_result_content

有效中间结果内容(JSON格式/文本/代码)

INTEGRATION_AGENT

string

integration_agent_id

PK

整合Agent ID

string

integration_agent_model

整合Agent使用的大模型(GPT-4o)

FINAL_RESULT

string

final_result_id

PK

最终结果ID

string

integration_agent_id

FK

整合Agent ID

string

valid_intermediate_result_ids

FK

有效中间结果ID列表(JSON格式)

string

final_result_content

最终结果内容(Excel/PDF/文本/JSON)

POST_FILTERING

string

post_filtering_id

PK

后置过滤ID

string

final_result_id

FK

最终结果ID

string

filtering_subject_id

FK

过滤主体ID

string

filtering_rule_ids

FK

过滤规则ID列表(JSON格式)

string

filtering_model_ids

FK

过滤模型ID列表(JSON格式)

string

external_knowledge_base_ids

FK

外部知识库ID列表(JSON格式)

string

user_feedback_id

FK

用户反馈ID(可选)

float

final_score

最终评分(0-100)

boolean

is_valid

是否有效

string

validation_report

验证报告(JSON格式)

string

optimized_result

优化后的结果(可选)

VALID_FINAL_RESULT

string

valid_final_result_id

PK

有效最终结果ID

string

post_filtering_id

FK

后置过滤ID

string

valid_final_result_content

有效最终结果内容(Excel/PDF/文本/JSON)

FEEDBACK

string

feedback_id

PK

反馈ID

string

user_id

FK

用户ID

string

valid_final_result_id

FK

有效最终结果ID

int

feedback_score

反馈评分(1-5)

string

feedback_content

反馈内容(自然语言)

string

feedback_type

反馈类型(正面/负面/修改建议)

FILTERING_SUBJECT

string

filtering_subject_id

PK

过滤主体ID

string

filtering_subject_type

过滤主体类型(规则引擎/机器学习模型/大模型/人类/多Agent协作)

string

filtering_subject_details

过滤主体详情(JSON格式)

FILTERING_RULE

string

filtering_rule_id

PK

过滤规则ID

string

filtering_rule_type

过滤规则类型(关键词/正则/Pydantic/业务规则)

string

filtering_rule_content

过滤规则内容(JSON格式/文本/正则表达式)

int

filtering_rule_priority

过滤规则优先级(1-10,10最高)

FILTERING_MODEL

string

filtering_model_id

PK

过滤模型ID

string

filtering_model_type

过滤模型类型(统计/机器学习/大模型)

string

filtering_model_name

过滤模型名称(TF-IDF/BERT-base/GPT-4o mini-moderation)

string

filtering_model_path

过滤模型路径(本地路径/API地址)

float

filtering_model_accuracy

过滤模型准确率(0-1)

EXTERNAL_KNOWLEDGE_BASE

string

external_knowledge_base_id

PK

外部知识库ID

string

external_knowledge_base_type

外部知识库类型(API/向量数据库/文档库)

string

external_knowledge_base_name

外部知识库名称(Google Knowledge Graph/Booking实时库存/OpenStreetMap)

string

external_knowledge_base_path

外部知识库路径(API地址/本地向量数据库路径)

2.4.2 交互关系图(Interaction Diagram)

交互关系图主要展示「Agent任务结果过滤」涉及到的核心实体之间的交互流程

用户反馈模块 后置过滤模块 整合Agent 外部权威知识库 中置过滤模块 子Agent集群 任务规划Agent 需求拆解Agent 前置过滤模块 用户 用户反馈模块 后置过滤模块 整合Agent 外部权威知识库 中置过滤模块 子Agent集群 任务规划Agent 需求拆解Agent 前置过滤模块 用户 提交原始需求(自然语言) 1 规则过滤(敏感词/需求完整性) 2 发送有效原始需求 3 大模型推理(需求结构化) 4 发送结构化需求 5 Pydantic数据验证(结构化需求) 6 发送有效结构化需求 7 大模型推理(任务规划生成) 8 发送任务规划 9 大模型推理(任务规划合理性验证) 10 分配有效子任务 11
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐