第 11 次课:数据分析与可视化
一、上节课回顾
上节知识要点:
- 大模型写长文会越写越飘,先锁大纲再填内容,比事后改省力。
- 素材里没说清的数字标【待确认】,不要替主管编。
- 改需求要局部改、说清为什么,不要整篇重写。
上一课练的是文字——把零散留言写成方案。这一课换一类工作:数字。练两件更有得展示的事:把一堆发票整理成账、把自己的账单变成一张能双击打开的网页大屏。
二、本节课任务与安排
本课交付
记住六字口诀「模型看,程序算」:让 AI 批量识别 8 张发票并用 Python 脚本汇总成 Excel 和对比图,再把自己的 9 月账单做成一张网页可视化大屏,最后亲手手算核验 AI 的数字。
下课时你会带走:一份发票明细 Excel 加对比图、一个能双击打开的消费大屏、一页手算核验记录,和两条带数字的消费发现。
| 顺序 | 环节 | 学生产出 | 时间 |
|---|---|---|---|
| 回顾 | 回顾上节课 | 想起先大纲后成文与待确认 | 5分钟 |
| 交付 | 看老师完整演示一遍 | 知道本课交四样成果 | 3分钟 |
| 理论 | 理论基础:模型看,程序算 | 三句判断 + 识别/计算分工结论 | 8分钟 |
| 案例1 | 🔧 案例1:发票批量处理 | 8 张发票识别表 + Excel 汇总 + 对比图 | 18分钟 |
| 案例2 | 🔧 案例2:我的消费账单可视化 | 一个能双击打开的网页大屏 | 15分钟 |
| 案例3 | 🔧 案例3:手算核验与消费发现 | 抽检记录 + 两条带数字的消费发现 | 10分钟 |
| 案例4 | 🔧 案例4:把流程蒸馏成技能 | 数据分析技能 + 迷你账单试跑记录 | 8分钟 |
| 收尾 | 回扣六字口诀 | 能复述三个错误三种修法 | 3分钟 |
| 机动 | 等待与排错 | 补齐必做成果 | 10分钟 |
| 扩展 | 扩展任务:换你的真实账单重跑(选做) | 个人真实账单大屏 | 10分钟 |
别干等:账单分析一次通常要 3–8 分钟。发出去之后先做上一个案例的收尾,谁先跑完先核谁。
环境与准备:本课操作能用鼠标点的都用鼠标;本机课程目录
D:\AIGC\lesson-11(不补零)。WorkBuddy 的 Python 沙盒是否可用以课前实测为准:[课前演练补充]
三、理论基础:模型看,程序算
今天算毛利时你会撞上一个安静的错误:让 AI 直接报总数,它给的那个数看着合理、差几十块钱你根本发现不了。看懂和算对是两种能力——今天整节课都在练怎么把这两件事分给对的人。
概念一:AI 和数字打交道有两条路。 识别(看懂)靠大模型的视觉与语言理解,会看错数字、读漏一行——比如从发票图上读出「¥1,500.00」;计算(算对)靠 Python 脚本,结果精确唯一。识别让模型干,是因为它认字认图的能力没法一行行教;计算必须让程序干。
图:上面一条路是识别——模型把图片/表格里的数字「读」出来;下面一条路是计算——程序按你写死的口径算。两条路之间接的是「口径」。
概念二:加减乘除必须写程序。 让 AI 心算 8 个数相加,它可能给你一个接近但不精确的数,而且说不清哪步算的;Python 脚本永远给出精确唯一的 3022.70,错了还能定位到行。凡是可以写进程序、规则明确的运算(求和、分类汇总、百分比、排序),都要求写成 Python 脚本执行并贴出代码——你核的不是它报的数,而是它写的程序。
概念三:口径是命门。 程序算得再准,也得先有人告诉它「算什么」:发票取「价税合计」还是「金额」?账单按「类别」还是「商家」分组?口径不说死,程序就会精确地按错误口径算完、画一张很漂亮的图——错得越自信,越难发现。
决策关口:先写三句话,再进案例1
- 什么时候用:写下「识别」和「计算」分别该交给 AI 的哪一半。
- 什么时候不用:写下什么时候不能依赖模型心算(三位数以上加法、多行汇总、百分比)。
- 人工必须核什么:写下发票识别结果里你准备重点核对的两个字段。
四、实操环节
案例1:发票批量处理
任务目标:
老师带你处理 8 张发票:先让 AI 逐张识别出发票号和金额,再要求它用 Python 脚本汇总成 Excel 和对比图。重点不是算出 3022.70 这个数,是看清——识别错误和计算错误是两码事,要分开修。
图:第②步识别和第④步计算是两条独立的线;第③步「定口径」告诉程序取哪个数。
实操步骤
建本机目录:打开「此电脑」→ 双击 D 盘,空白处右键 → 新建 → 文件夹,命名
AIGC;进入后同样右键 → 新建 → 文件夹,命名lesson-11。执行后你会看到:本课目录D:\AIGC\lesson-11就位。从课程资料页把 8 张发票样本(7 月 2 日至 8 月 25 日)逐个下载放进
D:\AIGC\lesson-11,核对 8 张 PNG 都在。执行后你会看到:目录里有A_发票样本_01_20260702.png到A_发票样本_08_20260825.png共 8 个文件。第一段提示词:只识别,不算。打开 WorkBuddy 新任务,把 8 张发票图片全部作为附件上传,发送下面这段提示词。执行后你会看到:一张一行一张发票的识别表。
text这是一批报销发票,一共 8 张图片。请先只做识别,不要做任何计算: 1. 逐张识别:发票号码、开票日期、销售方、价税合计(右下角小写金额); 2. 输出成一张表格,一行一张发票; 3. 多行明细的发票只取底部的价税合计,不要取明细行; 4. 金额里的千分位逗号去掉(¥1,500.00 写成 1500.00),统一保留两位小数; 5. 拿不准的数字写「待确认」,不要猜。 不要汇总总数,不要画图,不要生成文件。为什么这么做:识别和计算混在一个指令里,出错了分不清是看错还是算错。先单独要一张识别表,错误就停在计算之前。
核对识别结果。打开《核验与发现记录模板》第一部分,抽 3 张发票,把图片上的价税合计和 AI 识别的并排写下来。重点看:多行明细的发票是不是取了底部合计;大额发票的千分位有没有正确处理;有没有哪张票被看错(8 看成 6、3 看成 5)。执行后你会看到:三张抽检对照记录,错的那张回它"第 X 号识别错了,图片上是 ¥XX.XX,请重新识别"。
第二段提示词:计算必须写程序。识别表确认无误后,在同一任务里发送。执行后你会看到:一个 Excel 工作簿和一张对比图,外加贴出的 Python 脚本。
text识别结果确认无误。现在做汇总,必须遵守: 1. 所有加减乘除必须用 Python 脚本计算,不允许直接心算报数; 2. 脚本里明确算出:8 张发票总价税合计、按开票月份(7月/8月)分组合计、 按销售方分组合计; 3. 输出一个 Excel 工作簿:Sheet1 是发票明细表,Sheet2 是汇总表; 4. 画一张「7月 vs 8月」发票金额对比柱状图; 5. 把 Python 脚本的关键部分贴出来,让我能看到你怎么算的。为什么这么做:要求「用 Python 脚本」不是形式——它让计算可复现、可审计。脚本贴出来,错在哪一步一眼就能看到。
核总数。对着脚本和汇总表核三件事。执行后你会看到:三个数互相对得上。
对着验收表核一遍,三行都过关再进案例2:
查什么 合格的样子 识别核过了 抽 3 张发票,价税合计与图片一致,不一致的写清差多少 计算用了程序 AI 明确用 Python 脚本并贴出关键代码,不是直接报数 汇总自洽 8 张合计 = 7月 + 8月 = 3022.70,分类合计加起来 = 总额
问题与注意事项
- AI 直接报了个总数没写程序:回它"请把计算写成 Python 脚本执行并贴出来"。
- 多行发票取错了数:指出"第 X 号是多行明细,取底部价税合计那一行"。
- 识别金额和图片对不上:先让它重新识别那张票——改识别,不是改计算。
- Excel 打不开:让它导出
.xlsx,并确认本机装了 Excel 或 WPS。 - 它说"图片看不太清,我猜是 XX":识别拿不准必须写「待确认」,猜的金额会一路算进汇总。
扩展练习(选做)
换 3 张你手机相册里的真实发票(先给个人信息打码),用同一套「先识别后计算」流程跑一遍。执行后你会得到:一次真实场景的识别准确率记录。
案例2:我的消费账单可视化
任务目标:
换一份你自己的数据——9 月消费账单 CSV,37 笔记录。你独立完成从上传、定口径、让 AI 用 Python 计算,到产出一个能双击打开的网页可视化大屏。成果可以直接发给朋友看。
实操步骤
从课程资料页下载 我的 9 月消费账单(CSV)放进
D:\AIGC\lesson-11,用记事本打开看一眼字段。执行后你会看到:日期、类别、商家、金额、支付方式五列。新开一个任务(不要在案例1 的任务里接着做,否则 AI 会把发票的上下文带进来),上传 CSV,发送:
text这是我的 9 月消费账单 CSV,字段:日期、类别、商家、金额、支付方式。 口径说明: - 类别只有六种:餐饮、购物、娱乐、交通、学习、其他; - 金额单位是元,保留两位小数; - 我要看:9 月总支出、六大类分别花了多少和占比、 每天的支出趋势、微信/支付宝/现金各花了多少。 请遵守: 1. 所有汇总计算必须用 Python 脚本,不允许直接心算报数; 2. 计算完成后,生成一个单文件 HTML 网页(内嵌 ECharts,双击就能打开): ① 六大类消费占比饼图;② 9 月每日支出折线图;③ 支付方式对比柱状图; 3. 网页要有标题、每个图表的名称和数据来源说明,配色清晰; 4. 把关键计算结果用文字列出来,和网页里的数字保持一致。为什么这么做:可视化是"锦上添花",计算才是"地基"。先让脚本算准,再让脚本画图——图里的数字来自同一份计算结果,才不会各说各话。
打开网页验收:下载 AI 给的 HTML 文件,双击打开。执行后你会看到:三张图表正常显示。
对着验收表核一遍,三行都过关再进案例3:
查什么 合格的样子 网页能打开 双击 HTML 出现三张图表,无报错 图表完整 饼图(分类占比)、折线图(每日支出)、柱状图(支付方式)都在 数字自洽 六类占比加起来 100%,各类金额之和 = 总额 1176.20 自己核三件事。执行后你会得到:三条写进记录的核对结论。
- 花得最多的一类是不是购物(352.90 元)?餐饮排第几(290.50 元)?
- 9 月哪一天支出最高?(9 月 5 日,当天共 135.00 元)
- 现金是不是花得最少(60.00 元)?
问题与注意事项
- 网页打不开或白屏:多半是 ECharts 用了联网 CDN。让它"把 ECharts 内联进 HTML,单文件离线可打开"。
- 图很漂亮但数字是错的:先对口径和脚本——数字错了图再好看也不能交。
- 它又"心算"了:明确回"计算必须写在 Python 脚本里执行,把脚本贴出来"。
- 各类金额加起来不等于总额:让它按类别分组重新汇总,把分类小计一行行列出来。
扩展练习(选做)
把网页大屏改成"深色炫酷版",或加一张"周几花钱最多"的柱状图。执行后你会得到:改版大屏——可视化模板可以反复让 AI 改,每次只提一个具体改动。
案例3:手算核验与消费发现
任务目标:
不信 AI 给的总数。按抽检范围抽 3 张发票核 AI 的识别、抽 5 条账单手算分类合计;然后按「发现 → 推断 → 建议」三段式写两条带数字的消费发现。这一步练的是:AI 的数字要经过你的手才算数。
实操步骤
从课程资料页下载 核验与发现记录模板,打开备用。执行后你会看到:发票抽检、账单手算、消费发现三个空白区。
按下面的抽检范围完成核验。执行后你会得到:填好的核验记录,差异超过 0.1 元的回头查脚本。
text输入素材: 抽检范围:发票样本 01、04、08 三张;账单第 3、9、17、25、33 条。 合格线:手算与脚本差异 ≤ 0.1 元。 输出要求:发现按「发现(带数字)→ 推断(为什么)→ 建议(一个动作)」 三段式写两条,每条引用具体金额或百分比。 输入素材结束。先用一句话让 AI 把六类合计摆出来,方便逐类对:
text把这 37 笔消费按类别汇总,输出三列:类别、笔数、金额合计。 保留两位小数,不要千分位,不要省略任何类别。再从账单 CSV 里抽出指定的 5 条记录,自己用计算器算小计,按六类分别加总一遍,和输出结果对比。
为什么这么做:你核的其实是「口径」——脚本是不是真的按六类在分、有没有把某笔算进错的类别。5 条两分钟,比返工一张大屏快。
对着验收表核一遍,四行都过关再进案例4:
查什么 合格的样子 发票核过了 3 张发票都核过,不一致的写清哪张、差多少 手算过了 5 条 + 六类合计自己算过,与脚本差异 ≤ 0.1 元 发现带数字 两条都引用了具体金额或百分比 没有空话 不出现"少花点""理性消费"这种没法执行的话
问题与注意事项
- 手算和脚本差很多:多半是口径不一致——脚本把某笔算进了别的类别。看脚本的分类逻辑,而不是改数字。
- 发现写得像口号:"建议少点外卖"不是发现。"餐饮 13 笔共 290.50 元、占 24.7%,每周少点 1 次外卖(18.50 元),一个月约省 74 元"才是。
- 分不清错在哪:识别错 → 重新识别那张票;计算错 → 看 Python 脚本;口径错 → 重新说清"取哪个数、按什么分组"。
扩展练习(选做)
把抽检范围换成你学号尾数对应的 3 张发票和 5 条账单,再核一遍。执行后你会得到:第二份抽检记录——两份都过,说明整批数据可信。
案例4:把流程蒸馏成技能
任务目标:
把今天反复用的「识别 → 定口径 → Python 计算 → 手算核验 → 出成果」蒸馏成一个数据分析技能,并用一份迷你账单快速试跑。流程固化下来,下次拿到任何数据都按这一套走。
实操步骤
新建对话,用
skill-creator蒸馏技能。执行后你会看到:一个名为data-check的技能创建完成,并告诉你触发词。text请帮我创建一个名为 data-check 的技能,用 skill-creator。 输入素材: 用途:处理发票图片、消费账单等数据,出识别表、汇总和图表。 流程五步:识别/读表、说死口径、Python 脚本计算、手算核验、出成果。 硬规则:识别和计算分开,先出识别表再算; 所有加减乘除必须写 Python 脚本并贴出代码; 多行明细取底部合计;千分位去掉保留两位小数; 拿不准的数字写「待确认」;发现和建议必须带数字。 输入素材结束。 创建完成后告诉我触发词和不适用的情况。用一份迷你账单试跑技能(10 月前 8 笔消费,模拟数据)。执行后你会得到:一份按流程输出的识别、汇总和一条带数字的发现。
text请用我的 data-check 技能处理下面这批数据。 输入素材: 10 月消费账单(日期,类别,商家,金额): 10-01,餐饮,二食堂,12.00 10-02,交通,地铁,6.00 10-03,购物,文具店,25.80 10-05,餐饮,外卖,18.50 10-08,学习,打印店,9.60 10-12,娱乐,电影院,39.90 10-15,餐饮,超市便当,15.20 10-18,交通,公交,4.00 输入素材结束。 按技能流程:先出识别表,再用 Python 脚本按类别汇总, 最后给一条带数字的消费发现。对着验收表核一遍,三行都过关,本课必做就完成了:
查什么 合格的样子 技能已建 data-check 出现在技能列表,有触发词 流程被遵守 它先出识别表、声明口径、贴出 Python 脚本 结果可核 汇总合计 130.00 元,与你手算一致,发现带具体金额
问题与注意事项
- 蒸馏出的技能六项不全:对照第 8 课的六项补齐再用。
- 它直接跳过识别表开始算:回一句"按技能流程先出识别表",不被遵守的规则等于没写。
- 迷你账单算错:8 笔合计应为 130.00 元——连这么小的数它都可能心算出错,正好当反例。
扩展练习(选做)
把案例2 的 CSV 喂给 data-check 技能重跑一遍,对比它按技能流程的输出和案例2 手写提示词的输出。执行后你会得到:一次对比记录——技能把流程稳定下来之后,每次的产出结构是不是更一致。
扩展任务:换你的真实账单重跑(选做)
任务目标:
用 data-check 技能处理你自己的真实账单,走完整流程。扩展不计入必做时间,时间不够直接跳过。
实操步骤
按下面的完整提示词操作;「输入素材」是写好的示例数据,直接可用,想换成自己的真实账单,先脱敏(删姓名、卡号),只替换「输入素材」到「输入素材结束」之间的内容即可。
text请用我的 data-check 技能处理我上传的账单文件。 输入素材: 数据范围:10 月全月个人消费账单 CSV,字段与课堂账单一致。 口径:类别六种不变,金额保留两位小数。 输入素材结束。 要求: 一、按技能流程:识别表 → 口径 → Python 脚本 → 给出核验锚点; 二、生成单文件网页大屏,双击可打开; 三、给两条带数字的消费发现和一个可执行的省钱动作。执行后你会得到:你自己账单的可视化大屏和两条发现。真实数据上跑出来的发现,才真的能帮你改消费习惯。
五、总结与巩固
本节小结:
- 可复用流程:识别/读表 → 说死口径 → Python 脚本计算 → 手算核验 → 出成果(Excel / 网页大屏)。以后接到"把这些数整理一下"的需求都套这几步。
- 核心一句话:模型负责看懂,程序负责算对——识别错了改提示词、计算错了查脚本、口径错了重新说清。
- 下节预告:第 12 课给 WorkBuddy 接上 MCP——让 AI 用上文件、余票这些外部工具;第 13 课再讲 RAG——为什么 AI 不直接背你的员工手册,要外挂一个知识库。
课后巩固:
- 完成学习通课后巩固题【M0-01】~【M0-02】、【M1-01】~【M1-03】、【M2-01】~【M2-03】、【M3-01】~【M3-02】,M0 题考查"识别与计算的分工"与"为什么计算必须写程序",其余题目考查发票识别的核对要点、Python 脚本与模型心算的区别、为什么可视化前必须先核数字、为什么发现必须带数字。
六、资料与下载
- 课前准备:目录建立与素材下载。
- 课程素材清单:8 张发票样本逐个下载、9 月账单 CSV、核验模板,全部放
D:\AIGC\lesson-11。 - 延伸阅读:ECharts 图表规范与 Python 数据分析入门,以老师课前发布为准。
- 课堂与课后习题:学习通入口链接待补充。
延伸视频
推荐观看:用 WorkBuddy 五步跑通 Excel 清洗、分析与可视化,与本课案例1/2 实操流程同构。