文章总结: 文章介绍了一款智能银行流水汇总工具,解决审计中因表头差异导致的汇总难题。工具采用代码控制流程、AI辅助识别表头的混合架构,通过试读首尾数据进行轻量级分析,精准映射数据并自动拆分字段。该工具支持本地模型配置以保障数据安全,显著提升了财务流水处理的效率与准确性。 综合评分: 88 文章分类: 安全工具,安全开发,数据安全
智能银行流水汇总工具,解决各种表头差异
Hunter取证
2026年2月4日 12:24 四川
以下文章来源于茶瓜子的休闲馆 ,作者茶瓜子
茶瓜子的休闲馆 .
人生苦短,早点下班。
最近收到项目的一个需求,让我想到以前刚做审计的时候,我最怕两件事。
第一是函证回不来,第二就是导流水。
尤其是做集团审计的时候,底下几十家分子公司,甚至上百家。每家公司开几个户,两三百个 Excel 让我窒息..
工行、建行、农行、还有各地五花八门的城商行、农商行。
这家的对方户名在 E 列,那家的在 H 列; 这家的摘要叫用途,那家的摘要叫附言; 有的表头在第一行,有的表头前面还要顶几行xx银行交易明细清单。
那时候我一边骂一边 Ctrl+C、Ctrl+V。哪怕后来学会了 Python,写了自动化脚本,也并不轻松。因为脚本太死了,结果下一家分公司的财务导出来的格式稍微变了一点,脚本就报错,红彤彤的一片报错吓得实习生不敢说话。
智能汇总工具
起初我试图用 Agent + MCP + Skill 的纯智能体架构来解决。库库写了三天代码,搞了一堆 MCP 服务,幻想着 AI 能像拥有自由意志一样,自动调用各种技能把这几十家流水搞定。
结果现实很骨感。它就像个记性不好的实习生,处理前几家还行,一旦拉长战线,做到第十家、二十家的时候,它就开始幻觉,忘了自己该干什么,或者胡乱调用工具。
在全自动的 Agent 模式下,AI 每一轮的思考、读文件、报错重试,都会不断填充它的上下文窗口。
比如处理到第20个文件的时候,前19个流水的预览数据,工具调用结果、中间过程的报错代码,就像滚雪球一样堆积在它的上下文里形成噪音,其实第20个任务和前面的信息一点关系都没有。
噪音一旦盖过目标,AI 就开始“胡言乱语”了。它会产生幻觉,引用错误的上下文,甚至明明才处理了 20 家,就自信满满地宣布“所有任务已完成”。
然而并没有完成
这时我意识到路走偏了。其实对于银行流水汇总这种高度确定且重复性的工作流,根本就不该让 AI 全程自由发挥或者规划。这里不需要它的创造力,只需要它的判断力。
于是我推倒重来,用 LangChain 重新写了一个工作流。核心逻辑很简单:流程控制权收回到代码手里,只在最难处理的列名识别、拆分字段、合计定位环节,让 AI 介入一下。 不需要它思考整件事怎么做,它只需要老老实实按我画好的线,走一步,判断一步,填一个坑。
稳,才是底稿的第一生产力。
他的流程很简单:
1. 全格式兼容,轻量级“试读”:代码会遍历扫描文件夹里所有的 Excel。无论是标准的 .xlsx,还是很多银行系统至今仍在使用的古董级 .xls 格式。
我不会全量读取几十万行数据,因为在这个场景中,我只要能定位表头,能理解各个列是什么就行了:截取前 50 行(用于确认表头结构)和后 15 行(确认是否有页脚合计),生成一份轻量的结构预览。
2. 把判断权交给 AI:这是最关键的一步,因为每家银行的表头都不同。 我把这段预览数据扔给大模型,然后告诉他:
它不需要我再去写各种规则,比如正则表达式匹配贷方发生额还是入账金额,AI 能理解语义。哪怕表头叫交易后余额,它也能根据上下文判断出这不是我们要找的收入。
3. 精准搬运:一旦 AI 做了决定,Agent 就会调用我预设好的汇总函数,精准地把每一列数据按照映射关系搬到我们的汇总底稿里。
自动剔除最后的合计行
4. 自动拆分方向:有的银行表头是借方贷方两个字段,有是一列金额+方向列
AI会智能判断方向使用工具进行分列
使用方法
这个工具:
-
没有界面:它就是一个控制台界面,你输入你流水文件存放的文件夹就行了。
-
配置极简:只需要填个 API Key,告诉它你最后想要的表头是什么(比如日期、收入、支出、摘要)。
打开config文件填入key
- 容错率高:碰到这一家是工行,下一家是村镇银行,它都能自适应。
最后会生成2个文件,一个是汇总了所有流水的汇总表,一个是任务清单,可以看到每个表是怎么汇总的,他们的列映射关系是什么样的
固定表头在流水中的对应列
汇总结果
如果在中途你想看结果,可以直接把程序关闭然后打开excel进行查看(在跑的时候不要打开这两个excel,否则无法写入),下次再启动,他会接着任务清单中没有处理的文件继续处理。
这个流的思路其实可以复用到各种看账工具的对齐数据上,后续再慢慢整吧
下载地址:https://wwbai.lanzn.com/b00uzt5w0d 密码:86vi
操作手册:https://www.yuque.com/chaguazi-t6vld/eiqdy0/lcggmp8dxy2akzmx?singleDoc#
最后还是保一下命:
虽然这个工具做了优化,只截取“头尾”进行结构识别,不会全量上传数据,但毕竟涉及发给大模型接口。
如果你对数据安全特别敏感,建议搭配本地部署的模型(如 Ollama + Qwen/Llama),或者使用事务所内部部署的私有大模型服务。
代码里支持配置 base_url,指向你自己的服务即可。
end
希望大家能早点下班。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Hunter取证 《智能银行流水汇总工具,解决各种表头差异》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论