先把场景放到一家想预测设备故障的工厂。
温度、压力、振动、电流,每秒都在往数据库里灌。硬盘很快就满了,真正的故障样本却少得可怜。设备平稳运行几年,偶尔坏一次;坏完立即维修,下一次又换了零件、工况和操作员。
算法团队盯着这些数据,就像站在一个装满自来水的游泳池边,手里却只有三滴墨水。
水很多。
能告诉模型故障边界的墨水,几乎没有。
熟悉互联网范式的人会本能地给出三个建议,继续收集数据,换更大的模型,再做一轮数据增强。
可工厂不能为了训练模型,每周故意烧坏一台压缩机;医院不能为了扩充样本,主动制造更多罕见病例;航天器也不能先摔几百次,再总结哪种姿势比较安全。
在这些场景里,「等数据足够多」不是路线图,更像一份无限期停工通知。
如果系统只负责画一条预测曲线,错误可能还停留在报表里。一旦它能创建工单、调整检修计划,甚至触发控制指令,它就不再只是一个模型,而是一个会行动的 AI Agent。此时,少样本不只是准确率问题,更是行动权限问题:证据不够时,系统凭什么做决定,又该在什么地方停下来?
问题并不是现场一无所知。
工程师知道设备不能瞬间升温,知道能量守恒,知道部件之间怎样传递压力,也知道某些振动组合通常和轴承松动有关。这些知识不在训练表格里,却真实地存在于方程、设计图、操作规程和老师傅的判断里。
小数据场景真正浪费的,往往不是样本,而是那些明明已经知道、却没有进入模型的知识。

工业 AI 的第一个陷阱,是把日志行数当成信息量。
十亿行正常运行日志,可能只是在重复「今天也没坏」。它们能帮助模型认识正常状态,却很难告诉模型正常和故障之间那条细而危险的边界。就像让医生看十万张健康人的片子,并不会自动获得识别罕见病的能力。
真正有价值的不是数据文件有多大,而是它覆盖了多少变化。不同负载有没有出现,不同设备和老化阶段有没有出现,维修标签是否可靠,传感器失真时模型会怎样,风险边界两侧是否都有样本。
这里还藏着一个更麻烦的问题,相关性很容易伪装成机理。
假设模型发现,某类故障发生前电流总会下降。这个规律在训练集里非常稳定,甚至能拿到漂亮的离线分数。可现场工程师知道,电流下降是因为操作员发现异常后主动降低了负载。模型学到的不是故障先兆,而是人的处置动作。
换一条自动化程度更高的产线,操作员不再提前降载,这条规律立刻失效。
端到端模型并没有做错。它忠实地利用了数据里最省力的捷径。错的是系统把「历史上总是一起出现」直接当成了「未来仍然成立」。
所谓小数据,其实混着四种不同的困难:标签少、事件少、覆盖少,以及反事实少。日志很多但工单含糊,是标签问题;事故几年一次,是事件问题;换一代设备就失效,是覆盖问题;只见过处置后的结果,则是反事实问题。
它们不能共用一张「数据增强」处方。先诊断稀缺发生在哪里,才能决定是补标注、做仿真、限制适用范围,还是引入因果假设与受控实验。

文件大小在这里几乎是最不重要的数字。
这正是领域知识应该介入的位置。它不是替模型回答所有问题,而是缩小模型必须凭少量样本独自摸索的空间。模型不必从几次故障里重新发明能量守恒,也不必靠撞坏设备才知道安全边界在哪里。
不过,知识进入系统,并不等于在需求文档里多写一页说明。对少样本 Agent 来说,知识至少要进入四个可执行位置。
数据层用仿真与边界样本补足历史没有覆盖的区域;结构层把部件拓扑和传递关系写进模型,减少它凭空猜测的自由;目标层让违反守恒、单调性或安全边界的预测付出代价;决策层则用规则、优化器和人工闸门控制错误后果。
训练目标可以粗略写成:
总损失 = 数据误差 + λ × 知识违约成本
这里真正困难的是 λ。约束太弱,知识只是训练日志里的装饰;约束太强,一条错误或不完整的经验就会压住真实数据。知识不是圣旨,它只是另一种需要校准的证据。
模型之外还要有一条完整的 Agent 链路:观察现场状态,调用知识增强模型,提出动作候选,通过策略或人工闸门,执行后再读取真实反馈。数据层补覆盖,结构层减少无效自由,目标层校准学习方向,决策层限制行动半径;少掉任何一层,「有领域知识」都可能只是一句无法验收的口号。

还有一种在工业现场很实用的组合,不要求知识模型独自给出完美答案,而是让机器学习只负责它擅长的剩余部分。
先用机理模型算出一个基础预测,再让数据模型学习真实观测与基础预测之间的残差:
最终预测 = 机理模型 + 数据驱动残差
这样做的好处很直接。样本少时,系统至少遵循一个大体正确的骨架;数据逐渐积累后,残差模型再补偿摩擦、磨损、环境扰动等难以写进方程的部分。机理模型负责不离谱,数据模型负责不僵硬。

