简介:从订单识别、智能客服到数据分析助手,本文拆解 Odoo 与 AI 结合的三种落地形态。核心观点:订单识别要把“读懂”与“建单”拆成两段,用中间表与人工确认把错误挡在账外;智能客服要按错误代价分级;数据分析要可追溯、可验证。读完后你能判断什么场景该自动化、什么场景必须留人。
很多团队谈 AI 落地,喜欢从“模型能不能做”这个问题开始。但真正决定成败的,往往不是模型能力,而是另一句话:这一步错了,会怎样?
按“错了会怎样”分类,企业里的 AI 应用大致可以分成三类:
这三类场景对准确率、人工介入、可追溯性的要求完全不同,落到 Odoo 这类 ERP 系统上,做法也根本不是一回事。本文以订单识别、智能客服、数据分析助手三种形态为例,拆解从“能用”到“敢用”的工程化落地路径。
订单识别是最典型、也最容易踩坑的场景。客户发来 PDF 或扫描件,里面有客户名、料号、数量、单价、交期、备注。传统做法是人对着 PDF 一条条抄进 Odoo,抄完再核对一遍,怕抄错。几十封单子堆到下午,中间还得接催单电话。
最直觉的方案是:让模型读完 PDF,直接调用接口创建销售订单。听起来很顺,但它把“理解”和“写账”绑在了一起——模型理解错了,错误就直接落进了账里,而且往往是不可逆的。
一个真实案例:某工厂第一版就是这么做的。上线第三天,一份客户发来的改单(在原单基础上改了两个数量,邮件正文写着“以此版为准”)被模型当成新订单,系统多建了一张单,仓库照着拣了两箱货。追回来花了半天,客户还问了一句“你们怎么发两次”。
问题不在于模型笨,而在于设计把错误的代价放大了。
稳妥的做法是拆成两段:
第一段只做抽取,输出结构化 JSON。
抽取字段建议包括:
{"customer_name": "客户名称","po_number": "对方单号","lines": [{"sku": "料号","qty": 20,"unit": "箱","delivery_date": "2025-01-15"}],"remark": "备注","confidence": {"customer_name": 0.97,"lines[0].qty": 0.62}}
这里有一条硬规矩:价格不许模型给。
单价应当按“客户 + 料号”去价格表查询,查不到就留空并标红。让模型去认价格,等于让它猜你的商业条款,猜错的代价比省下的时间大得多。
第二段是人工确认,不是全自动。
抽取结果先落到一张中间表,界面左边是原始 PDF,右边是解析出来的表单,字段级标出置信度,低于阈值的标黄。人的工作从“抄”变成“核”,一封单从三分钟压到二十秒,但最后还是由人来按确认。
这一步看着“不够智能”,恰恰是最值钱的地方——它把错误挡在账外,而不是挡在事后。
单位口径。 同一份单上“20 箱”和“20 件”混着写,口径不对,库存直接错一个量级。抽取时把单位单独一个字段,和料号的默认单位对不上就强制人工确认。
重复投递。 客户经常“没收到回复,再发一遍”。用附件哈希 + 对方单号做幂等键,重发的邮件识别为同一张单,不再新建。
手写改单。 扫描件上拿笔划掉一行、旁边写个新数量,模型经常把划掉的也算进去。这类件识别成“低置信度整单转人工”,别硬猜。
成本。 一页 PDF 大概一两千 token,一天两百单的量,月度成本是小几百块级别,比一个内勤一小时的工资便宜。这个量级不必纠结用不用得起,该纠结的是准确率够不够。
智能客服的容错空间比订单识别大得多,但也不能一刀切。建议按错误的代价分层:
落到 Odoo 上,智能客服的典型形态是:
关键原则是:模型负责组织语言,系统负责提供事实。
数据分析助手的容错空间最大,因为它不直接改账,但它的风险在于“看起来对,其实错”。一个错误的趋势判断,可能导致备货决策失误。
比较稳妥的做法是:用户用自然语言提问,模型生成查询语句或指标口径,由系统执行后返回结果。模型不直接给数字,数字来自数据库。
例如用户问“上个月哪个料号出货最多”,模型生成一段聚合查询,系统执行,返回结果表格。模型再基于结果生成一句解释。
“出货量”是按数量还是按金额?“上个月”是按自然月还是按发货日期?这些口径必须提前定义好,作为指标字典的一部分,模型只能引用,不能自己发明。
每次问答都记录:原始问题、生成的查询、执行时间、返回结果、模型解释。这样出错时能回溯,也能持续优化指标字典。
| 形态 | 错误代价 | 是否自动写账 | 人工介入 | 核心设计 |
|---|---|---|---|---|
| 订单识别 | 立刻赔钱 | 否,先落中间表 | 必须确认 | 抽取与建单分离 |
| 智能客服 | 多为白答一句 | 否 | 低置信度转人工 | 检索 + 实时接口 |
| 数据分析 | 数字难看 | 否 | 可选 | 模型写查询,系统给数 |
AI 在 Odoo 里的落地,不是把模型塞进流程,而是重新设计流程,让模型做它擅长的事,让系统做它该做的事,让人守在错误代价最高的地方。三种形态,三种做法,核心都是同一个问题:这一步错了,会怎样?