用中文问数据库,我把 Perplexity + Snowflake 这条路走了一遍
本文最后更新于 2026-05-15,文章内容可能已经过时。
用中文问数据库,我把 Perplexity + Snowflake 这条路走了一遍
"上个月哪个城市的用户留存最差?"
这句话,一个运营同学说出来,以前的标准流程是:提需求→等数据分析师排期→3天后拿到一张Excel→发现口径不对→再等2天。
Perplexity 最近推出的 Computer 功能新增了 Snowflake 直连能力,官方的意思是:你现在可以直接用自然语言问这个问题,AI 自动生成 SQL、执行查询、返回结果。
我看到这个消息的第一反应是:这不就是把数据分析师的活给 AI 干了?
然后我去实测了一遍。
结论是:这件事比官方说的要难一点,但也比你想象的更有价值——前提是你得搞清楚自己是哪类用户。
---
为什么这次不是"又一个AI写SQL"的噱头
市面上"AI 写 SQL"的工具已经很多了,随便打开一个 ChatGPT 或者 Claude,把你的表结构贴进去,让它帮你写查询语句,这件事早就能做。
但那是写 SQL,不是查数据。
中间差了一个关键步骤:你还得自己把 SQL 拿去数据库里跑,拿到结果,再判断对不对。对非技术用户来说,这道坎足够让整件事崩掉。
Perplexity 这次做的不一样——它打通的是问题→生成SQL→执行→返回结果的完整闭环。你不需要碰 SQL,不需要有数据库客户端,理论上就是一个对话框,问完就有答案。
加上 Perplexity 本身的实时联网能力,它的定位是:一个能同时查互联网和你自己数据库的 AI 助手。
这个定位,目前没有其他主流产品做到。
---
上手流程实测:我把每一步都走了一遍
第一步:你得先有 Snowflake 账号
这是非技术用户最容易卡死的第一道门。
Snowflake 提供 30 天免费试用,注册时会给你 $400 的信用额度,足够个人测试用。但注册过程需要填写公司信息,而且真正的企业数据肯定不在你的个人试用账号里——这意味着,如果你想连公司的真实数据,必须让 IT 或数据团队开权限给你。
注册地址:snowflake.com,选择合适的云服务商(AWS/Azure/GCP)和区域,国内用户建议选亚太节点。
第二步:在 Perplexity 端配置连接
进入 Perplexity Computer 功能后,找到"Connect Data Source",选择 Snowflake,需要填写以下信息:
- Account Identifier:格式类似
xyz12345.ap-northeast-1.aws,在 Snowflake 控制台的右上角账户信息里可以找到 - Username / Password:你的 Snowflake 登录凭证
- Database / Schema / Warehouse:需要提前在 Snowflake 里确认
⚠️ 这里有一个容易踩的坑:Warehouse 是 Snowflake 的计算资源,如果你的 Warehouse 处于 Suspended 状态,查询会失败,但报错信息不够直观,很容易误以为是连接配置问题。
第三步:开始提问
连接成功后,你就可以直接在对话框里用自然语言提问了。
测试案例一(成功)提问(英文):Which city had the lowest 30-day retention rate last month?
AI 生成的 SQL 大致如下:
SELECT
city,
COUNT(DISTINCT CASE WHEN days_since_first_visit <= 30 THEN user_id END) AS retained_users,
COUNT(DISTINCT user_id) AS total_users,
ROUND(
COUNT(DISTINCT CASE WHEN days_since_first_visit <= 30 THEN user_id END) * 100.0
/ NULLIF(COUNT(DISTINCT user_id), 0),
2
) AS retention_rate_pct
FROM user_activity
WHERE first_visit_date >= DATEADD(month, -2, CURRENT_DATE())
AND first_visit_date < DATEADD(month, -1, CURRENT_DATE())
GROUP BY city
ORDER BY retention_rate_pct ASC
LIMIT 10;
结果返回了一张按留存率升序排列的城市列表,逻辑清晰,SQL 本身没有明显问题。
测试案例二(有隐患)提问(中文):过去7天注册用户里,哪些人昨天还活跃?
AI 生成的 SQL:
SELECT DISTINCT u.user_id, u.username
FROM users u
JOIN events e ON u.user_id = e.user_id
WHERE u.created_at >= CURRENT_DATE() - 7
AND DATE(e.event_time) = CURRENT_DATE() - 1;
问题在哪里:这条 SQL 用了 CURRENT_DATE() - 7,在 Snowflake 里这是合法语法,但语义上"过去7天注册"应该是 created_at >= DATEADD(day, -7, CURRENT_DATE()),两者在跨月边界时结果可能不同。更关键的是,它没有处理时区问题——如果你的数据是 UTC 时间存储,而你的用户在东八区,"昨天活跃"的定义就会偏差8小时。
非技术用户看不出这个问题,直接拿结果去汇报,可能会出错。
---
非技术用户的真实天花板
我想诚实地说清楚三道隐形门槛,官方宣传里几乎不提这些。
第一道门:权限配置是前置工作,不是你能自己做的Snowflake 的权限体系相当复杂,涉及 Role、Database、Schema、Table 多层授权。非技术用户连接的账号,必须有人提前配好"只读权限"——否则要么查不到数据,要么(更危险的)AI 有可能执行写操作。
这道门的意思是:你需要一个愿意配合你的数据工程师或 DBA,才能真正跑通这个流程。
第二道门:问好问题的前提是了解数据结构"上个月哪个城市留存最差"——这个问题听起来很自然,但 AI 要把它翻译成 SQL,必须知道:留存数据在哪张表?城市字段叫什么?留存的定义是 7 日还是 30 日?
如果你不知道公司数据库里"用户行为"存在哪张表、字段名叫什么,AI 会猜,猜错了你也不知道。
第三道门:结果可信度验证如上面案例二所示,AI 生成的 SQL 不一定是对的。技术用户可以 review SQL 逻辑,非技术用户没有这个能力。
结论不是"不能用",而是分层使用:这个工具最适合"懂业务、懂数据结构、但不想自己写 SQL"的中间层用户,而不是完全零基础的小白。---
横向对比:同类工具怎么做这件事
| 能力维度 | Perplexity + Snowflake | ChatGPT Advanced Data Analysis | Claude(插件方式) | 通义/文心 | | 数据来源 | 直连真实数据库 | 上传 CSV/Excel 文件 | 有限插件支持 | 主要依赖上传文件 | | SQL 执行 | 自动执行并返回结果 | 在沙盒内执行 Python/SQL | 视插件而定 | 不直接执行 | | 实时数据 | ✅ 实时查询 | ❌ 需手动上传 | 部分支持 | ❌ | | 中文理解 | 可用,但效果略逊英文 | 较好 | 较好 | 最好 | | 上手门槛 | 高(需配置数据库连接) | 低(上传文件即用) | 中 | 低 | | 适合场景 | 企业级实时数据查询 | 一次性数据分析 | 轻量查询 | 中文场景数据分析 |Perplexity 的核心差异化在于:实时直连 + 自动执行。其他工具要么需要你手动导出数据,要么只生成 SQL 让你自己跑。但这个优势的代价,是更高的配置门槛。
ChatGPT 的 Advanced Data Analysis 对于"我手头有一份数据,想快速分析"的场景,反而更友好——上传 CSV,直接问,门槛低很多。
---
给不同角色的实操建议
如果你是完全小白
先别急着连数据库。Perplexity 本身的联网搜索功能已经很强,先花两周把它当搜索引擎用,感受一下"用自然语言问问题"是什么体验,再考虑进阶。
数据库连接这件事,等你能说清楚"我想查什么、数据在哪里",再来折腾。
如果你是有数据需求的运营/产品
这是最值得尝试的一类用户。建议的路径:
1. 先找数据团队沟通,让他们给你开一个只读账号,并且告诉你主要表的结构
2. 整理一份"我最常需要查的问题清单"
3. 用英文提问,效果通常优于中文(尤其是涉及时间范围的描述)
4. 每次拿到结果,都要找数据团队抽样验证一次,建立信任之后再独立使用
如果你是技术用户/数据工程师
重点测试复杂查询的边界:多表 JOIN、窗口函数、嵌套子查询,看 AI 在什么复杂度下开始出错。另外重点关注 SQL 的安全性——确保连接账号只有 SELECT 权限,避免 AI 误执行 DDL 或 DML 语句。
---
快速自测:你现在适合用这个功能吗?
回答以下 5 个问题,"是"得 1 分:
1. 我知道自己公司用的是什么数据库,或者有人可以帮我接入 Snowflake
2. 我能说出自己最常查的 3 类业务问题
3. 我有一个可以帮我验证查询结果的数据同事
4. 我订阅了 Perplexity Pro(目前此功能需要 Pro 版,约 $20/月)
5. 我能接受"AI 有时候会查错,需要人工复核"这件事
4-5分:现在就可以开始配置,条件成熟。 2-3分:可以先做准备工作(找数据团队沟通、整理问题清单),不要急着连库。 0-1分:先用 Perplexity 的基础功能练手,暂时不需要这个功能。---
如果你想在不折腾 Snowflake 账号的前提下,先体验一下用自然语言调用各类 AI 能力的感觉——可以先试试 [api.884819.xyz](https://api.884819.xyz),支持多模型切换(GPT、Claude、Deepseek 等),适合在摸清楚自己需求之前做横向测试。国产模型完全免费,没有月租,新用户注册即送体验 token,成本也更可控。
---
最后说一句实话
Perplexity 这次做的事,本质上是在回答一个更大的问题:
AI 的能力边界,到底应该由工程师来决定,还是由业务用户来决定?Perplexity 的答案是:让业务用户直接问数据库,工程师只负责把门开好。
这个方向是对的,但今天的实现还不够成熟——对非技术用户来说,"把门开好"这件事本身就需要工程师深度参与,悖论没有消失,只是往前移了一步。
---
下一篇我想聊的,是另一个方向的答案。
有人正在把这件事反过来做:不是让非技术用户去问数据库,而是让 AI 直接替你搭数据库——自动生成数据模型、定义表结构、规划数据仓库架构。
如果你对「AI 生成数据架构」这个方向感兴趣,记得关注更新。
---
本文由8848AI原创,转载请注明出处。关注8848AI,带你从零开始学AI。#AI工具 #Perplexity #数据分析 #自然语言查询 #Snowflake #8848AI #AI实测 #数据库