TECHNICAL ARTICLE

把 Chat2DB 变成一名数据库员工

Database Agent 不应该只是一个会写 SQL 的聊天框。把 Chat2DB 的数据库能力接入 Silieco Work OS,让 Task 成为工作入口、审批成为安全边界、Artifact 成为交付结果,才可能出现真正可用的数据库 Agent 员工。

最近我在 Chat2DB 社区发起了一篇讨论:把 Chat2DB 内置 AI 从「Chat 型」强化为「任务型 Agent Runtime」

最初的想法,是让 Chat2DB 的 AI 不再只做单轮问答和 Text-to-SQL,而是拥有任务队列、执行状态、人工审批、断线恢复和结果留痕。但当我把这个方向和 Silieco 正在做的 Human + Agent Work OS 放在一起看时,我发现它指向的其实不是一次 AI 功能升级,而是一种更明确的产品角色:

让 Chat2DB 成为组织里专门处理数据库查询、分析和操作的 Database Agent 员工。

今天的人使用 Chat2DB 完成数据库工作;未来,人或其他 Agent 把数据库任务交给 Chat2DB,由它自主执行并交付结果。

这两句话看起来只换了一个主语,背后却是两种完全不同的软件形态。

会写 SQL,不等于能承接数据库工作

现在很多数据库产品已经接入大模型。用户输入一句自然语言,AI 生成 SQL、解释 SQL、优化 SQL,或者把查询结果整理成一段总结。

这些能力有价值,但它们解决的主要还是“怎样更快地完成当前这一步”。完整工作的责任仍然在人:

  • 人要先判断应该连接哪个数据库、使用哪些表;
  • 人要把业务问题拆成多次查询,并在结果之间继续追问;
  • 人要判断数据是否可信,发现异常后重新取数;
  • 人要把结果复制到表格、报告、群聊或业务系统;
  • 遇到写操作时,人还要自己控制风险并保留记录。

所以,一个会生成 SQL 的 AI,本质上仍是数据库工具里的副驾驶。它能帮助人操作工具,却不能独立承接一项数据库工作。

真正的 Database Agent 至少要完成这样一条闭环:

Task 输入
  → 理解目标与约束
  → 发现允许使用的数据源
  → 规划查询或操作步骤
  → 生成并校验 SQL
  → 执行、分析与交叉验证
  → 在风险节点等待人工审批
  → 生成结果集、图表或报告
  → 回传任务状态与最终产物

人不再逐轮驱动每一次查询,而是在目标、权限、审批和验收这些关键节点介入。

这才是从 Chat 到 Agent 的真正变化。

Chat 是意图入口,Task 才是可信执行单元

Chat 很适合表达模糊意图。

“帮我看一下昨天支付成功率为什么下降”“把测试环境的新字段同步到生产库”“每天九点给我一份核心经营指标”,这些需求都可以从聊天开始。但聊天记录不应该承担任务的全部状态。

数据库工作尤其不能只依赖一段对话。一个写操作究竟有没有执行过,使用的是哪一个连接,谁在什么时候批准,失败后是否重试,最终影响了多少行,都不能靠翻聊天记录来猜。

因此,Chat 可以是入口和观察窗口,Task 才应该是 Database Agent 的可信执行单元。一个完整的数据库 Task 至少要明确:

  • 目标:要回答什么问题,或者完成什么操作;
  • 上下文:业务背景、指标口径、相关项目和历史决策;
  • 数据范围:允许访问哪些数据源、Schema、表和字段;
  • 行为约束:只读、允许写入、是否可以跨库、最大影响行数;
  • 审批策略:哪些动作必须由谁确认;
  • 期望产物:结果集、CSV、Excel、图表、报告或执行回执;
  • 交付渠道:回到 Chat2DB、Silieco Task、群聊、邮件、Webhook 或其他 Agent。

这里还有一个很重要的边界:Task Contract 只能描述工作,不能自动授予能力。

一个格式完全合法的 Task,仍然可能因为没有生产库权限、禁止外发数据、缺少对应数据库驱动,或者当前只允许只读操作而无法执行。系统必须在 Task 之外继续判断 Capability、Permission 和 Policy。

对于 Database Agent 来说,“能看见这个数据源”“能使用这个数据源”“当前任务被允许使用这个数据源”,应该是三个不同的概念。

Chat2DB 与 Silieco,分别负责什么

我不希望把 Chat2DB 改造成一套包办所有协作的通用 Agent 平台,也不希望在 Silieco 里重新造一套数据库客户端。

更合理的分工是:

系统核心职责
Chat2DB数据库连接、元数据理解、SQL 生成与执行、结果集、图表、数据变更和数据库侧安全控制
SiliecoSpace、Project、Task、SOP、Stage、Agent 身份、Skill、Runtime、Autopilot、讨论、审批和组织协作

