← 随机比特 / 所有内容

数据探索的尽头是“自驱”:Simon Willison 的 Datasette Agent

2026-05-24 · 随机比特

数据探索的尽头是“自驱”:Simon Willison 的 Datasette Agent

当你拥有一个结构极度清晰、边界极其明确的数据查询工具时,给它插上大模型的“脑子”会发生什么?

著名的开源项目 Datasette 作者 Simon Willison 最近给出了他的答案:Datasette Agent。这不仅是一个新功能的发布,更是向我们展示了“垂直工具如何平滑演进到 Agent 时代”的最佳实践。

不做万能助理,做最懂 SQLite 的“专科医生”

现在的技术圈,每个人都在喊着要做全能的 General Agent,仿佛只要模型够强,就能一揽子解决所有的业务需求。但现实是,通用 Agent 往往在遇到具体、硬核的工程问题时显得捉襟见肘。

Datasette Agent 走了一条完全相反的路:它紧紧依附于 Datasette 和 SQLite。

这个 Agent 不需要懂得如何去预订机票或者总结万字长文,它只需要做一件事:理解当前的数据库 Schema,把你的自然语言提问翻译成精准的 SQLite 查询语句,然后把结果拿回来。

这种“专科医生”式的设计带来了极高的成功率。因为它面对的上下文是完全确定的——哪怕是最复杂的连表查询,也有底层的元数据作为它坚实的锚点。

闭环比聪明更重要:工具调用的核心逻辑

在构建 Agent 的过程中,Simon Willison 踩到了一个所有做 AI 自动化的人都会遇到的坑:模型不可避免会写出报错的 SQL 语句。

常规的做法可能是让用户再去提示一遍“你写错了,报错信息是 xxx,请重试”。但在 Datasette Agent 中,他将容错做进了闭环里。

它的底层高度依赖于“可靠的工具调用”(Tool Calling)。如果大模型生成了一条非法的 SQL,系统并不会直接把报错抛给用户,而是将 SQLite 的底层错误信息作为工具输出(Tool Output)再次喂回给大模型。大模型在看到报错后,会迅速意识到诸如字段名拼错、或者是忘记了关联等问题,然后当场“自我纠正”,重新提交一条新的查询。

这种基于错误反馈的自驱闭环,才是让一个“聊天的玩具”变成“生产力工具”的分水岭。

极简的插件生态:扩展 Agent 的执行边界

Datasette 从诞生起就是一个高度模块化、靠插件堆叠起来的生态。Agent 也没有丢掉这个灵魂。

目前的 Datasette Agent 可以通过插件无限外扩它的能力边界:

这告诉我们一个非常重要的工程启示:在 AI 时代,与其指望大模型一次性生成一个包含前后端、图表渲染的完整应用,不如把底层的执行单元全部打散成原子化的插件。大模型的角色,只是在中间做一个聪明的“调度器”。

结构化数据的最后一块拼图

很多时候我们做数据分析,最大的阻力不是数据不够,而是“写 SQL 或写 Python 分析脚本”的启动成本太高。

Datasette Agent 的出现,本质上是把数据探索的门槛降到了零。你只需要用自然语言说出你想要什么,Agent 就会在你定义好的边界和工具链里不知疲倦地去试错、去查询、去制图,直到给你想要的结果。

这不仅是 Datasette 的下一步,或许也是所有开源工具的下一步:与其把功能越做越重,不如把接口和 Schema 暴露得足够干净,然后把交互的指挥权,彻底交给基于大模型的 Agent。