你有没有这种经历:让 AI 帮你整理一份表格,结果它先来一段「好的!以下是整理结果:」,接着是一堆自由发挥的文字,字段名跟你心里想的两码事,最后你还要手动改半天才能塞进 Excel。
我第一次让 AI 输出结构化内容时,就写了一句「请以 JSON 格式输出」。结果它确实给了 JSON,但字段名自己瞎起——我要的是「日期、金额、备注」,它给的是「day、money、note」,还擅自把金额从「12345.67」写成了「1.2万」。折腾半天,还不如自己手敲。
问题不在 AI 不听话,在「JSON 格式」这四个字太模糊了。AI 不知道你要哪些字段、字段叫什么、值长什么样。
后来我总结出一个「三层格式锁」,专门治输出漂移,现在基本一次到位:
第一层,锁字段。把字段清单列死,每个字段加一句说明。比如「日期(格式 YYYY-MM-DD)、金额(保留两位小数的数字,不要四舍五入成文字)、备注(原文照抄,不超过 20 字)」。
第二层,锁样例。给一个正例,让 AI 照着这个形状输出。这一步最管用——AI 对「照着例子抄」的理解远好于「按描述想象」。
第三层,锁边界。补一条反例或禁则,比如「金额不要用万、k 这样的缩写」「字段名用中文,不要自己翻译」。
三层加在一起,prompt 也就多几十个字,但输出从「需要返工」变成了「能直接用」。
踩过两个坑提醒你:一是样例别给太长,一个字段一行的迷你样例就够,给太长 AI 反而容易照抄内容;二是如果你的程序要解析这个输出,最好要求 AI 只输出结果、不要任何解释,否则开头那句「好的」会污染你的解析。
这套格式锁我现在几乎每个结构化任务都用。如果你也烦「AI 输出总是差一口气」,先别怪模型,试试把字段、样例、边界这三样锁死。