Skip to content

第39课 · AI 生成审计底稿:实战与避坑指南

本节要点

  • 一条指令让 AI 生成货币资金底稿(索引表、审定表、明细表、分析表、测试表)
  • 结果看着不错,但点开看会发现:AI 在「编」没看过的凭证结论、抽样不符合准则、效率不如传统代码
  • 用 AI 做底稿的经验:生成表别填模板、先把数据标准化再生成、脚本要能固化复用
  • 让 AI 不乱来:把要求做成 Skill 加强约束 + 对准则引用做事实性检查
  • 制作底稿 Skill 要原子化:抽样、凭证检查、函证各自独立,科目 Skill 只做流程描述
  • 示例数据(科目余额表、序时账)已上传百度网盘,可下载练习

📁 测试数据获取

本节课演示用的示例科目余额表和序时账数据,已上传到百度网盘,大家可以下载下来跟着练习。

💡 数据是脱敏的演示数据,拿来跑通流程即可。百度网盘链接会在课程群内公布,找不到的话在群里问一下。


1. 实战:一条指令生成货币资金底稿

1.1 准备工作

把科目余额表和序时账放在一个文件夹里,比如:

审计项目/
├── 科目余额表.xlsx
└── 序时账.xlsx

1.2 给 AI 下指令

打开 OpenCode / Claude Code,指向数据所在的文件夹,说一句:

根据这个文件夹里的财务数据(科目余额表和序时账),按照中注协的审计底稿要求,帮我生成一份货币资金的 Excel 底稿。

如果想指定用上一课安装的 Excel Skill,可以在 /skill 里选 Excel Automation(用 Xlwings 操作,格式安全)。不指定也行,AI 会自己选合适的库。

1.3 AI 执行了哪些步骤

AI 收到指令后,大致会走这几步:

  1. 探查目录结构:扫描文件夹,找到科目余额表和序时账文件
  2. 读取并分析数据:读取两个 Excel,做一些统计分析(各科目金额、月度分布等)
  3. 规划任务:拆解成几个子任务——分析数据、写生成脚本、执行生成、验证勾稽
  4. 写 Python 脚本:用代码生成各个 Sheet(索引表、审定表、明细表、分析表、测试表)
  5. 执行脚本:生成最终的 Excel 底稿
  6. 验证勾稽关系:检查金额是否对得上

整个过程大约 5-10 分钟,最后会产出一个完整的 .xlsx 文件。


2. AI 生成的底稿长什么样

打开生成的 Excel,你会发现 AI 已经做好了这些 Sheet:

Sheet内容说明
索引表列出本次底稿包含哪些审计程序相当于目录
审定表未审数据、调整、审定数据的对比底稿核心
明细表按明细科目逐笔列示含编制表头、审计说明、审计结论
分析表月度收支金额统计12 个月的波动分析
收支测试表抽样凭证检查抽了借方 top15 + 贷方 top15 + 随机 10 笔
截止测试表期末截止性测试跨期收入/支出的检查

表头、审计说明、审计结论这些位置,AI 都自动填好了。对于 C 类项目来说,这个完成度已经相当惊艳了。

💡 很多事务所的 C 类项目,现在还做不到这个程度。这说明用 AI 自动生成底稿,是完全可行的。


3. 结果看着不错,但仔细看就发现问题

底稿结构是齐了,可是一张张表点开看,就会发现几个要命的问题。这些不是吹毛求疵,是直接影响能不能用的硬伤。

3.1 最严重的问题:AI 在「编」

先看那张收支测试表。AI 的抽样逻辑是:借方取金额最大的 15 笔,贷方取最大的 15 笔,再随机抽 10 笔,凑成 40 笔。这个抽样方式是否符合你事务所的抽样准则?大概率不符合——审计抽样不是这么拍的。

更要命的是表里的审计说明和审计结论。AI 写得头头是道,好像真的检查过这些凭证一样。但你想想——我根本没给它凭证的 PDF 扫描件,它从哪儿检查的?

截止测试表也是一样。没给任何原始单据,它照样给了检查结论。

这就是目前大模型最典型的问题:它会「脑补」自己没看过的东西。在别的场景这可能无所谓,但审计底稿是签字担责的法律文件,编出来的东西一旦被发现,后果不堪设想。

3.2 效率问题:AI 做这个其实不快

刚才这条指令,从下达到生成完,大概花了好几分钟。对咱们人来说,几分钟生成一整套底稿当然快得不可思议。但对机器来说,这个速度其实很慢。

对比一下:我之前做的审计工具箱,用传统代码批量跑,半小时能生成 100 多家被审计单位的全部明细表和披露表。传统代码写好一次,后面就是机械执行,速度碾压 AI 每次从零开始思考。

