10 月 8 日,Anthropic 发布了 Claude Dashboards。用户连接数据源后,只需用自然语言描述需求,Claude 就能编写 SQL、生成可视化,并创建可以继续更新的仪表盘。

看到这个功能时,我的第一反应是:这和我正在开发的 DuckLocal 有很多相似的地方。

DuckLocal 是我基于 DuckDB 和 GPUI 构建的一款本地优先桌面数据分析工具。除了 SQL 查询和文件分析,我一直在尝试通过声明式仪表盘,让 AI 智能体参与数据分析与可视化。

因此,Claude Dashboards 的发布对我不只是一个值得关注的新功能,也让我重新思考了 DuckLocal 的产品方向。

1. Claude Dashboards 在做什么?

过去创建仪表盘,通常需要连接数据库、理解数据结构、编写 SQL、选择图表、配置筛选条件,最后调整布局并发布。熟悉 SQL 和 BI 工具的用户能够完成这些步骤,但普通业务用户仍然面临不小的门槛。

Claude Dashboards 尝试把这些操作整合进一次自然语言交互。例如,用户可以直接提出:

帮我分析最近六个月的收入趋势,按地区拆分,并展示增长最快的业务。

Claude 根据已经连接的数据源生成 SQL 和图表。它可以使用 Snowflake、BigQuery、Redshift、Databricks、ClickHouse 等数据平台,也能通过连接器访问 Salesforce 等业务系统。

其中有两个设计尤其值得关注。

仪表盘成为可以持续迭代的分析对象

仪表盘不再只是最终的展示结果。用户可以继续通过对话修改图表、增加筛选条件或调整分析维度,而不必重新手工配置整个页面。

图表背后的 SQL 可以检查

用户不仅能看到分析结果,还能查看结果是如何计算出来的。AI 可以降低数据分析门槛,但不能因此让分析过程变成无法检查的黑盒。

2. Claude Dashboards 验证了什么?

开发 DuckLocal 时,我一直有一个想法:

仪表盘不应该只是 BI 工具中的静态页面,而应该成为人与 AI 智能体共同分析数据的工作空间。

传统 BI 往往由分析人员创建仪表盘,再交给业务人员查看。业务人员对某个指标产生疑问后,需要重新联系分析人员,修改 SQL 或增加图表。

AI 智能体让这个过程有机会发生变化:用户提出问题,智能体分析数据并创建仪表盘;用户在查看过程中发现新问题,可以继续要求智能体调整查询或深入调查。

仪表盘因而从单向的信息展示逐渐变成双向的分析交互。Claude Dashboards 的发布让我更加确信,这个方向值得继续探索。

当然,大公司的入场不等于市场需求已经完成商业验证。但至少说明,自然语言驱动的数据分析和仪表盘,已经成为 AI 产品重点投入的方向之一。用户需要的也许不是更多图表,而是更快地从数据中找到可信答案。

3. 从 Claude Dashboards 获得的两个启发

在刚刚发布的 DuckLocal v0.2.1 中,我增加了两个与这个方向相关的能力。

让人与 AI 智能体围绕图表协作

第一个功能是仪表盘评论。用户可以直接在 DuckLocal 图表上留下问题,例如:

为什么这个时间段的错误率突然上升?帮我检查一下。

智能体通过 DuckLocal CLI 读取评论、分析问题并回复。用户可以继续讨论,或者在问题解决后把评论标记为已解决。评论保存在仪表盘对应的 .dash.comments.json 文件中,整个过程不依赖云端协作服务。

DuckLocal 的每日订单图表打开了评论面板,可以向 AI 智能体提出修改要求
评论附着在图表上,并保存在 .dash 文件旁;智能体可以通过 ducklocal comments 读取和回复。

我希望借此建立一种新的协作方式:

人负责提出问题和做出判断,智能体负责执行分析,仪表盘则是双方共享的上下文。

真正有价值的分析通常不是一次完成的,而是在提出问题、验证假设和修正结果的过程中逐渐形成。

让 SQL 成为可以检查的分析依据

第二个功能是查看图表 SQL。DuckLocal v0.2.1 支持直接查看仪表盘中每个图表最近一次执行的 SQL,其中的数据源和当前筛选条件都已展开。用户可以复制 SQL,也可以在查询编辑器中打开并继续修改。

DuckLocal SQL 面板展示每日订单图表背后展开的数据源、筛选条件、分组和排序
SQL 面板展示实际执行的查询,包括展开后的 CSV 数据源和当前筛选条件,并可复制或在查询标签页中打开。