当然,如果基础模型方向就错了,残差学习也可能忙着替错误知识擦屁股。因此必须分别记录两部分误差,避免一个漂亮的最终指标把知识模型的系统性偏差藏起来。
很多公司的领域知识确实已经被整理过,只是停在一份没人敢删的需求文档里。训练数据不知道它,模型结构不知道它,损失函数不知道它,执行系统也不会因为违反它而停下来。
这种知识被记录了,却没有被使用。
把知识接进系统之后,新的风险随即出现,专家经验本身也会错。
某条温度规则可能只适用于上一代设备;某个经验阈值可能来自传感器精度不足时的折中;一条看似稳定的规律,可能只在特定负载范围内成立。老师傅说「温度一高就有问题」,系统仍然需要知道究竟多高、持续多久、影响哪些型号,以及有哪些反例。
因此,知识不能只有内容,还要有身份。
单位、几何边界和安全联锁可以成为硬约束;通常成立、但允许数据推翻的规律属于软约束;帮助模型学习的经验可以做成特征;尚未验证的判断只能作为实验假设。每一条还要带上版本、来源、适用范围和反例。
当数据持续违反某条规则,系统应该提醒人重新检查规则,而不是静默把数据判成异端。当模型进入规则没有覆盖的新工况,也应该提高不确定性,而不是继续输出三位小数,假装心里很有数。
知识和数据最健康的关系,不是谁压倒谁。
数据负责纠正人的自信,知识负责限制模型的胡思乱想。
把视野从设备故障挪开,这套逻辑仍然成立。
做材料研发,实验样本少,但化学组成、晶体结构和守恒关系并不是空白。做药物性质预测,可用标签昂贵,但分子图和已知作用机制能够缩小搜索空间。做电网调度,极端故障很少,潮流方程、拓扑关系和安全裕度却必须一直成立。做供应链预测,历史数据覆盖不了每一次突发事件,但交期、库存上下限和上下游依赖仍然可以约束结果。
场景相距很远,共同点却很清楚,数据不足的时候,问题结构本身就是信息。
这也改变了模型的评测方式。
小数据系统不能只报一个平均准确率。一个模型在 99.9% 的正常时段表现完美,却漏掉唯一一次灾难性异常,业务价值仍然可能为负。另一个模型多报几次警,却能在分布外工况主动暴露不确定性并交给人,反而更适合上线。
评测要专门检查最坏错误、分布外表现、约束违反次数、误报和漏报的不同代价,以及人工接管后能否形成新的数据或规则。及时拒绝一次,也应该被算作能力,而不是被统计成「没有完成任务」。
对故障预警来说,报警是否提前也很重要。事故发生前一分钟才给出完美判断,和提前三天发现趋势,业务价值完全不同。模型还要校准自己的置信度,不能在熟悉工况里报 90%,到了陌生设备上仍然报 90%。一个看起来不够果断、但会随着环境陌生程度主动降低信心的模型,往往比始终自信的模型更可靠。
这些指标会让模型选型发生变化。排行榜上平均分最高的方案,未必是现场总损失最低的方案。生产系统关心的是停机、漏报、误报、人工检查和错误动作加在一起的成本。
对 Agent 还要多看三件事:它是否在证据不足时拒绝行动,错误动作能否回滚,人工接管之后有没有沉淀成新的样本或规则。

真正开始时,不必先搭建宏大的数字孪生平台。
挑一个数据最少、但专家判断相对明确的问题,做三组对照就够了:先训练简单基线;再补仿真或规则生成的边界样本;最后加入一条可解释的软约束或输出校验。三组方案一起接受分布外工况、传感器缺失、规则边界和专家冲突样本的压力测试。
最后记录需要多少真实标签、最坏错误、约束违反和人工接管,而不是只看平均分。每一次接管都应进入下一轮标注、规则修订或适用范围调整,Agent 才会在真实使用中变得更可靠,而不是只积累更多日志。
如果知识增强模型只在平均分上微涨,却显著减少灾难性输出,它已经可能更适合生产。如果加入先验后性能下降,也别急着责怪模型。数据也许刚刚证明了一条流传十年的经验并不可靠。
端到端学习没有过时,大模型也没有失去价值。只是工业现场从来不是一个无限数据、无限算力、无限试错的游乐场。
工程不是让模型自由发挥,然后为它的创造力鼓掌。
工程是知道哪些地方可以学习,哪些地方必须遵守,哪些地方一旦不确定,就该把控制权交还给人。
回到开头那池看起来很多的日志。真正稀缺的,从来不是正常运行又重复了一天,而是那三滴能告诉系统故障边界的墨水。
数据少不可怕。
可怕的是一边抱怨数据少,一边把已经知道的东西全部留在模型之外。
作者|随机比特
