先让它查数据。再让它写报表、生成页面、回答业务问题。接着,大家自然会问:既然它已经能看懂订单和库存,是不是也可以帮我们调库存、创建采购单、修改状态,甚至直接处理异常?
听起来很顺。但真正开始做,就会发现事情没有那么简单。
Agent 的问题通常不是“不够聪明”,而是它很快走到了业务边界前:它看到的数据是不是事实?这个动作能不能做?做完后影响谁?失败了谁来接住?
我觉得,AI Agent 接入 ERP 最容易先做错的一件事,就是先想“让 AI 多做一点”,却没有先定义“哪些事它可以被允许做”。
一、把聊天框当成 ERP 的入口
聊天框确实很容易让人兴奋。
以前要打开几张报表、点几个菜单才能查到的事,现在一句话就能问出来。它会让人觉得,传统 ERP 那套对象、状态、流程和权限,好像都可以被绕过去。
但 ERP 的价值从来不只是页面多、菜单多。
它管理的是订单、库存、履约、结算这些经营事实;它也在定义哪些状态能变化、什么人能操作、操作之后会留下什么结果。
Agent 可以成为更自然的入口,但不能成为绕开业务规则的后门。
比如“帮我把这批库存调给另一个渠道”,看起来只是一句话。可背后至少要说清:调的是哪一类库存?是否已经被订单占用?会影响哪些客户承诺?谁有权限确认?如果外部执行失败,库存应该停在哪个状态?
这些问题没想清楚,聊天框越方便,风险反而越大。
二、把所有数据都当成同一种事实
ERP 里经常同时存在几类信息。
订单状态、可用库存、已确认结算,属于相对稳定的经营事实;销量趋势、周转天数、缺货风险,属于帮助判断的分析指标;物流轨迹、平台回传、仓库处理进度,可能是还会变化的外部状态;而“处理中”“等待审批”“执行失败”,则是一项操作的过程信息。
它们都能被 Agent 读到,但不能被同样对待。
如果 Agent 把一个尚未确认的外部状态,当成已生效的库存事实,就可能给出错误建议;如果它把一个分析预警,当成确定结论,就可能推动不必要的操作。
所以,接入 Agent 前要先给数据分层:什么能作为判断依据,什么只能作为提醒,什么需要等确认,什么只能用于解释过程。
不是数据接得越多越好。先让 Agent 知道哪些数据可信、何时可信,才更重要。
三、把“操作”理解成一次点击
很多自动化,最初都是从模拟人的点击开始的。
但业务动作不应该只是“点了一个按钮”。它应该是一个有边界的能力:作用于什么对象、需要哪些输入、满足什么条件、成功后改变什么、失败后如何处理。
以“提交补货建议”为例。它不该只是 Agent 在页面上填一串数量。
更合理的方式是让它先生成建议,写清依据和影响范围;当人确认后,再调用一个受控的提交动作;提交后有明确的处理中、成功、失败状态,用户能看到结果,也知道失败后下一步找谁。
这样,Agent、网页、定时任务都能调用同一套业务能力。入口可以不同,但规则不应该各自复制一遍。
四、自动化做得太早,也做得太深
Agent 很适合先接管低风险、重复又耗时间的工作。
例如汇总订单上下文、核对数据、识别异常、关联影响范围、生成沟通草稿、提醒责任人、整理待处理清单。这些事情即使有偏差,也容易被人复核和纠正。
规则明确、结果可撤销的动作,也可以逐步自动处理。
但价格调整、采购下单、库存调拨、资金安排、客户时效承诺,这些决定会直接改变经营结果。Agent 可以分析,可以列选项,可以提示风险,但不应该因为“看起来合理”,就绕过人工确认或既定审批规则。
判断一项动作是否可以自动化,不要只问“模型能不能完成”。还要问三件事:
做错的影响大不大?
结果能不能撤销?
是否有清楚的规则来判断对错?
这三个问题里,只要有一个答案不清楚,就先让 Agent 做建议,而不是执行。
五、只看结果,不保留过程
真实业务很少是点击后立刻完成。
一次操作可能要等待审批、等待仓库确认、等待平台回传,也可能超时、失败或需要重试。
如果系统最后只留下一句“已完成”或“执行失败”,团队很快又会回到群里追问:谁发起的?卡在哪里?有没有重复提交?现在该谁处理?
因此,Agent 发起的每一项操作,都应该看得见过程:发起人是谁、调用了什么能力、依据哪些信息、现在处于什么状态、失败原因是什么、下一步如何恢复。
这不只是为了审计。对 Agent 自己来说,过程记录也是下一次继续处理时必须理解的上下文。
先从一个小闭环开始
如果现在要把 Agent 接入 ERP,不建议先做一个“什么都能问、什么都能做”的全能助手。
先选一个高频、规则相对清楚、结果可追溯的场景。
比如履约异常。先让 Agent 发现物流变化,关联受影响的订单和库存,解释风险,生成待办和沟通草稿;再让负责人确认优先级;最后只在规则允许的范围内发起后续动作。
一个小闭环跑通之后,再扩展到库存风险、补货建议或结算核对。这样沉淀下来的不只是几个看起来很酷的 AI 功能,而是一套真正可以复用的经营能力。

