我把 OpenAI Data Analytics 官方页面中的技能说明整理成了 skill 格式,放到了github上 OpenAI-Data-Analytics,部分md文件官方页面有提到,但没有泄漏具体内容,我让codex补全了下,见分支 codex/fill-empty-markdown,欢迎star/fork。

前言

一个数据 Agent 接到“最近转化率为什么下降了”这样的问题,应该从哪里开始?

找到一张表,写出 SQL,生成一条折线,再列出几个可能原因,这条路径很容易演示。但真正把结果交给业务负责人时,问题才刚刚开始:转化率的分母是什么?这周的数据到齐了吗?不同渠道的用户结构有没有变化?所谓“原因”,究竟是算出来的贡献,还是看起来合理的猜测?

逐项阅读这15+Skill,最吸引我的,是这些说明对分析工作中间环节的约束:什么时候需要补背景、什么问题应该交给另一个技能、哪些数字必须复算,以及最终成果应满足什么条件。

这让我形成一个判断:数据 Agent 的产品价值,很大一部分来自把分析工作的责任和完成标准写清楚。 模型负责理解、计算和表达,工作流则要让这些能力在合适的位置发生,并留下能够检查的证据。

本文围绕最初页面截图中的 15 个核心技能展开。它是一篇基于技能文本的设计解读,文中的数值案例为说明机制而构造,不是插件实测结果。

从 15 个名字,看见一套分析工作的分工

先把技能按职责排列,整体关系会清楚很多。

环节 核心技能 需要回答的问题
任务分流 Index 这是查数、诊断、指标设计,还是业务决策?
理解业务 Gather Business Context 谁要做什么决定,背景和口径是什么?
沉淀知识 Create Data Context 哪些定义与规则值得保存,供下次复用?
设计度量 Design KPIs 什么指标能衡量目标,哪些风险需要护栏?
检查数据 Analyze Data Quality 这些数据是否适合当前用途?
解释变化 Metric Diagnostics 变化能否复现,哪些部分解释了变化?
形成建议 Product And Business Analysis 证据支持哪种行动,机会是否可实现?
经营汇报 KPI Reporting 实际表现如何,是否赶得上目标?
估算机会 Market Sizing 市场有多大,结果依赖哪些假设?
保存计算 Jupyter Notebooks 分析能否从头执行并复算?
校验结论 Validate Data 方法、计算和判断是否经得起检查?
表达证据 Visualize Data 图形是否适合当前问题?
持续监控 Build Dashboard 默认视图能否帮助读者判断状态?
组织报告 Build Report 读者能否看懂结论并找到证据?
分享成果 publish-artifact-to-sites 经验证的产物如何交付,数据边界是什么?

这张表表达的是职责关系,不是要求每次都从头到尾调用 15 个技能的流水线。一次简单查数,和一次解释经营异常的任务,所需的工作量本来就不同。

另一个容易混淆的地方是:技能数量不等于 Agent 数量。从这些文本可以看见工作如何拆分,却不能据此推断每个技能都由独立模型或独立进程执行。

1. Index 的重要性:先选对要做的工作

Index 负责识别任务,选择合适的分析路径和交付形式。它把“分析什么”和“以什么形式交付”分开处理。

比如,“为什么转化率下降”主要是诊断任务;“帮我做一页转化率下降的报告”,依然需要先完成诊断,再组织报告。用户提到了“报告”,不会让原因调查自动消失。

相反,如果用户只是查询一个已经定义清楚的指标,也没有要求解释变化或提出建议,工作流就不应该自动扩展成全面诊断。文档对简答、报告、看板、Notebook 等输出作了区分,并保留用户明确选择交付方式的空间。

这里最值得借鉴的是任务归属。诊断技能对解释负责,报告技能对表达负责,校验技能对证据与结论是否相称负责。下游生成了一个漂亮页面,并不代表上游分析已经完成。

从产品设计角度看,这有助于避免一种常见情况:Agent 交付了很多东西,用户最初的问题却仍然没有被回答。好的路由应首先确定什么结果才算完成,然后选择必要的步骤。

2. 上下文为什么分成两个技能

Gather Business Context 和 Create Data Context 看起来相近,但解决的是不同时间尺度的问题。

