AI 快讯 编译自 simon_willison #功能更新#工具评测#AI Agent

Datasette Agent 0.2a0 发布:工具可中途向用户提问,支持 SQL 查询保存

Datasette Agent 0.2a0 新增 ask_user() 功能,允许 AI 工具在执行中暂停并向用户提问(是非/多选/自由文本),问题持久化到数据库,重启后恢复。同时内置 save_query 工具,可安全保存 SQL 查询。对数据分析师和开发者提升交互式数据探索体验。

编译发布 2026/06/11 原文发布 2026/06/10

一句话看懂

Datasette Agent 0.2a0 让 AI 工具能在执行中途暂停并向用户提问,同时支持一键保存 SQL 查询,大幅提升交互式数据分析的灵活性和安全性。

详细发生了什么

Datasette Agent 是 Datasette 生态中的 AI Agent 工具,0.2a0 版本引入了两个关键特性。

  1. ask_user() 机制:工具可以通过声明 context 参数获得 ToolContext 对象,然后调用 await context.ask_user(...) 向用户提问。支持三种问题类型:yes/no、多选(options=[...])和自由文本(free_text=True)。在用户回答前,Agent 回合会暂停,问题以表单形式渲染在聊天界面中,并持久化到内部数据库——即使服务器重启,对话也能恢复。用户回答后,工具会从头重新执行,并重放已存储的答案,因此建议在产生副作用之前调用 ask_user()

  2. save_query 内置工具:Agent 可以将其生成的 SQL 保存为 Datasette 的存储查询(stored query)。保存操作始终需要人工确认——Agent 会展示完整的 SQL、建议的名称、数据库和可见性设置,只有用户点击“Yes”后才会真正存储。

这两个功能基于作者前一天借助 Claude Fable 5 构建的新 LLM alpha 版本实现。

中文圈视角

对于中文用户,尤其是数据分析师和开发者,这个更新有几点值得关注:

  • 交互式数据探索的实用增强:ask_user() 让 AI 能在不确定时主动询问用户,例如“是否要过滤掉空值?”或“选择哪个时间范围?”,这比一次性生成完整 SQL 更符合真实工作流。国内类似工具如 DeepSeek 的代码解释器或 Kimi 的数据分析功能,目前缺乏这种暂停-询问-恢复的机制。

  • 安全与可控性:save_query 要求人工确认才保存,避免了 AI 意外修改数据库。对于国内企业用户,这种“人机协同”模式更符合数据安全规范,也更容易被接受。

  • 使用门槛:Datasette 本身是开源项目,国内用户可以直接部署,无需梯子。但 ask_user() 依赖 LLM alpha 版本,可能需要自行配置模型接口。目前没有直接的国产平替,但类似功能可期待在 ModelScope 社区或阿里云的 DataWorks 中出现。

  • 盲点:中文社区对 Datasette Agent 的讨论较少,多数人更关注大模型本身,而忽略了这类“数据+AI”中间件的价值。对于需要频繁与数据库交互的团队,这个工具值得一试。

几条值得记住的细节

  • ask_user() 支持三种问题类型:yes/no、多选、自由文本,通过 optionsfree_text 参数控制。
  • 问题持久化到内部数据库,服务器重启后未回答的问题依然存在。
  • 工具在用户回答后会从头重新执行,因此建议在产生副作用前调用 ask_user()。
  • save_query 保存 SQL 时,Agent 会展示完整 SQL、名称、数据库和可见性,需用户点击 Yes 才生效。
  • 该功能基于作者前一天用 Claude Fable 5 构建的新 LLM alpha 版本。

一句话总结

如果你用 Datasette 做数据分析,这个版本让 AI 助手更懂你的需求,同时保证数据操作安全可控。