🧩 第7章 上实战:从零迭代数据分析技能
📄 一句话概括

V1 只有三条规矩:读文件、按品类求和、输出一张表。一个技能文件,够用。 它能算出 2988000,也能说出手机占 78.0%,但说不出「这个月比上个月怎么样」。 四道考题只过两道——过的那两道都是「看一眼表就知道」的,不过的两道都要比较。

📝 本章和前面几章的关系

前六章讲的都是方法和零件,这一章按时间讲一遍完整过程:一个数据分析技能的四次迭代。 第 6 章的五个步骤在这里压缩成一条时间线,重点不再是「该怎么做」,是「实际会怎么走」。 这一篇的 V1 只用了第 6.1 节的一格需求卡,剩下的全靠用起来再补。

一、核心痛点:每次都要手动拉一遍

起点是一句很土的话:每个月初都要手动把销售表拉一遍,再拼成一张汇总表。 一次二十分钟,不难,但烦。这种事最适合做成技能——有固定输入、有固定动作、有固定输出。 注意这里已经填了需求卡三格:输入是销售 CSV,输出是一张汇总表,验收是数字对得上。 剩下的三格(边界、不做、谁用)当时没想,后面会补上,但不是这一版的事。

二、设计决策:这一版只做三件事

V1 的设计决策只有一条:能不做的都不做。

决定 做什么 不做什么
范围 只按品类汇总 不按月、不分渠道
输出 一张 markdown 表 不写结论、不做图
输入 固定路径的 CSV 不处理异常格式

三条「不做」是刻意的。第一版的目标是当天能用上,不是做全。 做全的代价不是多花时间,是你会在还没用起来的时候就开始纠结细节。

三、提需求:一句话加一份列名

给智能体的需求只有两句:读哪份文件、按什么汇总、输出什么形状。 关键是把列名报清楚:月份、品类、渠道、金额。不报列名,它会自己猜,猜错了你还得查。 这是第 6.3 节那条「你决策、它执行」的最小例子:汇总维度你定,代码它写。

四、产出:一份极简 SKILL.md

V1 的技能正文一共三行,加 frontmatter 两行。

块 内容
frontmatter 名字 sales-report,一句话描述
第 1 条 读 scripts/data.csv,列是月份、品类、渠道、金额
第 2 条 按品类求和,从大到小排
第 3 条 输出 markdown 表,金额不带千分位

第三条「不带千分位」看着琐碎,其实是验收标准的一部分——带了千分位就没法直接粘进表格算。 规矩要写到能直接判的程度。「输出一张好看的表」不行,「不带千分位」行。

五、测试:四道题过两道

拿需求卡翻成四道题去考它。

考题 结果 为什么
总量是多少 过 表里加起来就是
哪个品类占比最高 过 排序之后第一行就是
逐月怎么变 不过 V1 没按月分组
有没有异常 不过 V1 不做比较,看不出异常

四道过两道。过的两道有一个共同点:看一眼表就知道。 不过的两道也有一个共同点:都要做比较。逐月变化要比两个数,异常要比一群数。 所以这不是「V1 写得差」,是「V1 只会统计,不会比较」。这两个能力是分开的。

六、吃自己的狗粮:第一次不满足

V1 装好之后,第一件事是拿它干一次真活——月初那份表真的用它跑。 结果第一次就不满足:我要的是「这个月比上个月怎么样」,它给的是一张静态汇总表。 答非所问,但它没做错。它按三条规矩干活,三条规矩里没有「比较」这一步。 这就是「吃自己的狗粮」的价值:自己用一次,能撞出它不会的那一步。 撞出来的那一步很具体——按月分组,再做环比。这就是 V2 要加的东西。 注意这个顺序:先有 V1,才有这个发现。没有 V1 的时候,你连「它不会比较」都不知道。

七、动手 Demo:V1 只有三条规矩,能算数但说不出结论

这一段先摆出 V1 的完整 SKILL.md,再用一份十二行的销售表跑一遍,最后拿四道题考它。 数据是真算的:品类合计、总量、占比都是代码加出来的。

# V1 的 SKILL.md,正文就三条
1. 读 scripts/data.csv,列是 月份、品类、渠道、金额。
2. 按品类求和,从大到小排。
3. 输出 markdown 表,金额不带千分位。

def _cat():
    d = {}
    for m, cat, ch, v in ROWS:
        d[cat] = d.get(cat, 0) + int(v)
    return sorted(d.items(), key=lambda x: -x[1])

