第 11 次课:数据分析与可视化 ​

一、上节课回顾 ​

上节知识要点:

  1. 大模型写长文会越写越飘,先锁大纲再填内容,比事后改省力。
  2. 素材里没说清的数字标【待确认】,不要替主管编。
  3. 改需求要局部改、说清为什么,不要整篇重写。

上一课练的是文字——把零散留言写成方案。这一课换一类工作:数字。练两件更有得展示的事:把一堆发票整理成账、把自己的账单变成一张能双击打开的网页大屏。

二、本节课任务与安排 ​

本课交付

记住六字口诀「模型看,程序算」:让 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

  1. 什么时候用:写下「识别」和「计算」分别该交给 AI 的哪一半。
  2. 什么时候不用:写下什么时候不能依赖模型心算(三位数以上加法、多行汇总、百分比)。
  3. 人工必须核什么:写下发票识别结果里你准备重点核对的两个字段。

四、实操环节 ​

案例1:发票批量处理 ​

任务目标:

老师带你处理 8 张发票:先让 AI 逐张识别出发票号和金额,再要求它用 Python 脚本汇总成 Excel 和对比图。重点不是算出 3022.70 这个数,是看清——识别错误和计算错误是两码事,要分开修。

发票处理五步链路:上传 → 识别 → 定口径 → Python 计算 → Excel/图表

图:第②步识别和第④步计算是两条独立的线;第③步「定口径」告诉程序取哪个数。

实操步骤

  1. 建本机目录:打开「此电脑」→ 双击 D 盘,空白处右键 → 新建 → 文件夹,命名 AIGC;进入后同样右键 → 新建 → 文件夹,命名 lesson-11。执行后你会看到:本课目录 D:\AIGC\lesson-11 就位。

  2. 从课程资料页把 8 张发票样本(7 月 2 日至 8 月 25 日)逐个下载放进 D:\AIGC\lesson-11,核对 8 张 PNG 都在。执行后你会看到:目录里有 A_发票样本_01_20260702.png 到 A_发票样本_08_20260825.png 共 8 个文件。

  3. 第一段提示词:只识别,不算。打开 WorkBuddy 新任务,把 8 张发票图片全部作为附件上传,发送下面这段提示词。执行后你会看到:一张一行一张发票的识别表。

    text
    这是一批报销发票,一共 8 张图片。请先只做识别,不要做任何计算:
    1. 逐张识别:发票号码、开票日期、销售方、价税合计(右下角小写金额);
    2. 输出成一张表格,一行一张发票;
    3. 多行明细的发票只取底部的价税合计,不要取明细行;
    4. 金额里的千分位逗号去掉(¥1,500.00 写成 1500.00),统一保留两位小数;
    5. 拿不准的数字写「待确认」,不要猜。
    不要汇总总数,不要画图,不要生成文件。

    为什么这么做:识别和计算混在一个指令里,出错了分不清是看错还是算错。先单独要一张识别表,错误就停在计算之前。

  4. 核对识别结果。打开《核验与发现记录模板》第一部分,抽 3 张发票,把图片上的价税合计和 AI 识别的并排写下来。重点看:多行明细的发票是不是取了底部合计;大额发票的千分位有没有正确处理;有没有哪张票被看错(8 看成 6、3 看成 5)。执行后你会看到:三张抽检对照记录,错的那张回它"第 X 号识别错了,图片上是 ¥XX.XX,请重新识别"。

  5. 第二段提示词:计算必须写程序。识别表确认无误后,在同一任务里发送。执行后你会看到:一个 Excel 工作簿和一张对比图,外加贴出的 Python 脚本。

    text
    识别结果确认无误。现在做汇总,必须遵守:
    1. 所有加减乘除必须用 Python 脚本计算,不允许直接心算报数;
    2. 脚本里明确算出:8 张发票总价税合计、按开票月份(7月/8月)分组合计、
    按销售方分组合计;
    3. 输出一个 Excel 工作簿:Sheet1 是发票明细表,Sheet2 是汇总表;
    4. 画一张「7月 vs 8月」发票金额对比柱状图;
    5. 把 Python 脚本的关键部分贴出来,让我能看到你怎么算的。

    为什么这么做:要求「用 Python 脚本」不是形式——它让计算可复现、可审计。脚本贴出来,错在哪一步一眼就能看到。

  6. 核总数。对着脚本和汇总表核三件事。执行后你会看到:三个数互相对得上。

    对着验收表核一遍,三行都过关再进案例2:

    查什么合格的样子
    识别核过了抽 3 张发票,价税合计与图片一致,不一致的写清差多少
    计算用了程序AI 明确用 Python 脚本并贴出关键代码,不是直接报数
    汇总自洽8 张合计 = 7月 + 8月 = 3022.70,分类合计加起来 = 总额

问题与注意事项

  • AI 直接报了个总数没写程序:回它"请把计算写成 Python 脚本执行并贴出来"。
  • 多行发票取错了数:指出"第 X 号是多行明细,取底部价税合计那一行"。
  • 识别金额和图片对不上:先让它重新识别那张票——改识别,不是改计算。
  • Excel 打不开:让它导出 .xlsx,并确认本机装了 Excel 或 WPS。
  • 它说"图片看不太清,我猜是 XX":识别拿不准必须写「待确认」,猜的金额会一路算进汇总。

