Cover

Written By
技能练习生
技能练习生

场景 1: 新公司快速上手,30 分钟掌握数据仓库

背景

你刚加入一家 SaaS 公司,负责数据分析师的工作。数据仓库用的是 Snowflake,里面有 200 多个表。老大让你 "看看这周的流失率",你打开 Snowflake,面对一堆表名——fact_events、dim_users、dim_accounts、fct_subscriptions——完全摸不着头脑。问同事?大家都在赶季度末的报表,不好意思打扰。

你的指令

"我刚加入这家公司,想为我们的 Snowflake 数据仓库创建一个数据分析技能。主要关注 SaaS 订阅相关的核心表,比如用户、订阅、事件这些。帮我快速上手,让我能独立写查询。"

发生的结果

AI 先连接 Snowflake,列出所有数据集。然后它开始提问,你一边回忆一边回答:

  • "最重要的表?subscriptions(订阅)、users(用户)、accounts(企业账号)、events(事件)"
  • "'用户'和'账号'有什么区别?用户是个人,账号是企业。一个账号可以有多个用户。用 account_id 关联订阅,user_id 关联用户行为"
  • "流失率怎么算?订阅状态从 active 变成 churned 的用户数 / 月初 active 订阅数"
  • "查询时要注意什么?测试账号 (domain='test.com') 要排除,试用期 (trial) 不算流失"

大约 25 分钟后,一个完整的技能包生成了。你打开 references/subscriptions.md,看到订阅表的详细说明:每个字段的含义、状态值枚举、与用户表的关联方式。最实用的是 references/queries.md,里面有 "计算月度流失率" 的查询模板,你直接复制改了日期范围,跑出结果交给老大。老大问你 "怎么这么快就上手了?" 你笑了笑:"有个 AI 导师"。

效果

本该花一周摸索的数据环境,30 分钟就搞定了。后续你写查询时,AI 能精准理解 "订阅到期未续费的活跃用户" 是什么意思,生成的 SQL 一跑就通,再也不用反复试错。

场景 2: 补充营销数据,让技能更全面

背景

你已经在用之前创建的技能处理产品数据了,今天市场部的同事来找你:"能不能帮忙拉一下广告投放的效果数据?看看 Google Ads 和 Facebook Ads 的 ROAS?"。你翻开技能包,发现 references/ 里面只有产品相关的表,营销投放的数据表完全没覆盖。没办法,你又得去问市场部的同事表结构、字段含义、指标定义。

你的指令

"给现有的数据分析技能加上营销投放领域的知识。需要覆盖 Google Ads 和 Facebook Ads 的数据表,以及 ROAS、CTR 这些核心指标。"

发生的结果

AI 加载了你现有的技能,发现它目前覆盖了 product、subscription、user 这些领域。然后它开始针对营销领域提问:

  • "营销相关的表在哪?ads_raw、campaigns、ad_creatives 这些表在 marketing 数据集下"
  • "ROAS 怎么算?广告产生的收入 / 广告花费。要注意,收入有 7 天归因窗口"
  • "CTR 呢?点击数 / 展现数"
  • "有什么坑?同一个 campaign 可能在多个广告平台,去重要按 campaign_external_id"
  • "新人容易搞错什么?raw 表是按天分区的,查 30 天数据记得加日期过滤,不然会扫全表,很慢"

15 分钟后,references/marketing.md 生成了,包含所有营销相关的表文档、指标定义、注意事项。你把这个更新后的技能包同步给团队,市场部的同事也能用它来快速生成投放报表了。

效果

不用从头创建新技能,在现有基础上增量补充。团队成员各负责自己的领域,技能包逐渐覆盖公司全业务线,成为"全员可用"的数据知识库。

场景 3: 新人培训,把经验沉淀成文档

背景

你是数据团队的老员工,带过 3 个新人,每次都要重复讲同样的事情:"events 表的时间字段是 UTC,报表要用美东时间"、"用户表有多个 ID,搞不清楚就问"、"查询订单要过滤 status='completed',别把取消的也算进去"。你想,这些"经验之谈"能不能系统化地记下来,让新人自学,减少重复劳动?

你的指令

"把我们团队的数据分析最佳实践整理成一个技能。重点记录:常见错误、查询规范、指标定义。目标是新人看了这个技能,能快速写出靠谱的 SQL。"

发生的结果

AI 像一位访谈者,系统地引导你梳理经验:

  • "先告诉我你们的数据仓库概况" —— 你说:Snowflake,主要用的事实表有 orders、events、subscriptions,维度表有 users、products
  • "新人最容易在哪摔跟头?" —— 你列举:时区问题、状态过滤、多表 join 导致的行数膨胀
  • "每个问题的标准解法是什么?" —— 你分享:用 CONVERT_TIMEZONE 转时区、JOIN 前先 COUNT 检查行数、用 DISTINCT 去重
  • "团队有哪些规范?" —— 你说:所有查询必须加 as_of_date 注释、耗时查询要 EXPLAIN 先、大表 JOIN 要注意分布键

生成技能后,你特别看了看 references/best_practices.md,里面清晰记录了:

  • 时区处理标准: 所有时间字段统一转 EST,用 CONVERT_TIMEZONE('UTC', 'America/New_York', timestamp)
  • JOIN 检查清单: 每次 JOIN 前先运行 COUNT 对比,行数异常要检查是否多对多关系
  • 查询模板: 标准 LTV 查询、漏斗分析查询、同期群查询的模板

新人入职后,你让他先读这个技能包,有问题再看文档。新人反馈:"比看 Wiki 直观多了,感觉有位老手在旁边指导"。

效果

把"藏在脑子里"的经验显性化,减少重复教学。团队的知识沉淀成文档,不依赖个人,新人成长更快,老员工解放出来做更有价值的事。