先讲一个财务人最熟悉的场景。
每月5号,对账日。
财务小吴打开两个系统:银行下载的流水Excel,公司ERP导出的收支明细。左边屏幕是银行流水,右边是ERP记录,中间是一张手写的纸质便签,记着几笔“存疑”的交易号。
她的工作很简单,也很折磨人:把两边的数据逐条匹配,找出差异,标记原因,最后生成一份对账调节表。
第一步,把银行流水和ERP都按“交易时间”排序。第二步,用VLOOKUP或者眼睛扫,一笔一笔勾。3000多行数据,有的金额对不上,有的时间差一天,有的备注写“手续费”但ERP里记成了“服务费”。碰到匹配不上的,她要在ERP里反查原始单据,或者打电话问业务部“这笔钱是什么”。
午饭前,她对完了三分之一。下午继续,眼睛花了,不小心把一笔4980元匹配到了另一笔4890元上。下班前发现差异表平不了,只好加班重新查。
“每个月都要来这么一次,每次至少一整天。”她揉着眼睛说。
后来,公司先上了一套RPA(机器人流程自动化),专门做对账。规则写死:按“金额+日期”精确匹配,匹配上的打钩,匹配不上的标红。运行速度是快了,但遇到日期差一天、金额有手续费分拆的情况,RPA就傻眼,还是得小吴手动处理。
再后来,我们把RPA升级成了智能办公Agent。现在小吴每月的对账时间从8小时缩到了40分钟,而且再也没加过班。
这篇文章,我会用一个真实的财务对账场景,讲清楚RPA和智能Agent到底差在哪,怎么一步步升级,以及升级路上那些必须避开的坑。
一、RPA做对账:快,但不够聪明
先肯定RPA的价值。
RPA的本质是“按规则执行脚本”。在财务对账场景,典型的RPA流程是这样的:
登录网银,下载指定日期范围的流水Excel。
登录ERP,导出相同日期范围的收支明细。
将两张表按“交易日期+金额”做精确匹配。
匹配上的行标记“已对”,未匹配的行输出到差异表。
生成对账调节表(Excel格式)。
整个过程自动化,30分钟跑完3000行,比人工快8倍。小吴只需要复核差异表。
但现实永远比规则复杂。小吴很快发现了RPA的“死穴”:
场景一:银行流水里有一笔10000元入账,ERP里有两笔5000元入账,时间相差2分钟。RPA按单笔匹配,匹配不上,标红。实际上客户分两次付的,应该合并匹配。
场景二:银行扣了一笔120元手续费,ERP里记作“银行服务费-账户管理”,金额对得上但摘要不同。RPA只看金额+日期,匹配成功,但摘要差异被忽略了,审计时才发现“摘要对不上”。
场景三:12月31日的交易,银行流水显示12月31日,ERP因为时区或入账延迟,记成了1月1日。差一天,RPA匹配失败,标红。实际上这是一笔正常交易,需要按“±1天”模糊匹配。
RPA的每一条规则都是人写死的。规则覆盖不到的情况,就需要人工介入。而财务对账的异常情况花样百出,RPA写死规则的成本和维护成本越来越高。
这就是RPA的“玻璃天花板”:它能代替人的手,但不能代替人的判断。
二、智能Agent:从“匹配规则”到“理解意图”
我们把RPA升级成Agent,核心改变不是换了一个更快的脚本引擎,而是让系统学会“理解”和“决策”。
先看一下Agent做对账的新流程(后面会细讲每一步的技术实现):
自动抓取银行流水和ERP明细(和RPA一样)。
智能匹配层:不只按金额+日期精确匹配,还会做:
合并匹配(多笔银行流水vs一笔ERP,或反之)
模糊匹配(日期±N天,金额±手续费,摘要关键词相似度)
规则自学习(用户确认一次“这两笔应该匹配”,Agent记住并应用到下次)
差异分类:匹配不上的记录,Agent会根据上下文判断可能的原因:
“银行已收企业未收”(可能是客户付款但ERP未入账)
“企业已付银行未付”(可能是支票未兑付)
“金额差异”(手续费、汇兑损益)
“待人工确认”(无法判断)
生成对账调节表:不是死模板,而是根据实际差异类型动态生成说明。
主动询问:对置信度低于阈值的匹配结果,Agent会发飞书消息问小吴:“这两笔是否匹配?”小吴点“是”或“否”,Agent学习并继续处理。
下面我把最关键的两个能力展开讲:智能匹配和差异推断。
三、智能匹配:比“精确匹配”多走三步
3.1 合并匹配
银行流水里有一笔10000元,ERP里有两笔5000元,时间相近。Agent如何判断应该合并?
实现逻辑不复杂:
先将所有未匹配的记录按“对方账户/摘要关键词”分组。
在每个分组内,尝试将银行流水的金额与ERP的多条金额做子集求和匹配。
如果存在子集和与银行流水金额相等(或差额在允许误差内),则自动合并匹配,并在注释里注明“由多笔合并”。
小吴第一次看到Agent自动合并了客户的两笔5000元付款时,惊讶地说:“它居然知道这俩是一家人的钱。”
3.2 模糊匹配
日期差一天怎么处理?Agent使用“滑动窗口”策略:
对每条未匹配的银行流水,在ERP中搜索日期±3天、金额±0.5%的记录。
如果有且只有一条候选,则自动匹配,标记为“日期模糊匹配”。
如果有多条候选,Agent会进一步比对摘要关键词(用LLM做相似度计算),选最相似的那条。
金额带手续费的情况:比如银行流水980元,ERP里有一笔1000元,备注“扣除手续费20元”。Agent会检查是否存在金额差等于常见手续费(如20元、5元、10元)的情况,如果是,则自动匹配并标注“手续费差异”。
3.3 规则自学习
这是RPA做不到的。Agent会记录每一次人工干预:
小吴手动匹配了A(银行流水)和B(ERP记录),Agent就把这对匹配关系存入一个“匹配案例库”。
下次再遇到类似的组合(比如相同的金额差、相似的时间差、相同的摘要模式),Agent自动应用之前的匹配逻辑。
三个月后,这个案例库积累了200多条匹配模式,Agent的匹配准确率从最初的82%上升到了96%。
四、差异推断:不只会标红,还会给原因
RPA标红的那些行,小吴还是要一条条查原因。Agent做了差异推断,很多红字自己就“变绿”了。
Agent维护着一张“差异类型判断表”(用规则+LLM结合):
观察到的特征 推断的差异类型
银行有,ERP无,且金额为正,日期为近3天 银行已收,企业未收(在途)
银行有,ERP无,且金额为负(扣款) 银行已扣,企业未入账(费用)
银行无,ERP有,且金额为负(支付) 企业已付,银行未扣(支票未兑)
金额差异=固定数字(如20、50),且摘要含“手续费” 手续费差异
金额差异微小(<1元),且交易时间相近 汇兑损益或四舍五入差异
对于无法判断的,Agent不会瞎猜,而是生成一个“待确认”列表,并附上推理过程。例如:
“银行流水行#1245(金额10000元)与ERP中#567、#568(金额8000+2000)时间相差5分钟,金额总和相等,疑似合并支付。请确认是否匹配?”
小吴点一下“确认”,这个模式就被学到案例库里了。
五、一个完整的对账过程(从8小时到40分钟)
下面是Agent上线后,小吴某个月的真实操作记录:
9:00 小吴打开飞书,对Agent说:“开始10月对账。”
9:01 Agent自动登录网银和ERP,下载数据(后台操作,小吴不用输密码,用OAuth令牌)。
9:03 Agent开始智能匹配。后台日志显示:精确匹配成功2100条,合并匹配120条,模糊匹配(日期偏移)85条,手续费匹配40条。剩余655条未匹配。
9:08 Agent对未匹配记录做差异推断:其中420条判为“银行已收企业未收”(主要是月底两天的付款),150条判为“企业已付银行未付”(支票支付),35条判为“金额差异需复核”,50条判为“待人工确认”。
9:10 Agent生成对账调节表草稿,并在飞书发消息给小吴,附上待确认的35条金额差异记录和50条待人工确认记录。
9:15 小吴打开Agent提供的交互界面,快速浏览这85条记录。大部分金额差异是手续费或四舍五入,她批量确认“接受”。只有5条确实异常(比如客户付少了),她手动备注原因。
9:40 Agent根据小吴的确认更新调节表,生成最终版,自动存档并发给主管。
总耗时40分钟。小吴以前要花一整天的工作,现在可以在上午完成。而且过程中她的眼睛没酸过,因为不需要盯屏幕一条条对。
六、避坑指南:从RPA升级到Agent最容易踩的五个坑
坑1:过度依赖LLM做匹配
有些人一听说“智能Agent”,就觉得应该把所有匹配逻辑交给大模型。这是大错。LLM贵、慢、不稳定。正确的做法是:先用规则和算法做80%的匹配(精确匹配、合并匹配、日期偏移),剩下的20%疑难杂症才交给LLM做语义判断。我们测试下来,纯规则+算法已经能覆盖85%的场景,LLM只用来处理摘要歧义、对手方名称不一致等模糊问题。
坑2:忘记审计日志
财务对账必须可追溯。Agent每做一个自动匹配,都要记录“为什么这样匹配”(匹配依据、置信度、是否经过人工确认)。我们曾经有一次审计,需要证明“这笔合并匹配是合理的”,幸好Agent的日志里存了当时判断用的规则和原始数据快照。没有日志,Agent比RPA更危险——因为它的决策更难解释。
坑3:把“学习”做成黑盒
案例库的自学习虽然好,但如果学错了,会污染后续所有匹配。我们的做法:学习的内容必须有人显式确认才能进入案例库。小吴每次确认“这两笔应该匹配”,系统才存入案例库。她如果只是浏览一下,Agent不自动学习。同时,案例库支持回滚和删除。
坑4:忽略权限和敏感数据
Agent访问银行流水和ERP数据,权限必须最小化。我们的Agent只能“读”和“标记”,不能“改”原始数据,更不能转账。另外,训练案例库时,金额和账户信息要做脱敏处理。曾经有团队把真实对账数据喂给云端LLM做调优,结果数据泄露,教训惨痛。
坑5:上线就撤掉人工复核
最危险的心态:Agent自动对账准确率95%,所以不用看了。那5%的差异可能是几百万的差错。我们的原则:Agent永远只输出“草稿”,必须有财务人员“终审”。Agent可以标记“此差异置信度99%”,但终审按钮必须由人按。这不是技术问题,是风控底线。
七、总结:RPA是手脚,Agent是大脑
RPA把财务人从重复劳动中解放了手和眼,但解放不了大脑。智能Agent进一步,把一部分判断和决策也自动化了——不是取代人,而是替人做那些“有规律但不完全固定”的脑力活。
小吴现在每个月对账的那天,不再像以前那样如临大敌。她有了时间去分析差异背后的业务原因,比如“为什么这个客户总是延迟入账?”“某个银行的手续费是不是收错了?”——这些才是财务工作真正有价值的部分。
如果你正在被财务对账折磨,或者已经用了RPA但还是觉得“不够聪明”,不妨试试从一个小场景开始:先给RPA加一个“合并匹配”的能力,再逐步引入模糊匹配和学习机制。你会发现,从RPA到Agent的升级,不是换一套技术栈,而是换一种思路:让系统学会适应变化,而不是让变化去适应系统。
最后送你一句话:最好的自动化,是让你忘了自动化的存在。 当小吴不再念叨“今天要对账”,而是自然地收到一份已经处理好的调节表时,这个Agent就真的成功了。