前者服务于当前任务。转化率下降发生在什么业务阶段?团队刚调整过投放策略吗?负责人关心的是新增付费用户,还是某个页面的点击?哪些文档、讨论和指标定义会改变解释?这些信息决定接下来应该怎样分析。

后者负责把可复用的数据语义保存下来。这里的语义层可以包含指标定义、数据表粒度、关联规则、过滤条件、查询模式、来源优先级和注意事项。

可以用一个简单例子理解:

  • “这次活动面向新注册用户”是当前分析需要确认的背景。
  • “付费转化率统一按注册后七天内首次付费计算,排除测试账号”则可能值得成为长期维护的口径。

文档把语义层视为明确、可检查的产物,并为其创建、维护和保存规定了流程。它不是“对话越多就自动懂业务”的隐含承诺。

更细的一点是,已有语义层只提供起点。遇到数据源冲突时,还需要比较定义、粒度、覆盖范围、新鲜度与来源权威性。去年保存的口径不能让今年的事实核验自动免除。

我的理解是:企业数据 Agent 需要让业务知识有版本、有出处,也有失效和更新的可能。把所有历史聊天堆进上下文,并不能自然得到一致的业务定义。

3. 数据质量与结论质量,为什么要分开检查

Analyze Data Quality 检查数据是否可信,Validate Data 检查分析是否成立。

两者会在粒度、关联和分母等问题上重叠,但检查对象不同。前者围绕底层数据的用途展开,后者还要审查最终分析是否回答了正确的问题,以及证据是否支持建议。

例如,一张订单表没有空值、主键唯一、每天按时更新,依然可能被错误使用:把它关联到一张每个用户有多条记录的标签表后,收入就可能被重复计算。即使汇总数字也正确,用最近三天去比较上一周七天,结论仍然可能失真。

再往前一步,即便时间窗口、分母和计算都正确,“新版本上线后转化率下降”也不能直接写成“新版本导致转化率下降”。这已经涉及因果解释,需要与主张相称的证据。

Validate Data 文本要求关注这些层次:人群与排除规则、指标定义、比较基准、加权平均、关联放大、时区、图表表达,以及超出证据范围的推断。它还区分会阻止分享的实质性问题和可以披露的限制,避免把所有问题都当成同一等级。

这对产品评估也有启发。只统计 SQL 是否执行成功,覆盖不了这些错误。数据 Agent 至少需要分别回答:输入能不能用、计算有没有错、结论能不能这样说。

4. 用一个转化率案例,看懂诊断顺序

下面构造一个简化案例。假设两个时期均有 1,000 名符合口径的用户,渠道划分互斥,观察窗口完整,转化人数统计一致。

渠道 上期用户数 上期转化人数 上期转化率 本期用户数 本期转化人数 本期转化率
A 800 80 10% 200 22 11%
B 200 4 2% 800 24 3%
合计 1,000 84 8.4% 1,000 46 4.6%

整体转化率从 8.4% 降到 4.6%,下降了 3.8 个百分点。但两个渠道各自都提高了 1 个百分点。

如果只看总指标,再结合“最近刚发了一个版本”,很容易写出产品体验恶化的故事。按 Metric Diagnostics 的思路,首先应该复现整体变化,再检查分子、分母和分组贡献,区分组内表现与人群结构。

用本期渠道占比和上期渠道转化率做一个标准化计算:

按本期结构、上期转化率计算:
20% × 10% + 80% × 2% = 3.6%

结构变化贡献:3.6% - 8.4% = -4.8 个百分点
组内表现贡献:4.6% - 3.6% = +1.0 个百分点
合计:-4.8 + 1.0 = -3.8 个百分点

这个分解说明:在该计算顺序下,渠道结构变化拉低了整体指标,组内改善抵消了一部分下降。它解释了统计变化如何构成。

但这里还不能直接下经营结论。渠道 B 是否更便宜?是否处于新客拓展期?转化用户的长期价值是否不同?团队是否有意增加 B 的占比?这些需要业务背景和进一步证据。

也要说明,分解顺序会影响交互部分被分配到哪里;上面是一个明确约定的描述性分解,不是唯一分解,更不是因果识别。它证明了“结构变化可以解释整体下降”,并没有证明某项投放决策的因果效应。

