CASE 02 · 链路已跑通

采购差异定位 Agent

阶段:链路已跑通 · 场景:对账差异定位 · 模型:DeepSeek(SSE 流式 + function calling)

本文中的客户、供应商、站点与内部编号均已脱敏。

01场景

采购遇到一条对账差异,要回头在 IM 里翻当初的报价和变更记录。一条差异翻半小时是常事,经常还翻不到。

02我重新定义的问题

IM 群聊里供应商下单后的报价,才是权威原始记录;对账系统只是下游。
所以我不新建台账——新建台账只是把「口径靠人记」换个地方继续靠人记。我要做的是给现有系统补上三块证据链:报价知识库 + 变更事件流 + 订单台账关联。

03我做的

  • 多 IM 采集 → 结构化 ingest:把散在多个 IM 里的报价与变更消息统一结构化入库,保留原始消息、时间、发送人。
  • 订单台账 + 报价知识库关联:让每条差异都能沿着「订单 → 变更 → 报价」回溯到源头。
  • 差异定位 Skill:输出固定三段——原因 + 证据(引用原始消息、时间、发送人)+ 建议动作。
  • 覆盖四类差异原因,并特意加了一个「查不到就说查不到」的负例。
  • 人工复核点即准确率测量点:把人工复核点设计成仪表盘——被人工改过的比例,就是当前错误率。

04结果

4 类 + 1 负例
差异原因全覆盖,含「查不到」的负例
3 段式输出
原因 + 证据 + 建议动作,固定格式
可回执
每条结论都能指回原始消息、时间、发送人

05技术

Agent 运行时嵌入自研 Node 服务DeepSeek(SSE 流式 + function calling)SQLite多 IM 采集管线

06边界与诚实说明

我刻意没有做全域知识库和多 IM 接入,只做「对账差异定位」这一条纵向切片。
原因是范围一大就很难验收——一条切片能定义清楚「过了」的标准,全域不行。
另外这个 Agent 的价值不在「回答得像人」,而在「每句话都能指回证据」。没有证据链的话术,只是更贵的猜测。