扩展练习(选做)

换 3 张你手机相册里的真实发票(先给个人信息打码),用同一套「先识别后计算」流程跑一遍。执行后你会得到:一次真实场景的识别准确率记录。

案例2:我的消费账单可视化 ​

任务目标:

换一份你自己的数据——9 月消费账单 CSV,37 笔记录。你独立完成从上传、定口径、让 AI 用 Python 计算,到产出一个能双击打开的网页可视化大屏。成果可以直接发给朋友看。

实操步骤

  1. 从课程资料页下载 我的 9 月消费账单(CSV)放进 D:\AIGC\lesson-11,用记事本打开看一眼字段。执行后你会看到:日期、类别、商家、金额、支付方式五列。

  2. 新开一个任务(不要在案例1 的任务里接着做,否则 AI 会把发票的上下文带进来),上传 CSV,发送:

    text
    这是我的 9 月消费账单 CSV,字段:日期、类别、商家、金额、支付方式。
    口径说明:
    - 类别只有六种:餐饮、购物、娱乐、交通、学习、其他;
    - 金额单位是元,保留两位小数;
    - 我要看:9 月总支出、六大类分别花了多少和占比、
    每天的支出趋势、微信/支付宝/现金各花了多少。
    请遵守:
    1. 所有汇总计算必须用 Python 脚本,不允许直接心算报数;
    2. 计算完成后,生成一个单文件 HTML 网页(内嵌 ECharts,双击就能打开):
    ① 六大类消费占比饼图;② 9 月每日支出折线图;③ 支付方式对比柱状图;
    3. 网页要有标题、每个图表的名称和数据来源说明,配色清晰;
    4. 把关键计算结果用文字列出来,和网页里的数字保持一致。

    为什么这么做:可视化是"锦上添花",计算才是"地基"。先让脚本算准,再让脚本画图——图里的数字来自同一份计算结果,才不会各说各话。

  3. 打开网页验收:下载 AI 给的 HTML 文件,双击打开。执行后你会看到:三张图表正常显示。

    对着验收表核一遍,三行都过关再进案例3:

    查什么合格的样子
    网页能打开双击 HTML 出现三张图表,无报错
    图表完整饼图(分类占比)、折线图(每日支出)、柱状图(支付方式)都在
    数字自洽六类占比加起来 100%,各类金额之和 = 总额 1176.20
  4. 自己核三件事。执行后你会得到:三条写进记录的核对结论。

    • 花得最多的一类是不是购物(352.90 元)?餐饮排第几(290.50 元)?
    • 9 月哪一天支出最高?(9 月 5 日,当天共 135.00 元)
    • 现金是不是花得最少(60.00 元)?

问题与注意事项

  • 网页打不开或白屏:多半是 ECharts 用了联网 CDN。让它"把 ECharts 内联进 HTML,单文件离线可打开"。
  • 图很漂亮但数字是错的:先对口径和脚本——数字错了图再好看也不能交。
  • 它又"心算"了:明确回"计算必须写在 Python 脚本里执行,把脚本贴出来"。
  • 各类金额加起来不等于总额:让它按类别分组重新汇总,把分类小计一行行列出来。

扩展练习(选做)

把网页大屏改成"深色炫酷版",或加一张"周几花钱最多"的柱状图。执行后你会得到:改版大屏——可视化模板可以反复让 AI 改,每次只提一个具体改动。

案例3:手算核验与消费发现 ​

任务目标:

不信 AI 给的总数。按抽检范围抽 3 张发票核 AI 的识别、抽 5 条账单手算分类合计;然后按「发现 → 推断 → 建议」三段式写两条带数字的消费发现。这一步练的是:AI 的数字要经过你的手才算数。

实操步骤

  1. 从课程资料页下载 核验与发现记录模板,打开备用。执行后你会看到:发票抽检、账单手算、消费发现三个空白区。

  2. 按下面的抽检范围完成核验。执行后你会得到:填好的核验记录,差异超过 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 计算 → 手算核验 → 出成果」蒸馏成一个数据分析技能,并用一份迷你账单快速试跑。流程固化下来,下次拿到任何数据都按这一套走。

实操步骤

  1. 新建对话,用 skill-creator 蒸馏技能。执行后你会看到:一个名为 data-check 的技能创建完成,并告诉你触发词。

    text
    请帮我创建一个名为 data-check 的技能,用 skill-creator。
    输入素材:
    用途:处理发票图片、消费账单等数据,出识别表、汇总和图表。
    流程五步:识别/读表、说死口径、Python 脚本计算、手算核验、出成果。
    硬规则:识别和计算分开,先出识别表再算;
    所有加减乘除必须写 Python 脚本并贴出代码;
    多行明细取底部合计;千分位去掉保留两位小数;
    拿不准的数字写「待确认」;发现和建议必须带数字。
    输入素材结束。
    创建完成后告诉我触发词和不适用的情况。
  2. 用一份迷你账单试跑技能(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 技能处理你自己的真实账单,走完整流程。扩展不计入必做时间,时间不够直接跳过。

实操步骤

  1. 按下面的完整提示词操作;「输入素材」是写好的示例数据,直接可用,想换成自己的真实账单,先脱敏(删姓名、卡号),只替换「输入素材」到「输入素材结束」之间的内容即可。

    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 实操流程同构。