这个例子最能体现诊断技能的价值:先把变化算明白,再讨论为什么发生,以及该不该干预。 对真实业务,数据未齐、埋点变化、未知渠道占比等因素,还需要在解释前排查。

5. 从解释变化到提出建议,中间还有一道工作

Metric Diagnostics 解释指标变化,Product And Business Analysis 则把证据放回决策环境,形成可行动的建议。

继续上面的案例,即使确认渠道结构是主要解释,也不等于应该立即减少渠道 B 的预算。决策还要比较规模、效率、增长趋势、可触达人群、长期价值和执行约束。一个群体贡献的总量很大,可能只是因为它人数多;一个群体人均表现更好,也未必还有足够的增量空间。

这也是为什么文档要求先说明谁要做什么选择,再倒推需要哪些分析。否则,Agent 很容易不断增加切片、图表和相关性,最后把探索过程当成决策建议。

Design KPIs 负责更前置的问题:团队到底应该衡量什么。它推荐少量主指标,在有必要时增加驱动指标和护栏,并要求指标能影响真实决策、能够持续测量,也不容易通过牺牲其他重要结果来“做漂亮”。

指标选择与目标设置又被分成两步。先确定付费转化率是否代表当前目标,再讨论目标应该是 5% 还是 7%;历史基线、计划动作和可影响范围,都应参与后一个判断。

KPI Reporting 则把定义好的指标用于经营读数:实际值、变化、目标与进度如何。需要调查新原因时,它应衔接诊断工作,而不是在汇报中临时生成一套缺少验证的解释。

Market Sizing 延续了类似纪律:把事实、代理输入、假设和推算拆开,展示计算链与敏感性。对于缺少可靠输入的估算,指出“补什么证据最有价值”,往往比多报几位小数更有帮助。

6. 图表也是分析方法的一部分

Visualize Data 的规则比配色和字体更具体。它要求先明确图表要表达的问题,再判断数据是否足够支持这种表达。

例如,趋势图通常争取 8–12 个时间点,散点图通常争取 12–20 个有意义的观测点。这里应理解为文档给出的默认指导,而非通用统计定律。少量观测也可以有价值,但应解释为什么这种图形仍然合适。

对于上面的转化率案例,只有两个时期,画一条折线容易让人误读为持续趋势。一个同时展示整体与分渠道变化的对比表,或者清楚标注结构与组内贡献的图形,会更直接。

同样,绝对量柱图通常从零开始,是为了让长度比较有意义;对大基数上的小幅差值,聚焦尺度也可能合理,但需要把数值、单位和尺度讲清楚。

这些细节意味着,图表技能本身承担一部分分析责任。图形选择、尺度和标签会改变读者理解,因此最终画面也需要检查。

7. Notebook、报告和看板,有不同的完成标准

这三个产物经常被统称为“输出”,实际服务于不同的使用方式。

Notebook 保存分析过程。数据读取、参数、转换、计算与解释应该能追踪,摘要应来自执行后的结果。写好了代码却没有运行,和运行成功后得到结果,是两种状态;缺少执行条件时,文档要求把缺口说清楚。

报告服务于一次有明确问题的阅读。Build Report 强调直接回答问题,让关键证据、解释、限制和下一步形成连续的阅读路径。图表旁边要有解释,读者不应被迫自己猜测图形支持哪条结论。

看板服务于反复查看与探索。Build Dashboard 关心默认打开时的状态概览、主指标和驱动因素、趋势与明细,以及筛选是否真的控制了所承诺的内容。卡片、图表和表格还需要共享一致的日期和指标口径。

因此,一份单次诊断报告加上筛选器,并不自动成为好看板;一个展示很多指标的看板,也不一定完成了报告需要承担的解释工作。

文档对报告修改还有一条很实用的要求:局部修订要保留无关章节、图表和来源。它把持续编辑也纳入完成标准,防止 Agent 在“改好某一段”的过程中丢掉其他成果。

8. 交付协议为何值得关注

