我已经3年多没工作过了,按理说呢,我其实没那么多数据分析需求了,那我为啥要做这么个skill?

在我从某团离开前,有段记忆我印象很深。当时我们业务在特殊的冲刺时期,每天上班前都要开线上早会,大概9点左右。而我作为某个业务方向新用户运营的负责人,需要每天提前2小时从后台取前一天的运营数据,做完分析,然后在早会上同步运营进展,解释昨天数据为什么波动,再据此调整当天的运营策略。

说实话,那么短周期的数据,归因其实挺无聊的,但没办法,必须做。这些数据的变化可能跟天气有关,跟我们自己的运营动作有关,跟竞争对手的策略有关,跟周中周末有关,你每天都要在这一堆因素里给出一个说得过去的解释,第二天再来一遍。

现在想来也有点烦。如果那个时候有agent,有好用的AI帮我把这些活干了就好了。

所以,虽然我自己现在基本没这类问题了,但我估计还有大把职场人每天在被数据折磨着。于是我把我对现在agent能力的理解,加上我以前做运营时攒下的数据处理和分析经验,做成了这份skill,今天正式开源:

https://github.com/alchaincyf/huashu-excel

MIT协议,随便用。

打开网易新闻 查看精彩图片

一、它能帮你干嘛

你丢一份Excel或者CSV给它,然后说人话就行:

  • 「帮我分析下这份销售表」:它会走完整个流程,最后交你一份报告

  • 「这两个数怎么对不上」:它会先查口径差异,而不是先查算错(对不上十次有八次是两边分母不一样)

  • 「这个数靠谱吗」:对账加独立复核,告诉你哪一条最脆弱

  • 「帮我把这份表洗干净」:洗完还附一份可回放的清洗脚本,每一步影响了多少行都有记录

  • 「这个数你怎么算出来的」:口径回溯

它大体的工作流程是八步:体检→清洗→对齐→分析→对账→交付→验图→质控。听起来挺重,但真用起来是按需走的:查一个数就直接查,要报告才全走。这八步里我觉得最值得说的是三个地方。

第一步是体检。大部分工具拿到表的第一件事是pd.read_excel()读进来,但读进来的那一刻,合并单元格、单元格格式、原始类型就全丢了,之后所有判断都建立在损毁的信息上。我实测过一份典型的中国式销售表(标题占两行、两级表头、中间夹着「华东小计」、尾巴三行是合计),用「找对表头+清掉千分位」这种看着挺周全的做法去算月度总额,比真值高出161%,零报错、零警告。所以这个skill先用openpyxl读原始单元格做体检,把表头在哪、哪几行混着标题和小计、哪些列有猫腻全列出来,然后才开始算。

打开网易新闻 查看精彩图片

第五步是对账。表里的「合计」行,几乎所有工具都把它当噪音过滤掉,但那其实是原表作者用公式算出来的真值,等于一个免费的校验和。这个skill会拿清洗后的明细自己求和,去对表里自带的合计——测试的时候它揪出过一个差10块钱的错(表内小计写6,490,430,明细算出来6,490,420),后来查明是造表的人手填小计时填错的。相对误差0.00%,肉眼永远发现不了,脚本一次揪出来。

第八步是质控,这步基本是我自己被AI坑出来的经验。数字全对账、退出码全绿,结论仍然可能是错的,而且你自己查不出来,因为那个分析窗口是你自己挑的,你看它的时候带着它应该成立的先验。所以最后一步是另派一个没参与创作的agent,从原始数据重算一遍,专门来拆台:这个时间段是不是挑出来的?外部基准的分母对得上吗?「已剔除某某偏差」这类话,代码里真做到了吗?

报告的格式支持四种:HTML网页报告(自包含、不联网、图表用内联SVG手画,发微信当附件都能直接打开)、Excel(图表是原生的,引用数据sheet,你改个数图跟着变)、Word(走Amazon six-pager那套叙述体,不用项目符号),要PPT的话它会把分析结果转交给我另一个skill huashu-design去做,术业有专攻嘛。

二、直接看几份它交的报告

