流畅不等于准确
语言模型的本质是根据上下文生成最可能的下一段文字。它在对话里给出的营养数据,可能来自训练语料留下的平均印象,没有出处,也无法复算。麻烦在于,它答对与答错时用的语气一模一样,读者无从分辨。
举一个设定的例子:用户说“我今天已经吃了一碗燕麦粥和两个鸡蛋,晚饭还需要补多少蛋白质?”这句话表面上是聊天,内部其实是一串确定的操作:查每种食物的成分,按份量换算,汇总当天摄入,对照目标,算出缺口,再挑出能补上缺口的食物。前四步是查表和算术,最后一步是带约束的搜索,没有一步是“续写一句话”。
一个问题,交给五种部件
| 环节 | 承担部件 | 聊天模型的位置 |
|---|---|---|
| 理解意图、追问缺失信息 | 大语言模型 | 主责 |
| 查食物营养事实 | 营养数据库与检索 | 只负责发起查询、转述结果 |
| 处理饮食与穿戴的时间序列 | 时序模型 | 不参与计算 |
| 在约束下生成方案 | 推荐模型与优化器 | 把用户话语转成约束,并解释结果 |
| 生成解释与后续追问 | 大语言模型 | 主责 |
这张表的关键在于第二、三、四行:凡是需要精确数值、时间窗口和约束满足的环节,都不交给语言模型。它在两头发挥所长,一头听懂人话,一头把结果讲成人话,中间的计算交给专门的部件。
时序和优化:聊天窗口碰不了的两块
饮食记录和穿戴数据都是带时间戳的序列,需要窗口切分、时间对齐、缺失处理,这些是时序模型的本职工作。用户的一句话里只有当下的信息,长期节律、近四周的变化都不在对话里。
方案生成则是另一类问题:满足蛋白质目标,同时控制能量,避开过敏原,符合预算与口味偏好。这是带约束的组合搜索,优化器可以保证约束不被突破,语言模型只能保证“读起来合理”。2026年《Advanced Science》关于多模态数据与AI精准营养的综述,以及另一篇AI在食品、营养、健康研究中的综述,都强调要从多模态数据整合走向精准干预,需要食物侧、健康侧和个体侧数据的联合建模,而一个聊天窗口天然看不到这三侧的大部分数据。
幻觉不是偶发故障,要靠设计约束
只要答案由概率生成,幻觉就不可能被彻底消除,能做的是缩小它的活动范围。通行的做法是让语言模型只能引用检索到的事实:每个数字都带出处,比如数据库条目、记录时间、模型版本;查不到出处的数字,宁可不显示,或明确标成估计。
用户也需要看得到不确定性。当饮食记录本身存在低报、份量本身只是估算时,系统给出的“还差18克蛋白质”(设定数字)应当附上一个可信度或区间,而不是像计算器一样报出确定值。这与两个体重相同的人为什么会得到不同建议中强调的思路一致:推荐的依据比结论本身更值得展示。
纵横国际的拆分思路与它的边界
纵横国际把个性化营养里的一个请求,拆成意图理解、事实检索、序列分析、方案优化和解释生成五步,每一步由不同的部件承担。数据侧则依赖知识图谱把食品、原料、营养成分连在一起,请求侧则依赖模型路由判断哪个问题该交给谁。这里描述的是设计思路,而非某个具体产品的性能指标。
要点:聊天模型适合做入口和出口,不适合做中间的计算。让它只负责听懂和讲清,把查数、计算和约束交给可核对的部件,系统才有可能既好用又可信。
拆分也有代价。部件越多,接口错位的机会越多:数据库单位与模型输入不一致,时序模型的窗口与优化器假定的窗口对不上,都会带来新的误差。所以每个部件都需要独立的评估指标,出错时才能定位到是哪一环。想了解各环节在实际使用中的位置,可以在AI大模型栏目里继续查看。