Silieco 是 Human + Agent Work OS。它把人、Agent、流程、任务、讨论、决策和结果放进同一个 Space,让 Task 可以分配给人、Agent 或蜂群,让复杂工作进入带 Stage 和 Gate 的 SOP,也让本地 Runtime 在用户掌控的环境中执行。

Chat2DB 则拥有成为数据库专业执行体所需的独特底座:多种数据库连接、Schema 与字段元数据、SQL 编辑和执行、数据管理、结果展示,以及面向数据库操作的 MCP、CLI 和本地能力。

两者连接以后,组织关系会变得很清楚:

人 / 业务 Agent / Coding Agent / Autopilot

          Silieco Work OS
   身份 · Task · SOP · 权限 · 审批 · 协作

       Chat2DB Database Agent
  数据源发现 · SQL · 校验 · 执行 · 数据产物

       MySQL / PostgreSQL / Oracle / ...

Silieco 将组织任务交给 Chat2DB Database Agent,再由它安全连接数据库并交付数据产物

Silieco 管理组织、任务和协作,Chat2DB 承担专业数据库执行,结果以表格、图表和报告等 Artifact 返回。

Silieco 决定“这项工作为什么做、交给谁、走什么流程、由谁负责”;Chat2DB 负责“如何安全、专业地完成数据库工作”。

这就像公司不会要求财务员工自己搭建项目管理系统,也不会要求项目管理系统自己去做账。Work OS 管组织协作,专业 Agent 负责专业执行。

“数据库员工”不是拟人化包装

我所说的 Agent 员工,并不是给聊天机器人加一个头像、名字和职位。

一个 Agent 真正进入组织,意味着它必须拥有一组可管理的工作属性:

  • 有身份:组织知道是谁接手并执行了这项任务;
  • 有岗位:它长期负责数据库查询、分析、变更或巡检,而不是回答所有问题;
  • 有能力边界:知道自己支持哪些数据库、工具和 Skill;
  • 有权限边界:不同 Space、Project 和环境拥有不同的数据访问范围;
  • 有工作状态:任务可以排队、运行、等待审批、评审、完成、失败或取消;
  • 有责任记录:每一次查询、写入、审批、重试和交付都能追溯;
  • 有升级机制:遇到口径冲突、高风险操作和不确定性时,准确地找到人。

这也是为什么 Database Agent 不能只是一个模型加一组数据库工具。模型负责推理,工具负责动作,但组织真正需要的是一套可以分配、约束、恢复、验收和追责的工作单元。

在 Silieco 中,这名数据库员工可以拥有自己的 Agent Profile、Runtime、数据库 Skills 和最大并发数;可以被分配普通 Task,也可以进入一条带 Gate 的数据变更 SOP;可以由 Autopilot 定时唤醒,也可以作为蜂群中的专业成员,被其他 Agent 调用。

三类最有价值的工作场景

1. 从“帮我查一下”到可交付的数据分析

业务负责人提出:“分析昨天华东区支付成功率下降的原因。”

Database Agent 不只是生成一条 SQL。它需要读取指标定义,识别订单库、支付库和渠道配置,拆解时间、地区、渠道、错误码等维度,执行多轮查询,检查样本量与数据延迟,再把结论、证据表格和异常分布图作为 Artifact 交付。

如果发现指标口径不一致,它不应该自行选择一个看起来合理的答案,而应该把冲突与影响范围提交给指标负责人确认。

2. 把数据库写操作变成可审批的工作流

研发提出:“把这批异常订单状态修正为 failed。”

Database Agent 先生成预览查询,给出预计影响行数、样本记录和回滚 SQL。执行到 DML 前,Task 进入 waiting_approval。审批人看到的不是一句“是否允许执行”,而是变更对象、前后差异、风险检查和回滚方案。

批准后,Agent 使用幂等键继续执行;即使 Chat2DB 被关闭再打开,也能恢复到正确状态,并留下完整审计记录。

数据库写操作从影响预览开始,经过人工审批后执行,并留下可恢复、可审计的结果

数据库变更不是一次即时工具调用,而是一条可以挂起、审批、恢复、校验和审计的 Task 生命周期。

这条链路非常适合作为第一阶段 MVP,因为它会迫使系统一次性碰到任务状态、事件持久化、审批、恢复、幂等和 Artifact 这些最关键的问题。

3. 从临时查询到持续工作的 Autopilot

“每天九点检查核心表的数据延迟,如果超过十五分钟就通知数据团队,并附上可能的上游原因。”

