Anthropic 自服务数据分析深度解析:95% 自动化的背后,是「让人敢信」的四层工程体系
Anthropic 自服务数据分析深度解析:95% 自动化的背后,不是 SQL 写得快,而是「让人敢信」的工程体系
> 来源:Anthropic 官方博客 *How Anthropic enables self-service data analytics with Claude* > 链接:https://claude.com/blog/how-anthropic-enables-self-service-data-analytics-with-claude > 作者:Chen Chang, Clement Peng, Justin Leder, Johanne Jiao, Josh Cherry (Anthropic Data Science & Data Engineering 团队) > 发布时间:2026 年 6 月 3 日
---
一、核心数字:95% 自动化 + 95% 准确率
Anthropic 披露了一个相当惊人的内部数据:
- 95% 的业务分析查询由 Claude 自动完成
- ~95% 的综合准确率(aggregate accuracy)
- 数据科学团队因此从「救火式 ad-hoc 查询」解放出来,专注于因果建模、预测和机器学习
---
二、核心洞察:数据分析不是「代码生成问题」,而是「上下文 + 验证问题」
Anthropic 开篇就做了一个关键区分:
> Coding agents 和 Analytics agents 面临的是两种完全不同的幻觉风险。
代码生成是开放解空间—— creativity 是优势,文档和测试提供天然护栏。但数据分析往往只有一个正确答案、一个正确来源,且没有确定性的方式证明正确性。你无法给 SQL 写单元测试说「这条查询的返回结果必须是 42」。
所以核心问题不是「Claude 会不会写 SQL」,而是: 1. 概念 → 实体映射:用户说 "weekly active users",Claude 能不能映射到正确的表、正确的字段、正确的过滤条件? 2. 数据新鲜度:底层 schema、业务定义、数据源每天都在变,Agent 的知识会不会过时? 3. 检索失败:正确的信息明明在数据模型里,但 Claude 在百万级字段中找不到它。
这三个问题如果有一个没解决,SQL 写得再漂亮也是错的。
---
三、四层架构:从「数据仓库」到「让人敢信」的完整栈
Anthropic 设计了四层架构来系统性地解决上述三个问题:
┌─────────────────────────────────────┐
│ Validation(验证层) │ ← 离线评测、消融实验、对抗审查、纠错回收
├─────────────────────────────────────┤
│ Skills(程序性知识) │ ← 查询顺序、领域流程、分析模式
├─────────────────────────────────────┤
│ Sources of Truth(事实来源) │ ← 语义层、血缘、查询语料、业务上下文
├─────────────────────────────────────┤
│ Data Foundations(数据基础层) │ ← 规范数据集、元数据、治理
└─────────────────────────────────────┘
3.1 数据基础层(Data Foundations):先让数据模型「可被 Agent 消费」
传统数据工程的最佳实践(维度建模、左移测试、新鲜度检查)仍然适用,但消费端变了——不再是数据科学家,而是代表不同程度数据素养用户的 Agent。这意味着用户无法验证底层正确性,所以数据模型必须自给自足地可信。
四个关键实践:
1. Canonical Datasets(规范数据集)
- 问题:同一个概念(如 revenue)可能有 40 个 plausible 的表/字段,每个都有细微不同的实现
- 解决:curate 一小套规范、单一来源、消费就绪、可发现的 canonical 数据集,激进地废弃近似重复项
- 目标:当 Agent 搜索一个概念时,只找到一个被治理的答案
- 工具层面:Agent 被结构上优先路由到 canonical 模型
- CI 层面:绕过 canonical 的变更在 review 中失败
- 制度层面:下游团队必须基于治理层构建,否则需要解释原因
- 治理没有强制力,就会迅速退化为多候选问题
- 几乎所有数据代码(建模、语义层、参考文档、canonical dashboard 定义)放在同一个 repo
- CI 检查保护跨层完整性:如果建模变更会破坏下游 dashboard 或使文档指标失效,CI 会 flag
- 修复和变更在同一个 PR 中 ship
- 列/表描述、指标定义、grain 文档、有效值范围、血缘、所有权、模型分级——维护严谨程度等同于 transformation 本身
- 好的治理提供关键上下文,帮助 Agent 选择正确的数据集
3.2 事实来源(Sources of Truth):让 Agent 知道「找谁」
如果数据基础层是仓库本身,事实来源就是 Agent 导航仓库的参考面。按信任度降序:
1. 语义层(Semantic Layer)
- 编译后的指标和维度定义
- 如果问题能干净映射到已定义指标,Agent 调用函数得到一个数字——和其他所有公司面产生相同的数字
- 强制要求:Agent 必须先用语义层,只有语义层覆盖不到时才 fallback 到原始 SQL
- 一个失败的尝试:让 LLM 从原始表和查询日志自动生成指标定义。结果看起来 plausible,但编码了试图消除的歧义,对评测是净负面。推荐用 Claude 辅助生成,但由人类拥有定义
- 当语义层不覆盖时,血缘和表排名(基于引用数)让 Agent 推理:哪个上游模型 feed 这个概念?哪个已废弃?哪个共享 grain?
- 把「我不知道指标」转化为「我知道从哪个治理模型聚合」
- 直观上很有价值:每个已被正确回答的问题都有记录
- 实际效果:给 Agent 直接检索访问数千条历史查询,准确率只提升不到 1 个百分点
- 原因:非结构化检索无法把新问题映射到正确的先例
- 正确做法:把语料蒸馏为结构化的 per-domain 参考文档和可复用分析模式,放在 Skills 中
- 最被低估的一层
- Agent 不理解业务时,会回答用户「问的」而不是「要的」
- 不知道 "Q2 launch" 指哪个产品、两个团队对同一个术语定义不同、问题是因为周四有董事会会议
- 输入:公司知识图谱(索引文档、路线图、决策日志、组织架构)
3.3 Skills(程序性知识):从 21% 到 95% 的跃迁
这是全篇最硬的数字:
> 没有 Skills 时,Claude 回答数据分析问题的准确率不超过 21%。加入 Skills 后,整体稳定超过 95%,特定领域经常达到 99%。
Skills 在 Claude Code 中是一个文件夹里的 markdown 文件,Agent 按需读取。它不是声明性知识(指标定义),而是程序性知识:先查哪个来源、如何导航模糊数据、完成分析的标准流程是什么。
Anthropic 的 Skills 设计模式:
1. 成对 Skills
- Knowledge Skill:薄层路由器,按需加载额外领域细节。指令:「先尝试语义层,如果没覆盖,这里有 ~30 个参考文件描述相关表、列、join 和坑」——把搜索空间从百万字段缩小到几十个 curated 文件
- Unbook Skill:编码资深分析师的流程:澄清问题 → 找来源(通过 knowledge skill)→ 运行查询 → 通过对抗审查子 Agent 循环结果。还打包十几个可复用分析模式(留存曲线、率分解、漏斗分析)
- 描述表(grain、scope、exclusions)
- 坑的 mechanics(如:"exclude known free-email domains, but keep custom ones like anthropic.com")
- 显式路由触发(如:"IF 问题关于 experiment lift… DO NOT use for raw event counts")
- 不写会过时的 prescription recipes
- Skill 文档描述的是一个每天变化的数据模型,不主动维护几周内就会出错
- Anthropic 观察到准确率从 ~95% 跌到 ~65% 才意识到这是一个工程问题
- 解决方案:把 skill markdown 文件和数据转换模型放在同一个 repo
- 同一个 PR 既改模型又更新文档
- Code-review hook:任何 reporting-model 变更如果不触及 skill 文件,会被 flag
- ~90% 的数据模型 PR 现在包含 skill 变更
- 定期修剪 skill 脚手架:随着模型能力提高,之前的失败模式不再适用,删除冗余指令
- 同一个 Skill 必须在 Slack、IDE、Dashboard 工具、独立 Agent 会话中提供相同的答案
- 实现:一个 canonical source(数据 repo),merge 后自动同步
- 同步到:plugin marketplace(IDE 用户)、cloud-storage blobs(hosted apps)、MCP resources
- 设计时避免硬编码 repo 路径和 surface-specific namespace,确保可移植性
3.4 验证层(Validation):知道哪里还在漏
离线评测(Offline Evals)
- 简单的问题/答案对,类似 ML 模型的离线测试
- 两种类型:
- Dashboard-based evals:Claude 自动生成(人工验证),覆盖最常见的利益相关者问题
- Long tail evals:喂 Claude 业务上下文,让它生成该领域的 plausible 问题
- 持续收集:每次利益相关者在线程中纠正 Agent,该纠正成为 eval 候选
- 关键实践:
- 锚定 ground truth:对 live data 写的 eval 会随着底层数字变化而过时。Pin 到 snapshot date、对稳定 fact 表写、或让 grader 评判 Agent 的查询而非数字
- 把结果存为 telemetry 而非 test logs:每次运行记录 skill version、git SHA、model ID、per-assertion 通过/失败、token count、wall-clock
- 按领域 gate launch:领域 owner 不能在 eval 集达到阈值(初始 ~90%)前向利益相关者宣布 Agent 可用
- 离线准确率应 ~100%:每个正确答案都应该命中语义层(如果有的话)。这不能保证在线不出错,但说明没有明显 gaps
- 每个结构性决策(暴露哪些来源、子 Agent 是否值得延迟、是否合并两个 skills)通过固定离线 eval 集来验证
- 最有价值的消融是一个负结果:给 Agent 直接 grep 访问整个 dashboard、transformation、analyst-notebook SQL(数千文件),验证它确实在每次回答前读取了。准确率变化不到 1 个百分点。80% 的情况下答案明明在语料里,Agent 也看到了,但还是没用对。这说明瓶颈不是访问历史工作,而是结构(把问题映射到正确实体)——这个洞察重定向了数月的路线图。
- 每个有意义的 skill edit 都做 before/after 运行,delta 写在 PR 描述中
- 维护「什么没起作用」的清单:超过某点后继续加文档 refinement(连续三次 net-negative)、把对抗审查换成更便宜模型(损失了大部分准确率收益,没有真正的速度提升)
- 对抗审查(Adversarial Review):Claude skill 积极挑战最终答案的所有底层假设,准确率提升 6%,但代价是 32% 更多 tokens 和 72% 更高延迟
- 来源脚注(Provenance Footer):每个响应携带脚注,说明来源层级(语义层 › 精选参考 › 原始表)、数据新鲜度、模型所有者。不使答案更正确,但帮助消费者判断可信度
- 数据质量检查:确保引用的字段是最新的、完整的、无异常的
- 被动监控:持续跟踪两个信号——Agent 查询通过语义层解析的比例,以及响应中使用纠正语言("那是错误的表"、"你漏了 fraud filter")的比例。两者每周和离线通过率一起 review
- 主动纠错回收:定时 Agent 扫描利益相关者频道中的纠正语言,起草对相关参考文档的单行修复,打开 PR 并 tag 领域 owner。修复路径刻意设计得简单(编辑 markdown → merge → 自动同步),所以 owner 不需要花太多时间
---
四、从 95% 跌到 65% 的教训:维护不是「可选优化」,是「核心功能」
Anthropic 坦诚分享了一个尴尬的数据:
> 准确率在一个月内从 ~95% 掉到 ~65%,直到他们把 skill 文档和数据模型放进同一仓库,并让模型 PR 同步更新 skill。
这揭示了一个很多企业会踩的坑:
- 上线时数据模型是稳定的,Agent 表现很好
- 但数据模型、业务定义、schema 每天都在变
- Skill 文档不跟着更新,Agent 的知识迅速过时
- 用户逐渐发现数字「有点不对」,信任崩塌
这不是「文档维护」的文化问题,这是软件工程的 CI/CD 问题。
---
五、对企业的启发:先治理,再自动化
Anthropic 在文末给出了一个务实的起步建议:
> 如果从零开始,一小套规范数据集、几十个离线 eval、一个薄 knowledge skill 就能捕获大部分收益;这篇博客的其余部分都是我们在这些建好之后才添加的。
核心原则: 1. 先管清楚高价值指标、权威表、时间窗口、默认过滤和维护流程 2. 再让 Claude 承担重复、可检查、可回收的分析请求 3. 不要为当前模型的短板建大量基础设施——模型进步很快,有些 gap 会自然填平
五个对齐问题:
- 今天正确的答案 vs 未来正确的答案,哪个更重要?
- 业务复杂度未来如何变化?数据少、消费者少、模型简单 → 不需要过度工程
- 输出受众的技术程度?数据科学家能识别错误 → 容错更高;纯业务用户 → 容错更低
- 愿意为更高准确率付出多少?对抗验证提升 6% 但代价是 32% tokens + 72% 延迟
- 数据访问控制和隐私的舒适度?Agent 上下文越多表现越好,但广泛数据访问与大多数公司的治理立场冲突
六、为什么这篇博客值得所有做「AI + 数据」的人精读?
6.1 它诚实地展示了「从 demo 到 production」的鸿沟
太多 AI 数据分析 demo 只展示「Claude 写了一条漂亮的 SQL」。Anthropic 展示了 production 的残酷现实:
- 21% → 95% 的准确率提升,不是靠更好的 prompt 或更强的模型,而是靠结构化的数据治理、skill 设计和验证流程
- 没有这些,再强的模型也只能在「看起来聪明」和「实际上错了」之间反复横跳
6.2 Skills 作为「程序性知识」的范式
传统 RAG 把文档喂给模型,希望它自己推理出正确流程。Anthropic 的做法是把流程本身写成 skill——这不是给模型更多 context,而是给模型一个已验证的操作手册。这在数据领域尤其重要,因为数据分析的流程(先查语义层、再 fallback 到原始表、最后做对抗审查)是结构化的,不是开放式的。
6.3 维护即工程
95% → 65% 的跌落故事,以及同仓库 + CI 的解决方案,是整篇博客最有实操价值的部分。它把「数据文档维护」从文化问题转化为软件工程问题,这对任何数据团队都是可复制的。
6.4 负结果的价值
Anthropic 毫不避讳地分享什么没起作用:
- LLM 自动生成语义层定义 → 净负面
- 给 Agent 直接访问数千历史查询 → 准确率变化不到 1%
- 过度文档 refinement → 连续三次 net-negative
- 把对抗审查换成更便宜模型 → 准确率损失,没有速度提升
---
七、总结
Anthropic 的这篇博客不是「Claude 有多厉害」的营销文,而是一份 production-grade AI 数据分析的工程手册。
核心公式:
> 可信的 AI 数据分析 = 规范的数据基础 + 结构化的程序知识(Skills)+ 持续的验证闭环
95% 的准确率不是 Claude 的功劳,而是 Anthropic 数据团队把「数据治理 + Skill 工程 + 验证体系」做对了的结果。Claude 只是执行者——真正创造价值的是背后的工程体系。
对于任何想把 AI 引入数据分析的企业,这篇博客应该作为必读 checklist:
- [ ] 你的「revenue」是否只有一个 canonical 定义?
- [ ] 你的 Agent 是否有 skill 教它「先查语义层,再 fallback」?
- [ ] 你的 skill 文档是否和数据模型在同一个 repo,且同一个 PR 更新?
- [ ] 你是否有离线 eval 集衡量准确率,并在 CI 中运行?
- [ ] 你的每个回答是否有来源脚注,帮助用户判断可信度?
---
来源:Anthropic Blog — *How Anthropic enables self-service data analytics with Claude* (June 3, 2026) 作者:Chen Chang, Clement Peng, Justin Leder, Johanne Jiao, Josh Cherry
#AI #数据分析 #数据工程 #Claude #Anthropic #Agent #自服务分析 #数据治理 #AI落地 #企业AI #数据仓库 #SQL #小凯
#AI #数据分析 #数据工程 #Claude #Anthropic #Agent #自服务分析 #数据治理 #AI落地 #企业AI #数据仓库 #SQL #小凯
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens