# 让 AI 算你的表格：口径先说清，数字再抽查

为什么它报的数字看不出对错，以及怎样让它写公式、先交口径、再按成本从低到高抽查

> 验证成本 · 提示词实践 · 返工与检查 · 约 5 分钟 · 10 月 15 日

## 本篇要点

1. 这类模型逐个 token 生成文本，数字对它来说也只是 token，不是可以运算的数值，所以位数越长它出错越多，错误集中在数字没对齐和进位没处理。
2. 它给出的错误数字和正确数字外形完全一样，因此“让它隔着聊天窗口心算表格”违反了“检查要便宜”这条判据。
3. 正确用法是让它写公式或代码，由确定性的机器执行计算；这样算这一步基本不会错，而且官方文档指出它默认未必会跑代码，需要明确要求。
4. 计算被工具接管后风险并没有消失，只是挪到了口径上：一行代表什么、每一列是什么、指标的分子分母与筛选规则，全都只有你知道。
5. 它不会在结果上标出自己替你做了哪些口径选择，所以要事先把不确定的判断写成明确假设，并让它把自行补充的判断列出来待你确认。
6. 抽查按成本从低到高做：先确认行数和时间范围对得上整张表，再拿已知的总量对合计数，再要每个分组的样本量 n 并做交叉验算，最后挑两三行手算一遍。
7. 代码写得整齐只说明它语言能力好，不代表筛选条件和分组键符合你的口径，真正要盯的是那几个筛选值。
8. 表小或只求一列和时自己用 Excel 更快；涉及钱和责任的数字必须用独立的第二算法复核，不能靠“再问一遍答案是否一致”来验证。

---

上一篇讲的是材料短的时候，麻烦在口气。表格的麻烦换得更彻底——**你交给它的不是“写”，是“算”，而算这件事它的把握比你想象得低得多。**

## 它报出的数字，看不出是算出来的还是猜出来的

它逐 token 生成文字，数字在它眼里也是 token，不是数值，它没有一个可以调用的“进位”“位数对齐”的动作。所以位数越长，错得越多：一项研究测 3 位数乘 3 位数，ChatGPT 55%、GPT-4 59% [2]；更近的一项直接测加法，所有前沿模型都随位数增加明显掉准确率，错处集中在数字没对齐和进位没处理两类 [4]。

对办公的意义在这里：**它给的数字和正确数字长得一模一样。** 写错的句子你能感觉出来，写错的合计数你看不出来。按第一篇那条判据，不值得交出去的活是检查成本接近重做的那种——“隔着聊天窗口让它心算你的表”基本不合格。

## 改成让它写公式，风险就换了一边

正确的用法不是让它算，而是让它写一段能算的东西。ChatGPT 的数据分析、Claude 的 code execution 都带这个能力，环境里装着 pandas、openpyxl 这类处理表格的库 [5]。它负责把“算上季度已完成订单的客单价”翻译成一段代码，代码由一台确定性的机器执行，这一步不会算错。

前面那份测加法的研究正好是对照：唯一几乎不出错的是带代码执行的那个模型，因为它每次都写一小段 Python 去加；它剩下的错只出在两种情况——**它没去用工具，或者它把工具算出来的结果抄错了** [4]。

第二点提醒你，它不会自动帮你跑代码。官方文档写得很明确：多步、精度敏感的计算和数据分析它会跑代码，简单算术它就直接答；想让它跑，你得明说“用代码算一遍” [5]。

## 机器接管了“算”，风险就挪到“口径”

有一份综述把话说得很直：工具能让计算精确，但工具并不消除理解问题，只是把理解问题**换了个位置** [3]。换到哪儿？换到“你让它算的，是不是你想算的”。表格最容易在这里出错——因为**一列数据是什么意思，只有你知道**。要交出去的是三类信息：

- **一行代表什么。** 一笔订单，一个人，还是一次访问？“一共多少条”就是分母。
- **每一列是什么。** 列名不算说明。金额含不含税，日期是下单还是支付，空格代表 0 还是代表“没登记”。空值要单独说，它默认会丢掉。
- **口径。** 分子分母分别是什么，算哪段时间，哪些状态排除在外，要不要去重。

“上季度平均客单价”这句话，下面每个选择都成立、都能算出数：只算已完成订单；退款的算不算；同一客户下两单算一单还是两单。换一个选择，结果差几成很正常，而**它给的数字上不会标出它替你选了哪个**。所以跟一句封口：

```
只按我给的列含义和口径算。
我拿不准的地方已经写成假设列在下面，照假设做，并在结果里注明。
你觉得需要、但我没说的判断，不要自己定，单独列出来，我来确认。
```

邮件里它替你选错口气，你读得出来；表里它替你选错口径，你只能看到一个数字。

## 抽查按这个顺序做，先查便宜的

