赞助商 Suno AI Music arrow_forward

CCA-F 学习指南 · 工具设计与 MCP 集成

K2.2.4 Task 2.2

"您的订单不存在"——但它存在,只是数据库挂了

客户打电话问订单 #12345。数据库超时了。工具返回 isError: false, "No results found"。Agent 说:“我们系统里没有找到订单 #12345。您确定号码对吗?“客户有确认邮件。订单存在——数据库只是暂时挂了。

两种看起来一样的结果

访问失败(超时、连接错误、服务宕机):

  • 查询没有成功执行
  • 数据可能存在——只是我们查不了
  • Agent 应该:重试或说”查的时候遇到了点问题”

有效空结果(查询成功执行,没有匹配记录):

  • 查询成功执行并且什么都没找到
  • 数据确实不存在
  • Agent 应该:当作确定结论并通知用户

怎么区分

结果isErrorContentAgent 行为
数据库超时true”Database temporarily unavailable”重试或告知”查的时候遇到问题”
无匹配记录false”No customer found for ID X”当作确定结论

规则:如果查询成功执行了 → isError: false(即使零结果)。如果查询执行失败了 → isError: true 加错误详情。

现实中的损害

学术研究 agent 搜索数据库。数据库不可达。工具返回空内容 + isError: false。Agent 告诉研究者:“该主题没有找到论文。“该主题有几千篇论文。研究者根据错误信息改变了研究方向。

客服 agent 在数据库宕机期间查订单。返回”No results found” + isError: false。Agent 告诉客户订单不存在。客户有确认邮件然后升级投诉——制造了一次不必要的投诉。

静默吞没

数据库不可达时返回 isError: false 加空内容是”静默吞没”——错误被吞掉,转成假阴性,agent(和用户)永远不知道发生了故障。

包含尝试的查询

超时错误应包含尝试了什么:“Database timeout while looking up order_id=‘ORD-12345’“。这让 agent 能用完全相同的参数重试,或具体告诉用户什么没查到。


一句话总结: 数据库宕机返回 isError: false + “无结果”会导致 agent 告诉客户数据不存在(其实只是服务挂了)——访问失败必须返回 isError: true,有效空结果返回 isError: false,这个区分防止假阴性。

redeem

你的 7 天免费试用现在开始

从此刻起 7 天内免费使用全部功能(含不限次模拟考)。7 天后可选择付费档位:$9.9 半年、$19.9 一年、$29.9 终身。一次付清,绝不自动续费。

解锁全站权益

你的免费试用已结束。选一档通行证,全站立即恢复访问——与定价页完全相同的档位和价格。

查看完整定价说明