一句话定义
参数幻觉(Argument AI 词典:Hallucination">Hallucination)指模型调用外部工具时,工具名选对了,但传给它的参数名、格式或具体取值是凭空编的,导致调用报错,或表面正常却产生错误结果。
为什么会错在参数上
模型填参数和写正文用的是同一套机制——按概率往下续写。工具名通常只有几个候选、又在提示里反复出现,选对不难;参数值却得从对话里提取,一旦上下文没有、或被埋在一长串历史里,模型不会说“我不知道”,而是照着一个合理的样子编出来。
打个比方:打电话订餐,号码拨对了(选对函数),接通后报地址却报了个“中山路 188 号”——听着很像真的,其实是顺口编的。对面照样记下,餐就送到别处去了。
常见的三种形态:
- 参数名编造:该写
user_id,写成userId、uid - 格式不对:该给数组给了字符串,该给标准时间给了“下周三”
- 取值编造:枚举值不在允许范围、订单号是拼出来的、金额凭感觉给
和相邻概念的区别
| 概念 | 错在哪 | 典型表现 |
|---|---|---|
| 工具选择幻觉 | 调哪个函数 | 想查订单却调了退款接口 |
| 参数幻觉 | 传什么参数 | 函数对了,订单号是编的 |
| 事实幻觉 | 陈述的内容 | 答错公司成立年份 |
| 模式违规 | 结构合不合法 | JSON 少括号、多字段 |
一句话:工具选择幻觉是打错电话,参数幻觉是电话通了、话没说对。其中格式类问题能被校验器直接拦下;取值类问题格式完全合法,最难缠。
对做事的人意味着什么
报错是好事,静默失败才可怕。格式错会抛异常,一眼看见;编造的“合法”取值能一路执行到底,写进数据库、发出消息,事后才被发现。
几个常见做法:
- 用 JSON Schema(模式)把必填项、类型、枚举、正则写死,该枚举就别留自由字符串
- 能提取就别让它编:先用规则或小模型从上下文抽出编号、日期,再填模板
- 校验失败把错误信息回灌重试,多数格式问题一次就能修好
- 高风险写操作加 dry-run(试运行)或人工确认,接口保持幂等
对普通职场人:AI 说“已经处理好了”之前,值得扫一眼它填的单子;关键信息(编号、日期、收件人)直接贴给它,比让它“看着办”靠谱得多。各家模型对工具调用的参数约束能力不同,具体以官方文档为准。