发布前我做了件比较重的事:找了十份真实的公开业务数据做压测,每份单独派一个独立的agent实跑全流程。为什么强调真实?因为Kaggle上那类HR、营销练手数据集大多是合成的,合成数据没有真实的脏,测不出东西。任务里也不提示任何坑——坑是数据本身就有的,就看它自己撞不撞得上、处理得对不对。销售、人力、财务、运营、宏观、财报,从106万行的电商交易明细到21万行的纽约市政预算都有。

直接看结果吧。

第一份,纽约市311系统里的住房类工单(归住房保护与发展局HPD管),2026年二季度全量159,275条,任务是站在运营负责人的角度做季度复盘:

打开网易新闻 查看精彩图片

这个首屏我是很满意的。月报口径里处理时长在涨,看起来是效率下降要加强管理,它往下拆了一层发现是品类结构变了:处理最快的暖气类工单随着供暖季结束大量消失,把整体中位数抬了上去,同口径再看,13个品类里12个在变快(这就是教科书里的辛普森悖论,它自己撞见、自己拆对了)。更要命的是右边那个数:32.4%的工单是以没能进门结案的,官方口径全算达成,所以达成率是86.5%还是49.5%,取决于你认哪个口径,它把两个都摆出来,让你自己选。

第二份,106万行的英国电商交易明细,给销售VP做业绩复盘:

打开网易新闻 查看精彩图片

首屏标题直接把结论写在脸上:表面的营收增长是新品补出来的。两年都在卖的3,145个老SKU营收掉了12.9%,651个新品带来£2.05M把窟窿填上,而同期英国线上大盘还在两位数扩张。导语顺势把明年预算的问题从「投国内还是投海外」改写成了「先止血还是先扩张」。这就是从发生了什么推到所以该做什么。这份数据里还有一万多个转不成数字的发票号,它没有静默丢掉,逐个去看,查出C开头的是取消单、A开头的是坏账调整,甚至从商品代码里摸出了这家公司上线Amazon渠道的时点,那一万多个脏值最后一个个都成了业务线索。

第三份,纽约市21万行的市政预算,回答「多出来的109亿怎么解释」:

打开网易新闻 查看精彩图片

结论是「这109亿不是超支,是记账时点」。首屏那行小字是我最喜欢的:对账21/21项,与预算办公室印刷卷分毫不差。这个分毫不差来得不容易,第一版它算出过一个行数守恒、金额恒等、内部校验全绿的数字,拿去对外部权威数字,错了整整一个财年,因为那份数据的列名和字面意思对不上(fiscal_year=2026那行的「采纳预算」列,装的其实是FY2025的数)。内部校验全对的报告,可以整体错一个财年,而且没有任何内部检查能发现——是「必须查外部基准」这条规则把它救回来的。

第四份,28,225份真实薪酬调查问卷,给HR做一份能进董事会的薪酬公平诊断:

打开网易新闻 查看精彩图片