**一、先确认它读的是整张表。** 让它报出“用了几行几列、时间范围从哪天到哪天”。行数对不上，后面全部作废。粘进聊天窗口的长表可能被静默截断，而它照样会给你一个完整好看的结果。

**二、先对总量，再对分组。** 表里有多少条记录、上个月总金额、团队人数，这些你手上就有。先拿它们碰它给的合计数；总量对不上，明细不用看。

**三、要每个分组带上样本量 n，再做交叉验算。** 分组加总是不是等于总数，占比加起来是不是 100%。带上 n 还会顺带暴露“这个分组只有 3 条记录、比例 67%”这种情况。

**四、手算一个最小案例。** 挑两三条记录，自己算一遍它给的那一列。跟着算一遍很贵，但你只需要在最小样本上做一次——这就是把检查成本压下来的办法。

另外看一件事：它有没有把代码和中间结果贴出来。直接报数字、一行代码都没有，就当成未验证处理，要求“把你的代码和过程贴出来”。

还有个坑值得单独说：**代码整齐不等于口径对。** 它写出的 pandas 片段往往很规范，那只能说明它语言能力好。要盯的是筛选条件和分组键——那几个 `== '已完成'`，是不是你要的那个筛选。

## 什么时候不值得走这条路

表小、只求一列的和，Excel 里一个公式就完了。值得走完流程的是另一类：行数数不过来、要分组交叉、结果会出现在别人面前的。

还要知道现在的成功率在哪。有一份测试集全部取自真实的 Excel 论坛提问，其中约四成表格结构不规范；在这种接近真实办公的表格上，最强的一批模型和产品都在两成上下（GPT-4o 约 18%，Excel 自带的 Copilot 约 20%），同样这 50 道题交给 Excel 专家做，约 71% [1]。注意对照方式：人类也被要求写出公式或 VBA 方案，不是手工填答案——这道题比的是**能不能写对公式**，人类赢在这里。所以：让它在小、干净的表上干活，成功率明显更高；表越乱（多个工作表、多级表头），越值得先把它整理成一个规整区域再交出去。

最后一条边界：涉及钱和责任的数字，必须有一个**独立的第二算法**——你自己用 Excel 公式或另一条路径算一遍；不要用“再问它一遍看答案一样不一样”来验证，同一类错误它可以稳定重复。

到这里，表格这条线的核心就闭环了：**它擅长的是把你的口径翻译成公式和代码，不擅长“算”本身，更不知道你的口径是什么。**

## 术语表

- 心算模式：让模型在对话里直接报出计算结果，数字由它逐个 token 预测出来，正确率随位数增加而下降。
- 工具使用（tool use）：让模型不直接给数字，而是写一段代码交给机器执行，计算由确定性程序完成。
- 口径：一个指标到底怎么算——分子分母分别是什么、算哪段时间、哪些状态排除、要不要去重；同一批数据换口径会得到不同的数，而结果上不会标出用了哪一个。
- 交叉验算：用分组加总对总数、占比求和是否为 100% 这类内部一致性检查，低成本地发现算错或漏行。
- 样本量 n：每个分组对应的记录条数；把它和结果一起输出，才能看出某个比例是不是小样本凑出来的。

## 来源

1. [SpreadsheetBench：912 道取自 Excel 论坛真实提问的测试集、表格复杂度分布，以及 GPT-4o、Copilot in Excel 与 Excel 专家约 71% 的对照结果](https://arxiv.org/html/2406.14991v2)
2. [Faith and Fate: Limits of Transformers on Compositionality：ChatGPT 55%、GPT-4 59% 的 3 位数乘法准确率](https://ar5iv.labs.arxiv.org/html/2305.18654)
3. [Numeracy in Large Language Models：把使用工具作为可靠计算的默认做法，并指出工具只是把理解问题挪了位置](https://arxiv.org/html/2608.13129)
4. [前沿模型整数加法的位数与错误类型分析；带代码执行的模型几乎不出错，剩余错误来自没用工具或抄错结果](https://www.arxiv.org/pdf/2602.10416)
5. [Anthropic 官方文档：它会为哪些请求运行代码、哪些直接回答，以及可用的 pandas、openpyxl 等库](https://platform.claude.com/docs/en/agents-and-tools/tool-use/code-execution-tool)

---

原文：https://pangzhengboyin.com/articles/ai-spreadsheet-data-accuracy-check-e1c2ada1

> **庞征博引** · 想学的，慢慢都会
>
> 庞征博引是把想学的东西写成连载的 AI 学习工具。说出想学什么，它会先了解你的基础，再把主题写成一篇篇 5–10 分钟能读完的文章；边读边问，接下来学什么跟着你走。这篇就是这样写出来的。
>
> 开始你自己的连载 → https://pangzhengboyin.com
