Agent 卡在执行第一步?90% 的问题出在 Query 理解(附完整技术架构)
在实际业务中超过 60% 的 Agent 执行错误源于 Query 理解失败——指代消解错误、时间表达歧义、意图识别偏差。当用户说帮我查一下那个上周订的东西系统需要同时解决实体指代那个→订单 ID、时间解析上周→具体日期范围、动作映射查→物流/状态接口。这不仅是 NLP 问题更是工程架构问题。 本文从工程视角完整拆解 Agent Query 理解的技术链路涵盖三级级联处理、混合检索策略、多轮状态管理以及从 0 到 1 的建设路径与关键指标。一、从搜索到 Agent为何 Query 理解难度陡增在传统搜索引擎中Query 理解的目标相对单一把用户输入转成有利于文档召回的查询表达。而对 Agent 来说Query 理解的目标则完全不同——它要输出的是能直接驱动系统行为的结构化指令。可以粗略对比两类系统的特征搜索引擎 Query 理解Agent Query 理解搜索引擎单轮交互、意图变化小、错误容忍度高Agent多轮对话、意图随时切换、错误容忍度低输出文档列表输出可执行的结构化调用/动作错误后果结果不太相关错误后果误操作、业务风险、用户投诉上下文当前 Query 为主上下文多轮历史 用户画像 工具/接口能力1.1 三个关键难点1自然语言表达高度碎片化真实用户不会按产品文档说话常见输入形式包括•强烈口语化“那个红色的衣服退了吧”•大量省略“上次那个还有吗”•一句话多个诉求“帮我查下快递顺便看下有没有优惠券”•跨轮指代“它还有其他颜色吗”它依赖上一轮上下文2意图要落到可执行动作搜索系统只要返回一堆文档即可而 Agent 必须把退款、“改地址”、查物流等意图转成具体接口调用及参数。比如退款要明确哪一笔订单、退款金额、原因类型等。这就涉及意图识别、实体抽取和槽位填充的协同。3多轮状态要持续维护用户可能这样说•第一轮“我想退款”•第二轮“上周买的那件”•第三轮“质量问题”Agent 需要把这三句话合并成一个完整、可执行的退款请求。这不只是逐句理解更是对话状态长期维护的问题。⚡ 核心认识在 Agent 场景中Query 理解的本质是把自然语言转成系统可执行的结构化语义表示。其中包含两个维度 - 用户想干什么意图 - 需要哪些参数来执行实体/槽位 两者缺一不可。二、Query 理解的整体架构从清洗到执行从工程角度看一个完整的 Agent Query 理解系统大致分为三层由浅入深Query 理解三层处理1基础处理层预处理 → 纠错 → 分词 → NER以规则和轻量组件为主延迟要求通常 50ms2语义理解层意图识别 → 槽位填充 → 实体链接 → 指代消解 → Query 改写主要依赖模型延迟 200ms3执行匹配层向量检索 → 混合召回 → 重排序面向检索与工具调用延迟 500ms业界普遍采用**级联式Cascade**架构简单 Query 用最快的方法解决复杂 Query 再逐级升级处理。规则匹配 → 小模型 → 大模型 ↓ ↓ ↓ 10ms 50ms 200ms60%-70% 20%-25% 5%-10%高频简单 中等复杂 长尾复杂这种设计的目标是大部分请求在可控延迟内被快速处理小部分复杂请求通过更强的模型获得更高质量理解在性能与效果之间取得平衡。三、基础处理层先把输入整理干净3.1 预处理与归一化把脏数据标准化用户输入往往包含各种非标准写法第一步是做统一规范化处理。处理类型示例典型处理方式全角/半角→iPhone字符集转换繁简体訂單 → 订单词典映射大小写IPHONE → iPhone规则统一 注意保留品牌写法数字表达壹佰 / 一百 / 100 → 100语义解析Emoji → 热门 → 苹果/Apple结合业务语义映射 工程注意停用词过滤在 Agent 场景要格外慎重。最好手机与最好的手机语义有细微差别来吗和来了吗语气也不同。情绪词、语气词往往是判断用户态度和意图强度的重要信号不宜简单删除。3.2 拼写纠错处理iphnoe 15这类输入纠错在 Query 理解中出现频率极高。公开数据表明搜索场景中约有两成 Query 存在输入错误。常见方案对比如下方案基本原理优点局限适用编辑距离计算最小编辑步数简单高效不理解语义纯拼写/形近字混淆词典预先收集错误→正确映射高频错误准确需长期维护拼音、常见错别字BERT纠错利用上下文预测正确词语义级纠错延迟较高高质量场景混合方案词典 编辑距离 语义模型级联速度与效果兼顾架构复杂生产环境推荐真正棘手的往往不是传统错误而是新词识别。“AIGC”、“Sora”、“MCP等新名词如果被误当作错别字替换体验会非常糟糕。常见做法是通过热搜、日志监控等手段实时发现新词并维护保护词白名单”。3.3 分词与 NER把字符串拆成语义单元以中文为例分词是后续理解的前提。“南京市长江大桥可以被切成南京市/长江/大桥”合理或南京/市长/江大桥错误。在 Agent 场景中分词错误可能直接导致实体识别失败从而影响工具调用。分词之后是命名实体识别NER——识别人名、地名、机构名、时间、商品名等关键实体。典型 Agent 场景中常见的实体类型包括实体类型示例主要用途订单号20260318001查询/修改订单商品名iPhone 15 Pro商品搜索/下单时间表达上周/明天/3月中旬时间过滤、预约金额200块/两百元/1k5支付/退款地址上海市闵行区虹桥街道修改收货地址布尔状态好的/不用了/没问题是否确认/拒绝技术演进路径大致经历了规则词典 → BiLSTM-CRF → BERT-CRF → 直接用 LLM 抽取。每一代技术都在减少对人工标注的依赖、提升长尾泛化能力。四、语义理解层Agent 的决策中枢4.1 意图识别先搞清楚要做什么意图识别决定 Query 属于哪类任务是整个 Agent 的路由核心。简单说就是判断用户是在查信息、办业务还是闲聊。从建模角度看意图识别是分类问题但在 Agent 场景下分类本身只是其中一环。意图理解├── 意图分类要做什么│ └── 商品查询 / 订单操作 / 投诉 / 闲聊 / ...└── 实体识别用什么参数做 └── 如 city北京, age32, amount50000可以概括为意图分类决定调用哪个工具实体/槽位决定传入哪些参数。工程落地的五种主流方案方案一规则匹配高优先级关键词 → 直接归类退款 / 退货 → 退款意图好的 / 成 / 行吧 → 确认意图•优点几乎无延迟、可控性强、无需数据•缺点对口语变体覆盖有限如嗯行吧可能漏掉•适用冷启动阶段覆盖 60%-70% 高频意图方案二传统分类模型如 BERT 微调以几千条标注数据微调中文 BERT做多类意图分类主流场景下可达到较高准确率量化后单条预测延迟在几十毫秒级适合高并发。•局限•每个新意图需要额外标注样本•类别数增多后效果容易下降•新增或调整类别需要重新训练方案三向量检索式匹配为每类意图准备若干典型表达编码成向量。用户输入实时向量化与意图库计算相似度相似度高于阈值则认为命中。•优点对表达多样性有较好鲁棒性能覆盖大量口语变体•常用配置•编码模型如 BGE-base-zh、M3E-large 等中文向量模型•向量库意图类别较少时可用 Faiss规模大时可用 Milvus 等•阈值初期可设 0.75再结合线上效果调整方案四LLM 分类零/少样本在大模型基础上通过精心设计的 Prompt直接让模型输出意图类别。即便没有标注数据零样本也能获得较高准确率再配合少量示例效果可进一步提升。关键要素包括•明确角色和业务范围如你是电商售后意图识别助手•对每个意图类别给出清晰定义•限制输出格式如只输出意图标签•提供少量带标签示例工程实践中通常会固定模型版本、降低 temperature并在后端对输出格式做严格校验对低置信度结果统一归为未知。方案五混合架构综合以上几种方式形成多层级决策链路用户输入 → 规则匹配覆盖 60%-70% 简单意图 → 命中直接输出 → 未命中进入向量检索 → 向量检索覆盖 20%-25% 中等复杂意图 → 相似度阈值输出 → 未命中调用 LLM 分类 → LLM 分类兜底 5%-10% 长尾复杂意图这种三层结构在效率、效果和成本之间相对均衡。意图识别 vs Query 改写路由和翻译的区别在系统设计中意图识别和 Query 改写经常被混用。更清晰的理解是•意图识别决定请求应该被路由到哪条处理链路/哪个工具•Query 改写把用户表达转换成系统更易处理的形式包括纠错、扩展、拆分等一般做法是先通过意图识别确定大方向再由 Query 改写对具体表达做细化补全。实践中还常采用快车道/慢车道设计标准化请求走规则快车道复杂请求交给大模型慢车道处理。多意图识别一句话多个任务用户常把多个需求塞进一句话“帮我查下快递要是没发货就直接取消”——其中同时包含物流查询和条件取消。一种可行方案是多路召回 精排筛选Query 改写 → 针对不同意图类别并行召回候选 → Reranker 对各候选意图打分排序 → 选出若干高置信度意图 → 调用工具并由 LLM 组织最终回复关键在于召回的是不同类别的意图而不是同类意图的多个重复表达。多意图组合与意图跳转的处理在真实业务中不同意图之间还存在顺序、优先级和互斥约束。可以将业务粗分为三类•W固定流程型Workflow如报案、申请理赔•AAgent 型需动态规划如复杂排障•Q问答型不同组合下典型策略如下组合处理方式示例WQ/AQ以 W/A 为主问答部分可独立回复后引导回主流程办理业务过程中插入咨询WW按业务逻辑排序未执行意图入栈栈大小可控“查理赔进度我出车祸了要报案”需先报案WA/AA视业务场景决定优先级或按顺序执行报案 智能推荐方案意图跳转时常见处理包括•W→Q先回答问题再用引导语拉回流程•A→Q暂存 Agent 状态问答后由 Agent 决定如何继续•W/A→W/A用意图栈缓存未完成任务栈满时按策略淘汰实际系统中还会引入意图排序策略综合考虑用户表达顺序、业务优先级和互斥关系而不是机械按出现顺序执行。4.2 槽位填充再确定用什么参数做意图确定后下一步是把执行该意图所需的所有参数补全这就是槽位填充。示例用户帮我把订单20260318001的收货地址改到上海市闵行区虹桥街道意图修改地址槽位{ order_id: 20260318001, new_address: 上海市闵行区虹桥街道}槽位填充的难点在于用户表达往往不规整需要归一化。原始表达槽位类型归一化结果两百块/200大洋/1k5金额200 / 1500明天/下周一/3月中旬时间标准日期或时间区间北京 / 魔都城市北京 / 上海嗯行吧/好好好/成确认状态True不同槽位类型的常见策略•高度结构化订单号、金额、日期等优先用正则和规则速度快、准确率高•语义灵活问题描述、退款原因等适合交给 LLM 做抽取和归一化•枚举型城市、车型、类目等向量检索结合别名词典兼顾简称、误写等情况⚡ 工程建议一般采用规则前置 模型兜底的混合方案。能用规则解决的不要交给大模型以降低成本和延迟但对于高度语义化的槽位规则很难覆盖则应充分利用模型能力。4.3 多轮对话与指代消解跨句理解它/那个/上次在多轮对话中指代现象非常普遍轮1用户iPhone 15 多少钱轮2用户它有 256G 的版本吗 ← 它指 iPhone 15轮3用户那就买这个吧 ← 这个指iPhone 15 256G要做好指代消解系统需要维护一份对话实体状态表记录对话中出现的关键实体并在新一轮输入时进行关联判断。常见情形包括•代词指代它/这个/那个等需结合最近几轮上下文判断指代对象•省略表达“有便宜的吗”——省略了商品类别需要从上文补全•对话状态追踪DST以 slot-value 形式维护用户当前目标和参数例如到第三轮结束时对话状态可能是{ product: iPhone 15, storage: 256G, action: purchase, price_confirmed: true}任务型对话系统如语音助手普遍依赖 DST 来保证多轮对话的一致性。规划与回复分离快思考与慢思考的协同在一些实践中会将 Agent 的规划和回复生成交给不同模型•规划使用速度较快、成本较低的模型负责工具调用决策和步骤规划•回复使用推理能力更强的模型对工具结果进行整理和说明工程上通常通过约定输出格式如标记Finish:等在检测到规划完成后中断输出并将工具结果交给另一模型生成最终复。实测表明这种分工有助于在成本可控的前提下提升整体体验。此外还可以把工具泛化为三类类型作用示例函数类工具调用后端接口/服务查询订单、搜索知识库交互类工具向用户补充提问ask_user获取缺失参数Agent类工具调用其他 Agent主 Agent 调用子 Agent 排障这种设计使得 Agent 能在规划过程中主动与用户交互并协调多个 Agent 协作更贴近真实业务。上下文携带策略多少才合适给大模型的历史上下文并非越多越好。可以用一个粗略的上下文相关性概念来指导•相关性很低历史信息多为干扰应尽量少带或不带•相关性中等可带最近几轮如 2-3 轮•相关性很高可适当多带但仍需避免冗余例如在外呼场景中每轮问答往往相对独立过多携带历史可能导致模型误解当前回答指向的对象。4.4 Query 改写增强召回与理解的杠杆Query 改写的目标是把原始 Query 转换成一组更利于检索和执行的表达。常见类型包括类型输入输出作用同义扩展手机智能手机 移动电话 手持设备扩大召回纠错改写iphnoe 15iPhone 15修正错误语义改写照片变好看滤镜 修图 美颜 后期处理弥补词汇鸿沟简化改写如何用 Python 写一个向量检索系统Python 向量检索提取核心关键词HyDE假设用户 Query假设性的答案文档用生成文档做检索针对真实环境中大量 noisy、多意图、含歧义的 Query近期有工作提出了类似Omni-RAG的框架先用 LLM 对 Query 做深度理解和分解再分别检索、聚合和生成回答。这类思路的共同点是不再假设 Query 已经干净而是把 Query 理解本身作为 RAG/Agent 流程中的显式步骤。五、执行匹配层语义检索与工具调用的基础设施5.1 为什么不能只靠关键词以搜索为例Query怎么让照片更好看文档关键词滤镜 修图 美颜 后期两者没有任何词面交集传统 BM25 等关键词检索很难召回相关内容。向量检索通过将 Query 和文档编码到同一语义空间用余弦相似度衡量相似性从而跨越词汇差异。5.2 编码模型选型中文场景常用方案模型向量维度中文表现推理速度适用场景BERT-base768基础可用中等通用基线bge-base-zh-v1.5768效果较好较快工业级推荐bge-large-zh1024精度更高较慢离线高精度检索M3E-large768专业领域表现好中等垂直领域text-embedding-3-small1536整体优秀依赖 API快速原型具体选型需结合延迟、成本和部署环境综合考虑。5.3 混合检索关键词 向量的组合拳单一检索方式各有盲区•BM25擅长精确匹配关键词和专有名词对同义表达无能为力•向量检索擅长语义相似度但对罕见词、缩写和精确匹配不敏感因此生产环境常采用混合检索Hybrid SearchBM25 召回关键词 ↓向量检索语义 ↓RRF 等方法融合排序 ↓Reranker交叉编码器精排 ↓输出 Top-K 结果常用向量数据库包括 Faiss、Milvus、Chroma、Weaviate 等分别适用于本地高性能、分布式大规模、轻量原型和图检索等不同场景。六、从 0 到 1工程落地路径与关键指标6.1 分阶段建设路径冷启动期0-3 个月•以规则、词典为主快速上线•使用现成分词工具如 jieba•手工维护意图列表和简单路由•重点收集真实日志成长期3-12 个月•引入 BERT 等模型做意图识别和 NER•建设向量检索和混合召回•搭建 AB 测试体系成熟期1 年•全面采用级联混合架构•接入 LLM 处理长尾复杂 Query•支持多意图、指代消解、多轮状态追踪•端到端持续优化6.2 关键指标参考指标目标值场景说明P95 延迟≤ 150ms实时客服/外呼等P99 延迟≤ 250ms保证尾部体验意图识别准确率≥ 95%主流意图类别槽位 F1-score≥ 90%对必填槽位严格评估纠错准确率≥ 92%包含拼写/拼音/形近字向量检索召回率≥ 85%Top-20 中含正确答案6.3 生产级案例阿里商旅多智能体架构阿里商旅的差旅助手是一个较典型的多智能体落地案例其演进过程揭示了 Query 理解在复杂业务中的实际挑战。问题起点早期单 Agent 模式下随着 Prompt 规模膨胀模型注意力分散事项识别准确率仅约 50%并伴随稳定性问题。关键升级点包括1快慢车道路由2规则引擎优先能直接识别的意图走快车道直接路由到对应智能体3未命中则由 LLM 意图识别智能体处理完成多意图识别、消歧、Query 改写和结构化决策4动态 Prompt 状态机5将原本线性流程描述改造为状态机6结合程序化状态控制与自然语言理解精确识别当前对话阶段7目标是让模型注意力聚焦在当前主链路避免无关上下文干扰8上下文分层管理9全局上下文、会话记忆、动态 Prompt、工具注册分层管理10各智能体独立管理自己的历史只在必要时共享部分上下文11遵循最小必要上下文原则减少无效信息提升推理质量12可观测性与追踪13引入 Langfuse 等工具对单次对话、整场会话和用户级行为进行追踪14解决多智能体调用链复杂、问题难定位、优化缺乏数据支撑等问题整体效果上事项识别准确率从约 50% 提升到 90%历史遗留问题得到系统性解决。6.4 异常与容错生产环境绕不开的问题在真实环境中Agent 系统不可避免会遇到各种异常包括但不限于异常类型现象常见处理JSON 格式错误模型输出结构缺失/多余使用约束解码FSM/CFG限制输出格式臆造工具结果模型虚构工具返回内容工程侧截断并删除伪造部分强制依赖真实调用结果工具调用失败工具名或参数错误捕获异常请求模型重规划超过次数则兜底规划循环/重复重复调用同一工具、陷入循环检测重复模式提示冲突并重新规划必要时兜底交互类工具异常ask_user输出格式异常通过关键词识别语义程序端重构符合规范的 Action兜底策略需要与产品侧充分沟通通常不会直接向用户暴露模型错误而是用更可接受的方式表达如系统繁忙请稍后重试等。6.5 监控与持续优化系统上线后持续优化比初次上线更关键主要包括1日志分析从真实请求中挖掘规则覆盖不到的高频 Query补充规则和向量库2AB 测试对意图识别模型、改写策略、召回权重等进行实验验证3新实体监控通过热搜、新品发布等渠道发现新词及时更新词典和保护名单结合全链路观测工具可以形成发现问题 → 定位原因 → 评估方案 → 持续迭代的闭环。七、大模型背景下的 Query 理解新范式7.1 LLM 吃掉中间层从流水线到一体化在大模型普及之前Query 理解通常是一个多模块流水线Query → 预处理 → 分词 → NER → 意图识别 → 槽位填充 → 执行随着 LLM 能力增强越来越多的中间步骤可以被统一到一次模型调用中Query → LLM统一完成理解 结构化输出 → 执行这带来的好处是开发效率和长尾覆盖能力提升但也引入了延迟、成本和可控性等方面的挑战。因此在实际生产中纯 LLM 方案和传统多模块方案往往会以混合形态共存。7.2 面向 noisy Query 的新框架近期研究指出很多 RAG/Agent 系统在实验环境中依赖的是干净、明确、单意图的 Query而真实业务中的 Query 更常见的是•拼写错误、语法不完整noisy•语义含糊、上下文依赖ambiguous•一次表达多个诉求multi-intent针对这一现实一些框架提出在检索/工具调用之前显式增加Query 深度理解与分解步骤由 LLM 负责纠错、去噪、拆分子任务再分别检索或执行。这与前文对 Query 理解的系统化拆解是同一思路。7.3 可能的演进方向当前形态未来方向当前多模块流水线各模块独立优化未来端到端模型多任务联合训练当前以文本 Query 为主未来语音、图像、文本多模态统一理解当前面向平均用户个性化程度有限未来结合用户画像和历史行为的个性化 Query 理解当前模型决策过程难以解释未来可溯源的 Query 理解链路支持审计和调试八、结语从能对话到能办事围绕 Agent 场景本文从工程角度梳理了 Query 理解的完整链路1基础处理层预处理、纠错、分词、NER解决输入规范化问题为后续理解打基础2语义理解层意图识别、槽位填充、指代消解、Query 改写完成对用户需求的结构化理解3执行匹配层向量检索、混合召回、精排为工具调用和回答生成提供高质量支撑在工程实践中几条原则尤为关键•级联策略规则优先、小模型补充、大模型兜底在准确率、延迟和成本之间取得平衡•快慢分离高频标准请求走规则/小模型快车道复杂长尾请求交给大模型慢车道•异常容错从输出格式约束到循环检测再到兜底策略确保系统在各种异常下仍能给出可接受反馈•数据驱动依托日志和观测系统持续发现问题并迭代优化•混合架构既不过度依赖单一模型也不过度依赖规则而是根据任务特点进行分层组合⚡ 总结一句话在 Agent 场景中Query 理解不是简单堆叠 NLP 模块而是一项围绕把用户自然语言转成可执行结构化指令的系统工程。意图识别解决走哪条路的问题Query 改写解决怎么走得更顺的问题两者协同才能让 Agent 真正听懂用户并可靠执行。学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%免费】