
微信

飞书
选择您喜欢的方式加入群聊


“昨天销售额是多少?”
如果订单表中一笔订单先支付、后退款,AI 应该回答支付时的成交额、退款后的净销售额,还是当前仍有效的订单金额?
企业业务数据不是静止的。订单、合同、工单和会员记录都会经历状态变化。只读取当前表,或者把每次变化都当成一条新业务记录求和,都会产生错误答案。
常见订单生命周期包括:
因此,“订单数”和“销售额”至少要明确统计状态、统计时点与退款处理方式。
如果源系统只保留订单当前状态,昨天还是已支付、今天变成已退款的订单,会改写昨天的查询结果。
这可能适合回答“截至现在,昨天订单最终净收入是多少”,却不适合回答“昨天收银时实际成交了多少”。两个问题都合理,但对应不同时间语义。
Change Data Capture(CDC,变更数据捕获)会记录插入、更新和删除。SQL Server CDC 会将表上的变更写入可查询的变更表;Debezium 还会为删除事件输出删除记录与 tombstone 消息。
这些记录的用途是重建状态和保留轨迹,不是把每个版本的金额直接相加。数据模型需要识别:
为了减少争议,可以分别定义:
AI 在答案中应展示采用的口径,并在用户只说“销售额”时根据业务场景选择默认值,必要时追问。
订单状态变化不是脏数据,而是业务事实的一部分。
AI 问数要正确处理取消、退款和删除,关键不是过滤一列状态,而是保留状态历史、区分事件时间与查询时间,并明确支付额、退款额和净额的关系。只有这样,历史数据才不会随着今天的一次退款而被悄悄改写。
从认知建立到落地陪跑,我们提供完整的企业AI服务
无论是刚开始评估AI,还是已经准备好落地,我们都能提供对应的支持