这份数据脏得很有代表性:11种货币混在同一列,行业随手填出了1,228种写法,最高年薪1.02亿美元,它把那个1.02亿当录入错误处理了,没当发现(这个领域有条Twyman's Law:看起来异常的数字,通常是错的,先当bug查,排除了才当发现)。28,225份问卷进入分析的是其中22,918份美元样本,交出的结论自带证明边界:能证明差距随工龄扩大,证明不了起点为零,这个区别它直接写在了首屏。

这四份报告都是独立agent自己跑出来的,我另派了复核agent从原始数据把核心数字重算了一遍,正文里引的都是复核对上的那些。

三、这个skill的设计逻辑

多讲两句背后的设计思路,对在做agent产品的朋友可能有点参考价值。

这个skill本质上是一套体系化的策略,用来激发现在大模型的能力,同时避开大模型在数据处理上的缺陷。最大的那个缺陷就是前面说的:AI算错的时候不会报错。你写代码,错了会抛异常;你做数据分析,错了什么都不会发生,一个错误的数字和正确的数字交付出去的时候长得完全一样。整套流程里的对账、验图、独立质控,都是在给这个不存在的报错机制补位。

激发能力的部分,一部分灵感来自Anthropic的AI心理学研究。skill的第一句话是「如果世界上最好的数据分析能力可以被装进一个文件,那就是你」,然后要求它依次成为领域专家、数据分析师、战略顾问、视觉设计师、前端工程师、质控,像一个百万美元项目组那样工作。Anthropic这两年那一系列研究的大意是,模型的表现和它被引导进入的角色状态强相关,所以这份skill会用一次词汇激发,让agent进入处理数据时该有的心理状态和心智空间。听着有点玄学,但认定自己是「一个会用pandas的助手」,产出就真的止步于助手,这个我反复验证过。

另外是用一套体系化的流程要求,让agent耗费更多的token去思考和规划,换更好的结果,有点类似推理模型里test-time scaling的逻辑(给模型更多的推理时计算,答案质量就上去,o1和DeepSeek R1走的都是这条路)。八步流程本质上就是在强制它多想:每跑完一个脚本,要回答「看到了什么、意味着什么、下一步查什么」才准往下走。skill里有条判据我自己很喜欢:如果跑完脚本之后,你的下一步动作和跑之前计划的一模一样,说明你没有真的在看那个输出。

以及,大模型本身不擅长算数,这一点到今天也没变,真正的计算还是得写脚本来做,所以skill里内置了一堆帮agent拆解和处理数据的脚本:体检、清洗、陷阱扫描、对账、验图、验Word。但脚本的定位写得很清楚:它们是眼睛,不是大脑;是地板,不是天花板。遇到脚本处理不了的结构,agent该自己写代码、自己判断。

还有些看得见和看不见的讲究,都是有出处的:它默认给你中位数和五数概括,均值只当陪衬,因为业务数据几乎总是右偏的,少数大客户会把均值拉走(统计学家Tukey那套抗差统计)。它在类别超过3个时会直接拒绝画饼图,理由是人眼读角度和面积的精度远低于读长度,这条背后是1984年就发表了测量结果的感知实验,跟审美偏好没关系。柱形图的数值轴强制从0开始,双轴图整个禁掉,不完整的最后一个周期画虚线。每一条防的都是图没错但在误导人。

图表这块值得多贴几张。下面全是这次压测里agent手写内联SVG画出来的,没有用任何图表库(这也是为什么报告文件离线单开就能看),类型是按数据的需要选的,柱形折线饼图三板斧之外它会的还挺多。

洛伦兹曲线,回答营收有多集中这一个问题,弧线离对角虚线越远越集中:

打开网易新闻 查看精彩图片

双峰分布,认出零售和批发两群客户混在同一份账本里,阈值骑墙的那根柱子单独标灰,不硬分给任何一侧:

打开网易新闻 查看精彩图片

事件研究图,验证涨价是不是增值税调整导致的,它把生效日画进图里,发现价格抬升发生在生效日之前:

打开网易新闻 查看精彩图片

价量分解,把营收变化拆成价格效应、数量效应和SKU进出,各自贡献多少一目了然:

打开网易新闻 查看精彩图片

哑铃图,四条线里一眼看出预算修订几乎全落在非人力支出:

打开网易新闻 查看精彩图片

小倍数图,每个品类一格共享同一把尺子,比把13条线塞进一张图清楚一个数量级,连怎么读都替读者写好了:

打开网易新闻 查看精彩图片

压测里撞出来的几十个bug和缺陷,大部分已经修回skill里,还有两个已知的挂在改进清单上,等于这十场测试的学费差不多交完一轮了。

四、几乎所有agent都能用

最后说下怎么用。这个skill不挑agent,Claude Code和Codex就不用说了,你用WorkBuddy、豆包、DeepSeek Harness这些也都完全没问题。它开工时会先探测所处的环境:能跑Python就跑脚本,能派子任务就并行分析,连脚本都跑不了的环境,它会转成直接告诉你在Excel里怎么点、公式怎么写。核心流程的依赖只有一个openpyxl,处理CSV连这个都不需要,纯标准库;验图那一步装了playwright会更全,缺了它会明说,不会假装验过。

装的方式:

npx skills add alchaincyf/huashu-excel

或者直接clone到你的agent读skill的那个目录。再或者最简单的,什么都不装,把仓库链接丢给你的agent,说一句:

「读一下这个仓库的SKILL.md,然后帮我分析这份表。」

就可以了。