最近我在 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 生成与执行、结果集、图表、数据变更和数据库侧安全控制 |
| Silieco | Space、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 承担专业数据库执行,结果以表格、图表和报告等 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、字段、索引和执行计划 | 自动执行并记录 |
| L1 | SELECT 查询与聚合分析 | 在行数、超时、脱敏约束内自动执行 |
| L2 | 导出数据、跨库关联、访问敏感字段 | 根据数据策略审批或脱敏 |
| L3 | INSERT、UPDATE、DELETE | 必须预览影响范围并人工审批 |
| L4 | DDL、权限变更、生产高危操作 | 双重确认、维护窗口或专用 SOP |
同时,执行系统至少需要几项基础保证:
- 事件只追加:Task、Run、Step、Approval、Tool Result 和 Artifact 都有稳定 ID,过程可以重放。
- 工具幂等:重连和重试不能让同一条写操作被执行两次。
- 权限最小化:Agent 只获得完成当前 Task 所必需的数据源与动作权限。
- 读写隔离:只读分析与写入执行使用不同连接、凭证或策略。
- 结果可验证:执行前有预览,执行后有影响行数、校验查询和必要的回滚产物。
- 数据外发受控:查询权限不等于导出权限,更不等于可以发送到任意渠道。
人在这里不是 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 才真正开始工作。