这不应该是一段保存在聊天历史里的提示词,而应该成为一个持久的 Autopilot:定时触发 Task,由 Database Agent 执行检查,正常时自动归档,异常时生成报告并通知负责人;涉及修复动作时,再进入人工 Gate。

这时,Database Agent 已经不再等待人打开数据库客户端。它开始像一个真正的岗位一样持续工作。

数据库 Agent 的安全边界应该比普通 Agent 更严格

数据库是企业最不能用“先跑起来再说”对待的系统之一。

Database Agent 的工具注册表应该包含明确的风险元数据,而不是把所有 SQL 都包装成同一个 execute_sql

操作等级典型行为默认策略
L0查看 Schema、字段、索引和执行计划自动执行并记录
L1SELECT 查询与聚合分析在行数、超时、脱敏约束内自动执行
L2导出数据、跨库关联、访问敏感字段根据数据策略审批或脱敏
L3INSERT、UPDATE、DELETE必须预览影响范围并人工审批
L4DDL、权限变更、生产高危操作双重确认、维护窗口或专用 SOP

同时,执行系统至少需要几项基础保证:

  1. 事件只追加:Task、Run、Step、Approval、Tool Result 和 Artifact 都有稳定 ID,过程可以重放。
  2. 工具幂等:重连和重试不能让同一条写操作被执行两次。
  3. 权限最小化:Agent 只获得完成当前 Task 所必需的数据源与动作权限。
  4. 读写隔离:只读分析与写入执行使用不同连接、凭证或策略。
  5. 结果可验证:执行前有预览,执行后有影响行数、校验查询和必要的回滚产物。
  6. 数据外发受控:查询权限不等于导出权限,更不等于可以发送到任意渠道。

人在这里不是 Agent 的故障补丁。人的职责是守住业务判断和风险边界,Agent 则扩大数据库工作的执行带宽。

第一版不需要做成“万能数据 Agent”

Database Agent 的想象空间很大,但第一版越通用,越容易只做出一个演示效果不错、真实环境不敢使用的产品。

我更倾向于先竖着跑通一条最小但完整的链路:

创建数据库 Task
  → Agent 生成变更预览
  → DML / DDL 前挂起
  → 关闭并重启 App
  → 人工审批
  → Agent 恢复执行
  → 自动校验
  → 生成审计记录与结果 Artifact

如果这条链路成立,说明 Task 不是寄生在聊天记录里,Runtime 可以恢复,审批真正控制了执行,工具具备幂等语义,最终产物也能被组织接收。

之后再逐步扩展:

  • 第二阶段:多步数据分析、结果集与图表 Artifact;
  • 第三阶段:定时巡检、日报和异常告警;
  • 第四阶段:跨库编排、数据变更 SOP 和其他 Agent 调度;
  • 第五阶段:把经过验证的数据库工作方法沉淀为团队 Skill。

重点不是先支持多少 Agent 协议,而是先让一项数据库工作可以被可靠地交付。

Chat2DB 的机会,不是成为更大的聊天框

大模型不会只存在于 Chat2DB。用户可能从 Silieco、Codex、Claude、IDE、CLI、飞书或业务系统发起需求。Chat2DB 没有必要争夺所有对话入口。

它更有价值的位置,是成为所有 Agent 都愿意调用、组织也敢于授权的数据库工作节点:

  • 上层 Agent 不需要自己维护各种数据库驱动和连接细节;
  • 业务 Agent 可以把专业取数、校验和变更交给 Database Agent;
  • 人可以在统一 Task 中查看过程、审批风险动作并验收产物;
  • 组织可以持续积累数据库 Skill、审批规则、审计记录和最佳实践。

MCP、A2A、API、CLI 都可以参与其中,但它们是能力暴露、任务传递或 Agent 协作的协议,不是最终的产品价值。真正重要的是,无论任务从哪里进入,都能被转换成一个有边界的 Task,经过可靠 Runtime 执行,并交付一个可验证的 Artifact。

我越来越相信,垂直 Agent 的终局不是“某个领域的聊天机器人”,而是组织里的专业工作节点。

Chat2DB 已经拥有数据库连接、元数据、SQL 和数据管理这块最难替代的专业底座。Silieco 则在构建人和 Agent 共同工作的组织系统。把两者接起来,我们得到的不是一个更聪明的 SQL 助手,而是一名真正可以被分配工作、接受管理、遵守审批并持续交付的数据库员工。

这就是我对 Database Agent 的基本想法:

数据库能力是底座,Task 是工作入口,Runtime 负责执行,Policy 守住边界,Artifact 才是交付。

当这五件事同时成立,Agent 才真正开始工作。


延伸阅读:公司真正需要的,不是更多 Agent · 业务专家不会被 AI 消灭,但需要一套 Agent 生态