AI 生成的图表看起来正确,不代表计算逻辑一定正确。收入增长率可能用了错误的时间范围,也可能漏掉部分业务数据。如果只展示最终结果,用户很难发现这些问题。

将 SQL 暴露出来,可以让分析过程更加透明。对财务、审计和安全分析等场景而言,结果不仅要容易理解,也应该可以检查和复现。

相关文档:用评论审阅仪表盘 · 通过 CLI 读取和回复评论

4. Claude Dashboards 与 DuckLocal 有什么不同?

两者都在降低数据分析门槛,也都试图让仪表盘成为可以持续探索、检查和修改的分析界面。不过,它们的产品定位和适用场景并不相同。

维度Claude DashboardsDuckLocal
产品定位AI 驱动的数据分析与仪表盘本地优先的数据分析桌面应用
运行环境Claude 云端产品本地桌面应用
数据处理通过连接器访问数据平台和业务系统基于本地 DuckDB 执行,也可显式连接外部数据
仪表盘自然语言生成和修改声明式配置,支持 CLI 与智能体工作流
AI 协作主要通过 Claude 对话通过 CLI 和图表评论协作
SQL 透明度可以查看图表 SQL可以查看、复制并打开实际执行的 SQL
开源闭源商业产品Apache-2.0 开源
隐私与控制依赖云服务及连接器的权限机制支持本地执行,用户明确控制存储与网络访问

DuckLocal 不需要在每个功能上与 Claude Dashboards 竞争。Claude 的优势在于模型能力,以及与企业数据源和其他工具的整合;对已经采用 Claude 和云数据平台的企业来说,这种体验十分自然。

但也存在另一类需求:并不是所有数据都适合上传到 AI 服务,也不是所有分析都需要云端平台。

分析本地 CSV、审计导出的财务数据、排查包含敏感信息的安全日志,很多时候只需要本地分析环境。DuckLocal 选择本地优先,是希望让用户在自己的设备上完成这些工作。

本地软件并不自动满足所有合规要求,但它让用户能够更明确地控制数据存储、查询执行和网络访问。

隐私应落实为具体的产品行为

在 v0.2.1 中,我调整了 DuckDB 扩展的安装行为。此前,部分查询可能触发 DuckDB 自动从网络下载扩展;现在 DuckLocal 默认不再这样做,用户需要主动前往 Extensions 页面安装。自动检查更新也默认关闭。

对一个主打本地优先的产品来说,隐私不能只是 README 里的一句承诺,还应该落实到默认行为中。

开源同样是 DuckLocal 的重要区别。用户可以查看代码、审查数据处理逻辑,也可以根据自己的业务需求修改和扩展。对数据安全与隐私要求较高的场景,这种可检查、可控制的能力会是 DuckLocal 的长期优势。

5. 下一步:让仪表盘真正成为人与智能体的协作空间

目前 DuckLocal 仪表盘已具备声明式配置、SQL 查询、可视化和图表评论等基础能力。但距离我期待的人与智能体协作的数据分析工具,还有一段距离。

用户指向仪表盘图表上的异常点,DuckLocal 小鸭与 AI 智能体检查查询并给出修正后的图表
DuckLocal 正在走向的工作方式:在图表上提出问题,由智能体调查,再以可供用户审阅的 SQL 和修改作答。

接下来我更关注的不是增加多少种图表,而是如何把分析过程连接起来:

  • 用户在图表上提出问题,智能体能理解图表对应的数据和 SQL,并继续调查。
  • 智能体不仅回复评论,也能根据分析结果提出仪表盘修改建议。
  • 用户可以检查智能体的 SQL、分析过程和修改内容,再决定是否接受。
  • 仪表盘不只展示最终结果,也能记录分析中的问题、结论与决策。

我希望未来的 DuckLocal 不只是 DuckDB GUI,也不只是 BI 工具,而是一个基于 DuckDB 的本地数据工作空间,让用户和 AI 智能体围绕同一份数据持续协作。

6. 写在最后

Claude Dashboards 的发布,让我看到了自然语言、SQL 和数据可视化进一步融合的趋势。

AI 生成仪表盘只是第一步,让人与 AI 围绕数据持续协作,才是更值得探索的问题。

Claude 正在从 AI 助手向数据分析工作空间扩展,而 DuckLocal 从本地数据工具出发,逐步引入智能体协作能力。两者的起点和路径不同,但在一些核心问题上正在逐渐接近。

对于 DuckLocal,我仍然希望坚持三个方向:

本地优先开源人与智能体协作

数据应该由用户控制,分析过程应该透明,而 AI 应该成为用户分析数据的协作者,而不是无法检查的黑盒。这也是我继续开发 DuckLocal 的原因。

相关链接

← 全部文章