如果你问一个食品供应链大模型"供应商A的碳足迹认证还有多久到期",它给出一个流畅、格式工整、语气笃定的答案——但这个答案其实是编出来的,你当场很难发现,因为它读起来完全合理。这正是纯粹依靠对话历史和通用语料训练出来的大模型,放到食品供应链场景里最危险的地方。
大模型本质上是在预测"接下来最可能出现的词"。它见过大量关于认证、批次、碳排放的表述方式,知道这类回答通常长什么样子,但它并不掌握某个具体供应商此刻的认证状态,也不掌握某个具体批次此刻的碳足迹数值。这两类信息不在训练语料里,也不会随着企业系统里数据的更新而更新。如果直接问模型"批次R2601现在的碳足迹是多少",又没有接入真实数据的能力,它大概率会给出一个数值区间合理、单位正确、格式像模像样的答案——但这个数字很可能和系统里的真实记录完全对不上,模型自己也不知道错在哪里。
为什么这类问题必须经过检索,而不是靠模型"记住"
企业实际会问的问题,往往具备三个特征:需要实时状态(认证是否已经到期)、需要可追溯的具体记录(某一批次,而不是"某类产品的平均水平")、需要在出错后说得清数据从哪来。这三点决定了答案不能来自模型参数里存储的统计规律,而必须来自这次提问触发的一次真实数据检索。
这也是检索增强生成(RAG)存在的原因。RAG 的思路不是让模型"凭记忆回答",而是先把用户的问题转换成对企业数据的一次检索动作,取回和问题相关的真实记录,再让模型基于取回的内容组织语言、生成表达。模型负责理解问题、组织语言,不负责编造事实。完整链路大致是:用户提问(User Question)进入大模型(LLM),大模型判断这是一个需要查数据的问题,触发数据检索(Data Retrieval),把自然语言问题转成对数据库或知识图谱的结构化查询(Structured Query),查询结果还要经过业务规则校验(Business Rule Validation)——比如认证记录是否包含"到期日期"字段、批次记录是否真实存在、数值是否落在合理区间——最后才把校验过的结果(Result)返回给用户。
拿"供应商A的认证是否过期"这个问题举例。合理的处理方式是:大模型识别出这是一次认证状态查询,生成一条结构化查询,去认证记录表里按供应商ID和认证类型检索,取回发证日期、有效期、签发机构等字段,再用当前日期和有效期字段做比较,得到"已过期"或"还剩多少天"的结论。这个结论准不准,取决于查询语句写得对不对、认证记录本身是否更新及时,而不是模型的语言能力强不强。同样,"批次R2601当前碳足迹"这类问题,也必须经过结构化查询取到该批次实际使用的原料、加工工序,以及对应版本、对应生效年份的排放因子记录,再按公式计算,而不是让模型直接凭"感觉"输出一个数字,例如把供应商A去年1.7 kg CO₂e/kg的排放因子和今年改用可再生能源后1.3 kg CO₂e/kg的新因子搞混,套错年份就会算出一个看似正常、实际错误的结果。
值得一提的是,2026年行业里已经有数十个软件平台声明符合WBCSD发布的PACT方法论第三版的数据交换协议,这套协议本身依赖的就是供应商之间结构化数据的直接交换,而不是自然语言描述。这从另一个角度说明,碳足迹这类数字从源头开始就被当作结构化数据在系统间传递和核对,大模型没有理由绕开这套体系,自己"估"出一个数字来搪塞用户。
编造在食品供应链场景里不是"答错一道题"
在普通聊天场景里,大模型编造一个不存在的历史细节或者算错一道数学题,后果通常是用户重新提问、体验打折扣。但在食品供应链场景里,如果模型编出一个不存在的供应商名字、一个听起来合理但系统里根本查不到的批次号,或者一个自己"估算"出来却没有真实排放因子支撑的碳足迹数字,这类内容一旦被写进内部报告、提交给审计方,或者被下游团队当作事实引用,产生的是实质性的合规风险和追责难题。因为它披着"系统给出的数据"这层外衣,反而比一个人凭经验估算更容易被误当成权威结论。这也是为什么食品供应链场景对大模型的要求,不是"回答得像不像样",而是每一个具体的批次、供应商、碳排放数字、检测结果、认证、温度记录,是不是真的能在结构化数据里找到出处——找不到出处的内容,无论语言组织得多流畅,都不能作为最终结果输出给用户。
结构化数据和知识图谱,是答案"有根"的另一半
结构化数据校验解决的是"这一条记录本身对不对"的问题,比如认证记录的有效期字段不能为空、批次记录必须关联到真实存在的生产工厂。但企业里供应商、物料、批次之间往往是网状关系,一个批次可能追溯到好几个上游供应商,一个供应商也可能同时对应几十个批次,这类多跳关系光靠一张张孤立的数据表去查,效率很低,也容易漏查。这部分工作通常交给知识图谱(Knowledge Graph)来承担——把供应商、物料、批次、工厂之间的关系组织成图,大模型再基于图谱结构做多跳查询,而不是自己在脑子里"拼凑"这些关系。这个话题展开会很长,这里只需要记住一点:无论走的是关系型数据库的结构化查询,还是知识图谱的多跳查询,原则都是一样的——大模型负责理解问题、组织语言,真正的数字、名称、状态,必须来自查询取回的真实记录,而不是模型自己"想"出来的。