所以这里要明确一个判断:不是所有底稿内容都适合用 AI 生成。

像明细表、披露表、辅助到 Word 报告这些——格式固定、内容机械、且容不得半点数字错误的部分,建议还是用传统工具做。执行效率高,准确度有保障。AI 更适合做那些需要灵活判断的部分。

3.3 一个实战经验:生成表,别填模板

如果你确实要用 AI 做底稿,有一个经验要记住:让 AI 用代码直接生成表,不要给它一个 Excel 模板去填。

刚才演示的这条指令,AI 的做法是写 Python 脚本直接生成各个 Sheet——这就是「生成」。为什么不选「填模板」?

第一,速度。 审计底稿的模板通常很复杂——合并单元格、多层表头、条件格式层层嵌套。AI 要先理解你这个模板的结构,这一步极其耗时,而且理解完还经常填错位置。直接生成就没这个问题。

第二,裁剪方便。 每个项目的审计程序是不一样的,C 类项目可能只做几个核心程序。如果是填模板,你得手动把不用的 Sheet 删掉;如果是生成,需要哪些程序就生成哪些,干干净净。

3.4 脚本能固化,但前提是解决格式不一

刚才 AI 写的脚本,是针对这次给的科目余额表和序时账格式来的。如果换一家客户,导出的表头列不一样、科目编码规则不一样,这个脚本就直接废了——AI 又得重新理解格式、重新写代码,效率又掉下来了。

这就引出一个关键问题:每家被审计单位导出的财务数据格式都不一样。 列的顺序、表头行数、有没有辅助核算列……千差万别。这是阻碍自动化的最大障碍。

怎么解决?答案是先把数据标准化。

推荐借助 SW 审计工具箱里的看账功能(或者类似的能做数据清洗的工具)。把科目余额表、序时账、辅助科目余额表导进去,它会自动做清洗,然后把清洗后的标准数据存在本地的一个数据库里。

这样一来,不管原始 Excel 是什么格式,AI 读到的都是同一个数据库里的标准化数据。脚本写一次就能复用,换一家客户只是换数据,代码不用动。


4. 让 AI 不乱来:约束 + 事实性检查

刚才的演示,我下的是一条完全没有约束的裸指令——就让它「按中注协要求生成货币资金底稿」,其他什么都没说。结果就是 AI 按自己的理解随意发挥,该编的编、该省的省。

要让它可控,得从两个方面入手。

4.1 把底稿要求写死,做成 Skill

你的底稿长什么样、每个程序具体怎么做、整个流程分几步——这些不应该每次都在对话里重复说,而是固化成一个 Skill。

Skill 里要明确写清楚:

  • 每个 Sheet 的结构、列名、表头怎么排
  • 抽样按什么规则、检查哪些内容、结论怎么写
  • 第一步做什么、第二步做什么,整个流程串起来
  • 最重要的一条:禁止虚构——所有底稿内容必须基于真实的财务数据和实际提供的审计资料,没看过的东西不许写结论

有了这些约束,AI 就不会像刚才那样「自由发挥」了。

4.2 事实性检查:AI 写的引用未必是真的

AI 生成底稿时,经常会引用审计准则、法规条文来支撑它的审计说明。比如它可能写「根据《中国注册会计师审计准则》第1312号——函证……」。

问题是:它写的这个准则编号和名称,不一定真的存在。 AI 会一本正经地编造看似权威的引用。

所以要做事实性检查——底稿里凡是涉及外部依据的内容(引用的准则、法规、政策原文),都要验证真伪。两种方式:

  • 让 AI 联网搜索,核实准则编号和名称是否真实
  • 或者给它挂一个知识库(参考第 17 课 IMA 知识库、第 36 课本地 RAG),让它从知识库里查证,而不是自己编

⚠️ 这一步不能偷懒。审计底稿里一条编造的准则引用,就够毁掉整份报告的可信度。


5. 真要做底稿 Skill,记住两个字:原子化

如果你打算认真做一个能用的底稿 Skill,这是本节最重要的方法论。

5.1 别把所有功能塞进一个 Skill

很多人第一反应是:做一个「货币资金底稿 Skill」,从抽样到检查到出结论,全包。这样做有三个问题——Skill 太大 AI 理解不了、换个科目又得从头写、改一处可能影响全局。

5.2 拆成单点能力,各自独立

正确的思路是把底稿编制拆成原子化的能力。你看审计工作里,有哪些动作是反复出现的、跟具体科目无关的?

  • 抽样——不管审哪个科目都要抽凭证
  • 凭证检查——抽中了就要核对金额、日期、对方科目
  • 函证——银行、应收应付都可能要发函
  • 截止测试——每个科目期末都要看跨期

这些,每个做成一个独立的原子化 Skill,只完成自己那一件事。它们跟「货币资金」还是「应收账款」无关,是审计的底层能力