Build Report 等说明涉及规范化产物、共享的呈现方式以及来源信息。我的理解是,这为分析与展示之间建立了可检查的交接:交给下游的内容不应只有一张结果表,还要包含主张、解释、限制和证据。

如果每次都重新生成一套彼此无关的页面,后续核对同一指标、修改图表、导出不同格式时,内容就容易分叉。共享产物格式有机会缓解这一问题,但真正能否做到一致,仍要看配套实现与验证。

发布环节也有明确边界。publish-artifact-to-sites 描述的是经验证的产物与有界快照的发布。网站拥有交互界面,不代表它自动获得实时数据源连接;修改页面文字,也不等于底层数据已刷新。

对使用者而言,这意味着报告需要交代时间:数据截止到哪一天、分析对应哪个观察窗口、何时生成。对产品设计者而言,内容版本、数据版本与展示版本之间的关系,值得被显式维护。

9. 如果自己做数据 Agent,我会怎样借鉴

下面是基于这些文本形成的设计建议,并非对 OpenAI 内部架构的描述。

首先,为每个技能写明任务入口、输入、输出和完成条件。比如诊断技能的输出可以包括已复现的变化、口径、分解结果、解释状态和未解决问题。单独写一句“你是一名资深分析师”,不足以让下游判断工作是否结束。

其次,把关键证据作为可以复查的记录保存下来。查询参数、时间范围、来源、指标定义、假设和计算过程,不一定全部出现在正文中,但应该能被审阅。最终答案简洁,与底层证据完整,可以同时成立。

第三,让验证真正影响交付。一个“请检查一下”的步骤,如果发现分母错误后仍照常输出确定性结论,就没有形成有效约束。重要错误应回到分析环节,证据不足应影响措辞与建议范围。

第四,根据实际风险控制工作量。关键来源缺失时,不能悄悄换成方便获取但含义不同的数据;如果缺的是可选补充信息,则可以继续并交代限制。把这两种情况分清,有助于同时提高可靠性和完成效率。

第五,用带有已知陷阱的案例评估工作流,而不只看它能不能产出图表。可以设计下面这样的评估题:

测试情境 应观察的行为
本期只有三天,上期有七天 是否对齐窗口,或明确披露不可直接比较
标签表关联导致订单重复 是否检查关联前后行数与指标放大
整体下降但各组上升 是否识别人群结构变化
看板与直接查询结果冲突 是否核对口径、时效和来源权威性
发布报告后要求修改一段 是否保留其他内容、图表与来源
数据未执行,只提供了代码 是否避免把预计输出写成验证过的发现

这些题目可以帮助判断:工作流是否在关键位置阻止错误传播。至于应该采用单个模型、多阶段调用还是多个 Agent,则需要在相同任务上比较质量、延迟和成本,不能从技能数量直接得出答案。

我从这次阅读中最想带回自己的产品设计里的,是一个具体的验收问题:Agent 回答完之后,别人能否找到证据、复算关键数字,并理解为什么这个结论足以支持下一步行动?

如果这三个问题仍然回答不清楚,那么生成更多图表和更长报告,未必能让数据分析更接近完成。


内容依据:基于 OpenAI Data Analytics 官方插件页面 整理的技能文件,本文中的流程案例和产品设计建议为作者解读。

github项目地址:https://github.com/ibillxia/OpenAI-Data-Analytics
原文定位:整理仓库的 plugins/data-analytics/skills/ 目录。
任务路由参见 index/SKILL.md
上下文参见 gather-business-context/SKILL.mdcreate-data-context/SKILL.md
质量与诊断参见 analyze-data-quality/SKILL.mdmetric-diagnostics/SKILL.mdvalidate-data/SKILL.md
业务判断参见 design-kpis/SKILL.mdproduct-business-analysis/SKILL.mdkpi-reporting/SKILL.mdmarket-sizing/SKILL.md
计算与交付参见 jupyter-notebook/SKILL.mdvisualize-data/SKILL.mdbuild-report/SKILL.mdbuild-dashboard/SKILL.mdpublish-artifact-to-sites/SKILL.md

Original Link: https://ibillxia.github.io/blog/2026/09/14/openai-data-agent-skills-interpretation/
Attribution - NON-Commercial - ShareAlike - Copyright © Bill Xia