通用方法 · 熟练

它凭什么给你编出一个像样的数?

把「不许猜」写进指令,而不是指望它自觉
让模型从图片、合同、截图、长文档里往外抠字段,最常见的翻车不是「抠错」,而是「抠出一个看起来很像的」—— 字糊了一位、日期只露了半截、金额那格被挡住,它会顺着上下文补一个合理的,而且补得毫无痕迹。这一页给的是三段式指令骨架:① 先设角色(同样的内容,设成「录入助手」与随口一问,输出的规范度差一截)② 再写硬性约束(「看不清就写 null,⛔ 绝对不要编造或猜测」—— 这一句是整段里最要紧的,专门压幻觉)③ 最后把键名穷举出来(它会照着键名逐格对照去填,而不是自由发挥)。关键动作只有一个:把「允许它说不知道」变成指令里的显式出口 —— 你不给它这条出口,它一定会替自己找一条看起来更体面的路。
方法 · 一图看懂
1
先设角色,别随口一问 — 角色设定改变的是输出的规范度:设成「录入助手」,它会倾向生成工整、可解析的数据条目
2
把「看不清就写 null」写成硬性约束 — 这是唯一一条直接压幻觉的句子;缺了它,材料里模糊的地方必然被补一个合理值
3
键名穷举,让它逐格对照 — 把目标字段一个不漏地列出来;字段名本身就是检索线索,少列一个就少抠一格
4
抽核,而不是通读 — 交付前随手抽两三笔回原始材料对上;抽核过和没抽核过,出错率不是一回事
原理 · 为什么有效
模型的工作方式是按训练数据预测下一个最可能的词,而不是去查一个事实库—— 这句不是评论,是官方文档里写下来的原话。所以「补一个合理的值」对它而言不是犯错,而是它本来的运行方式:流畅与准确是两件独立的事,一段读起来干净的数据完全可以每一格都错。要让它在拿不准时停住,只有两条路:给它一个显式的「说不知道」出口(null),或者让字段名把检索范围钉死(穷举键名)。两条路合起来,就把「自由发挥」的空间压到只剩「照格子填」。
适用场景
适用:从图片 / PDF / 合同 / 表格截图 / 长文档里往外抠结构化字段的任何任务 —— 发票与报销 · 名片与客户信息 · 合同关键条款 · 表格明细行 · 体检报告指标 · 日志里的事故字段。
⛔ 不适用:需要模型做判断、归纳、写东西的场合 —— 那里「补充一个合理值」恰恰是你要的。判据一句话:这次要的是「抄」还是「写」?只有「抄」适用这套。
⚠️ 前提:你能拿到原始材料用于抽核;拿不到原件时,这套只能压住一部分幻觉,⛔ 不能替代核对。
自测 · 5 问
我的指令里,有没有一句明确写「看不清就写 null / 不确定就标注,不要猜」?
我把要抠的字段名一个不漏地列出来了吗(而不是只说「帮我提取关键信息」)?
我设过一个像「录入助手」这样的角色,还是每次都是随口一问?
交付前我抽核过两三笔吗 —— 还是只看了一眼「表挺整齐」就发出去了?
这次要的是「抄」还是「写」—— 我有没有对一个「写」的任务用了「抄」的约束?
怎么上手 · 验证步骤
第一步只做一件事:拿一份你手上真实的模糊材料试一次(有折痕、有反光、有半格被挡的那种,⛔ 别用最清楚的那张)。先把三段式原样套上去跑一遍,看它在模糊处写的是 null 还是一个更像样的值。然后把那句约束删掉再跑一遍、两份并排看 —— 两次的差别就是这句话的价值,也是你之后判断「它还值不值得留」的依据。
下次交付前看两个数:① 输出表里 null / 待确认 的条数 ② 抽核出错的条数。第一个数下降而第二个数没降,说明约束在起作用;如果 null 数为 0,而材料里明明有看不清的地方,那这一轮一定没做完 —— 它替你猜了。
[C级]Google Search Central《Guidance on using generative AI content》(2026-10-01 改版 · 官方写明「生成式模型不检索事实、而是预测词序」⇒ 输出可能含幻觉 · 并可出现在标题/元描述/结构化数据/图片替代文本里) [C级]OpenAI 官方 platform 文档(结构化输出与 JSON 模式 · 作为「键名穷举 + 结构约束」的依据位) [C级]tzjp.cn《用 Kimi AI 识别发票:提示词模板与批量报销实操指南》(2026-10 · 逐段拆「角色指令 / 硬性约束 / JSON 键名」三段分工) [C级]今日头条《拍了一堆发票没时间录?让 AI 替你填,30 秒变报销表》(2026-10-02 · 实操前提:拍清楚 · 分批 · 结构化票与纸质票分开处理) 同类:AI输出问题诊断器 · 拿到表格先别问AI「帮我分析一下」
继续往下读
同级:AI输出问题诊断器 下一级:压缩完那一段摘要,你得回头查三样东西 随机一篇