5.3 科目 Skill 只管流程,不管执行

那货币资金的 Skill 干什么?它只做流程性的描述——告诉 AI 这一步该做什么、下一步该做什么、每一步去调用哪个原子化 Skill:

# 货币资金底稿编制流程(示意)

第一步:读取标准化数据库,确认货币资金各明细科目余额
第二步:对大额收支进行抽样       → 调用【抽样 Skill】
第三步:核对抽中凭证的原始单据   → 调用【凭证检查 Skill】
第四步:向银行发函确认存款余额   → 调用【函证 Skill】
第五步:检查期末前后的收支跨期   → 调用【截止测试 Skill】
第六步:汇总分析,得出审计结论

注意,货币资金 Skill 自己不执行任何检查,它只是个「调度员」。具体干活的是那些原子化 Skill。

这样的架构有两个好处:

第一,换个科目——比如做应收账款底稿——你只需要写一个新的流程描述(应收账款的步骤和货币资金不一样),底层的抽样、函证、截止测试这些 Skill 原封不动复用

第二,每个原子化 Skill 可以单独打磨。抽样逻辑优化了,所有科目都受益。


6. C 类项目怎么落地

C 类项目(低风险、规模小)最适合用 AI 自动化。建议路径:

路径一:传统代码 + AI 写代码(推荐)

  • 明细表、披露表、辅助到报告:用传统代码工具(AI 帮你写代码)
  • 这些内容固定、格式统一,做成系统或工具批量执行
  • 执行效率高,准确度有保障

路径二:Skill + 流程描述

  • 把审计程序拆成原子化 Skill
  • 科目底稿用流程描述串联,AI 按步骤调用
  • Skill 内部可以嵌工具(比如调用数据库、调用清洗后的数据),提高执行效率

路径三:混合方案(最务实)

  • 能用传统工具的(明细表、披露表),就用传统工具
  • 需要灵活判断的(抽样策略、异常分析、审计说明撰写),用 AI Skill
  • 两者通过标准化数据(数据库)打通

💡 这个过程不简单——你需要对自己的审计业务有深入理解,同时能把需求清楚地说给 AI。但一旦跑通,C 类项目的底稿编制可以大幅自动化。


⚠️ 常见问题

AI 生成的底稿可以直接归档吗?

绝对不行。 至少要人工复核以下几点:

  • 凭证检查、函证等需要看原始单据的程序——AI 没看单据就写的结论必须删除重做
  • 引用的准则编号、名称——必须逐条验证是否真实存在
  • 金额勾稽——AI 生成的数字要和原始数据核对
  • 审计结论——不能照搬 AI 写的模板话术,要基于实际审计发现

AI 生成一份底稿要多久?

简单的裸指令大约 5-10 分钟。如果做成固化 Skill + 标准化数据,可以缩短到 1-2 分钟。但批量处理(几十上百家)还是建议用传统代码工具。

不同事务所的底稿模板不一样,Skill 能通用吗?

科目级 Skill 不通用(每家模板不同),但原子化 Skill 通用(抽样、函证、截止测试这些能力跟事务所无关)。建议优先打磨原子化 Skill,科目级 Skill 根据自己事务所的模板定制。

不会写代码,能做底稿 Skill 吗?

可以。你不需要自己写代码,只需要:

  1. 懂审计业务(知道每个程序该做什么)
  2. 能把流程说清楚
  3. 让 AI 帮你写代码、做 Skill

这正是本课程一直在训练的核心能力——把需求说清楚,让 AI 去实现


关键收获

TIP

一条裸指令就能生成结构完整的底稿,说明 AI 做审计底稿完全可行,尤其对 C 类项目。但要用好它,记住三件事:

  1. 别全交给 AI:明细表、披露表这些格式固定、容不得错的,用传统工具更靠谱——AI 做这个又慢又不稳
  2. 别让它自由发挥:把底稿要求和流程固化成 Skill,明确禁止虚构;所有准则引用都要做事实性检查
  3. Skill 要拆开做:抽样、凭证检查、函证做成独立的原子化 Skill,科目底稿只写流程描述去调用它们——换个科目底层全复用

最后记住:每家事务所的模板都不一样,没有一个现成的 Skill 能直接套用。但只要掌握了「标准化数据 + 约束 + 原子化」这套方法论,C 类项目的底稿自动化完全做得出来。


下一步

  • 下载示例数据,跟着视频跑一遍货币资金底稿生成
  • 思考你手头的 C 类项目,哪些程序可以拆成原子化 Skill
  • 结合第 6 课(学会 Skills)和第 10 课(Skill Creator),开始制作你的第一个原子化 Skill

参考链接

© 2025 逆行的狗