实跑输出:

--------------------------------------------------------------------
V1 只有三条规矩,能算数但说不出结论
--------------------------------------------------------------------


  ① V1 的 SKILL.md 就这么多
  --------------------------------------------------------------------

  [技能正文 · 逐字可用]
  | ---
  | name: sales-report
  | description: 读销售 CSV,按品类汇总金额,输出一张表。
  | ---
  | 
  | # 销售分析
  | 
  | 1. 读 scripts/data.csv,列是 月份、品类、渠道、金额。
  | 2. 按品类求和,从大到小排。
  | 3. 输出 markdown 表,金额不带千分位。
  三条规矩,一个文件,这就是 V1


  ② 它跑出来的东西
  --------------------------------------------------------------------
| 品类 | 金额 |
|---|---:|
| 手机 | 2332000 |
| 配件 | 656000 |

  合起来 2988000。表是对的,数字也能用。

  ③ 但四道题只过两道
  --------------------------------------------------------------------
| 考题 | 结果 | 为什么 |
|---|:---:|---|
| 总量是多少 | 过 | 表里加起来就是 |
| 哪个品类占比最高 | 过 | 排序之后第一行就是 |
| 逐月怎么变 | 不过 | V1 没按月分组 |
| 有没有异常 | 不过 | V1 不做比较,看不出异常 |

  四道过两道。过的两道都是「看一眼表就知道」的,不过的两道都要比较。
  ! 统计和比较是两件事。求和是统计,逐月变化是比较,V1 只会统计。

  ④ 逐月数据其实就在文件里
  --------------------------------------------------------------------
| 月份 | 金额 |
|---|---:|
| 2026-01 | 988000 |
| 2026-02 | 1030000 |
| 2026-03 | 970000 |

  这三行数据一直在 CSV 里,V1 只是没按月份分组,所以它看不见。
  技能看不见的东西,等于不存在。它不会主动多算一步。

  ⑤ 吃自己的狗粮:第一次不满足
  --------------------------------------------------------------------
| 项 | 具体 | 结论 |
|---|---|---|
| 我要什么 | 这个月比上个月怎么样 | V1 给不了 |
| 它给什么 | 品类合计 2332 和 656 | 答非所问 |
| 缺什么 | 按月分组,再做环比 | 缺一步比较 |

  「吃自己的狗粮」就是这个意思:自己拿它干一次真活,撞出它不会的那一步。
  撞出来的这一步,就是 V2 要加的东西。

第一段是 V1 的完整正文:三条规矩,一个文件。这就是第一版的全部。 第二段跑出来两张表:品类合计 2332000 和 656000,合起来 2988000。数字是对的。 第三段拿四道题考它:过两道、不过两道。过的两道都是「看一眼表就知道」的。 不过的两道都要比较——逐月变化要比两个数,异常要比一群数。V1 只会统计,不会比较。 第四段把逐月数据也列出来了。它一直在 CSV 里,V1 只是没按月分组,所以看不见。 技能看不见的东西等于不存在,它不会主动多算一步。 第五段是吃自己的狗粮:第一天上手就撞出「它不会比较」这一步,这就是 V2 的起点。

30 秒实验

  1. 把你手上最烦的那件重复劳动写成三条规矩,一个文件,今天就跑一次真的。
  2. 跑完之后记一句话:它答不了我哪一问。那句话就是下一版的全部需求。
  3. 别急着补功能。第一版的目标是当天能用上,不是做全。

常见误区

  1. 第一版就想做全。做全的代价不是多花时间,是你会在还没用起来的时候就开始纠结细节。
  2. 规矩写得没法判。「输出一张好看的表」不行,「金额不带千分位」行。能判的规矩才是规矩。
  3. 不报列名让它自己猜。它猜错了你还得查半天,一句话能说清的事别省。
自测三问(点开对答案) 1. V1 为什么只做三件事? —— 第一版的目标是当天能用上。做全会让你在还没用起来的时候就开始纠结细节。 2. 四道题过的两道和不过的两道,各自的共同点是什么? —— 过的都是「看一眼表就知道」;不过的都要比较——比两个数或比一群数。 3. 「吃自己的狗粮」具体撞出了什么? —— 撞出「它不会比较」这一步,具体就是要按月分组再做环比。这就是 V2 的需求。

下一篇给 V2 加一个四问框架:总量与结构、变化、异常、归因。四道题全过。

相关笔记