一个让人哭笑不得的下午
朋友小林想订一张周末去成都的火车票,懒得自己查,就问了她的 AI 助手:
“帮我看看周六上午从西安到成都的高铁,哪趟最快?”
助手回答得特别利索:车次 G1234,早上 8:15 发车,11:02 到,历时 2 小时 47 分,二等座 263 元。
时间、车次、票价,一应俱全,看起来比售票软件还清楚。
小林照着去搜,结果——没有这趟车。
车次号是编的,时间是编的,票价也是编的。但那份笃定,那份格式工整、数字精确的笃定,让人完全没起疑心。
这就是今天要聊的事:为什么 Agent 会一本正经地胡说?
先认识一下这位“实习生”
在小白的理解里,你可以把 Agent 想成一个刚来的实习生。
他脑子很灵,反应快,说话也客气。但他有几个特点你得先知道:
- 他的脑子(也就是模型)会想事情,但不联网,也不能直接动手。他不能自己去查车次,也不能自己点鼠标下单。
- 他想动手,得先申请:“让我用一下某个工具。”这就是工具调用。
- 你(或者系统)批准了,他去干,干完把结果拿回来,接着想下一步。这个“想→申请→干→看结果”的来回,就是循环。
- 他一次能同时摆在桌上的便签纸有限,写满了就得撕掉旧的。这叫上下文窗口。
人话:上下文窗口 = 它这次能同时记住多少内容。
- 他还有个小本子,能长期记点东西,叫记忆。
现在关键来了:如果这个实习生没申请用工具,或者工具没给他结果,但他又必须回答你——他会怎么办?
很多情况下,他不说“我不知道”。他选择编一个听起来最合理的答案。
这就是幻觉:不懂装懂,编答案。
那他为啥不直接说“我不知道”?
因为他被训练成“把话接下去”的人。
想象一下:你让实习生写一份会议纪要,他其实没参加会。一个诚实的实习生会说“我没参加,写不了”。但一个太想表现、太怕让你失望的实习生,会照着常见会议的样子,编出一份像模像样的纪要——时间、议题、结论,全都有。
模型也是这样。它的本事是“根据前面的内容,接着说出最像样的下一句”。当它手里没有真实信息时,它不会停下来,而是接着“最像样”的方向往下写。
而“像样”这件事,恰恰是最骗人的。真实的车次长什么样?一串字母加数字。真实的票价长什么样?两三位数。它把这些形状拼在一起,你就得到了一张看起来很真的假票。
所以幻觉不是它“坏”,而是它太会说话,却不知道自己哪里不知道。
那怎么让它少胡说?
办法其实很朴素,还是回到实习生:
第一,让它先查再答。 别问“哪趟车最快”,而是说“先查一下,再告诉我”。这就逼它去申请工具,而不是凭脑子编。
第二,让它说清楚依据。 问一句“你是怎么知道的”,它要是答不上来,你就该警惕了。
第三,重要的事自己核一遍。 车次、金额、日期、法条、药名——这些错了代价大的东西,别全信。
第四,给它台阶下。 明确告诉它“不知道就说不知道”,它反而更老实。
什么时候别用它?
说句实在话:需要百分百准确、且错了要担责的事,别只靠它。
查实时车次、算账、看合同条款、确认药品剂量——这些场景,它适合当“帮你起个头”的助手,不适合当“最终拍板”的人。
它更像那个嘴甜、手快、但偶尔会想当然的实习生。用得好,省你很多事;用得太放心,就得替它收拾烂摊子。
一句话记住
Agent 胡说,不是因为它笨,而是因为它太会说,又不知道自己不知道。
你要做的,不是指望它永远不出错,而是学会在关键处多问一句、多查一遍。
想亲手试试?Agent 核心概念入门 会带你从零跑通第一个 Agent。