面试官:工具返回脏数据,你的 Agent 还敢继续吗?

发布时间:2026/8/11 22:33:54
面试官:工具返回脏数据,你的 Agent 还敢继续吗? 面试官把一段工具返回结果推到你面前json{price:含税 ¥1299 起,depart:明早 7 点多,seats:null,status:success}“这是订票工具的结果。”他问“Agent 下一步能不能直接下单”你回答“先把结果塞回上下文让模型自己判断。”面试官抬头看了你一眼“起是什么意思明早是哪一天余票是没有还是工具没查到success又能证明订单真的可以买吗”这道题不是在问模型能不能读懂 JSON而是在问你有没有把工具当成一个不可靠的外部系统来设计。工具返回的内容格式正确不代表事实完整字段存在也不代表业务上可以继续往下做。一、先分清楚什么叫脏数据脏数据不只是多了一个空格至少有四种情况。第一种是格式脏。价格是字符串时间是“明早”座位是null同一个字段有时叫price有时叫amount。第二种是内容不完整。工具返回了航班号和价格却没有币种、出发日期或退改规则。第三种是语义不确定。“1299 起”可能只是最低价不一定是当前这班的最终支付价“有票”也不一定代表这个座位还能锁住。第四种是状态冲突。工具说订单创建成功查询接口却找不到订单两个来源返回的价格和库存不一致结果虽然格式正确却已经过期。所以不能只问一句“这是不是合法 JSON”。真正要问的是这份数据够不够支撑下一步动作二、不要把原始结果直接塞回 Agent更稳的链路应该是工具原始结果 ↓ 适配与归一化 ↓ 结构校验 ↓ 业务校验 ↓ 可用 / 修复 / 阻断适配层负责处理不同供应商的字段差异把amount、price和total_price统一成内部的price_cents把“明早 7 点多”转换成带时区的明确时间把“含税 ¥1299 起”拆成金额、币种、是否最低价和是否最终价格。结构校验检查字段是否存在、类型是否正确、枚举值是否合法。比如价格必须是整数分出发时间必须是标准时间座位数只能是非负整数。业务校验再问一层价格是否仍在预算内出发时间是不是未来座位数为空时能不能购买订单状态和查询结果是否一致JSON Schema 能保证“长得像一张订单”却不能保证这张订单真的存在更不能判断“起价”是不是最终支付价。三、不同的脏数据不能用同一个重试按钮如果网络超时或供应商暂时不可用可以在限制次数内重试。重试前要带上请求编号和超时边界不能让 Agent 无限循环。如果返回字段缺失或类型错误这更像工具契约坏了。应该记录原始响应标记这次工具调用不可用再尝试备用接口或把问题交回系统而不是让模型猜一个默认值。如果结果是合法的空集合比如指定日期确实没有符合条件的航班这不是工具失败。Agent 应该告诉用户没有找到并询问是否放宽时间、预算或中转条件。如果两个接口互相矛盾就要重新查询或进入人工确认。尤其是付款、退款、下单、发消息这类有副作用的动作在关键字段无法确认时必须停下来。能修复的才重试能解释的才继续无法确认的就阻断。四、校验应该放在模型前也要放在副作用前工具结果先经过代码校验再交给 Agent 做理解和决策。这样模型看到的不是一段供应商原文而是一份带状态的内部结果status: needs_confirmation price_from_cents: 129900 currency: CNY price_is_final: false departure_date: needs_confirmation departure_time_window: 07:00-07:59 raw_depart: 明早 7 点多 available_seats: unknown warnings: [最低价不代表当前座位最终支付价]Agent 可以根据needs_confirmation组织下一句用户沟通但不能因为看到了一个数字就擅自调用付款工具。这里要分开两类工具。查询工具返回脏数据通常可以清洗、重查或降级写入工具一旦产生副作用校验门槛就要更高。下单前确认价格、库存、用户身份和幂等编号发邮件前确认收件人和正文退款前确认金额、订单状态和授权范围。五、别只修数据还要留下它为什么被修过生产环境里不能只保存最后那份“干净结果”。至少记录原始响应、工具版本、请求编号、接收时间、归一化结果、校验错误和最终动作。出问题时也能追溯责任。把缺字段、类型错、空结果和冲突响应放进回归集。更换工具或模型前检查旧问题。六、面试官追问30 秒怎么答我不会把原始结果塞回 Agent也不会让模型猜缺失字段。先用适配层统一结构再做 Schema 校验和业务校验前者看类型、必填字段和格式后者看时间、金额、库存、状态一致性和新鲜度。网络超时限次重试契约错误切备用工具或阻断空结果转成“没有找到”冲突则重查或人工确认。下单、付款、退款、发消息等副作用动作还要满足权限、确认和幂等要求。工具返回的不是事实本身只是系统对外部世界的一次观察。先证明数据能用再让 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%免费】