《德说-第485期, 如果这是 AI 终局, 现在该投资什么?》 这篇文章得出了一个惊人结论:
- 移动互联网时代,人是用户,数据是石油,广告是商业模式;
- 智能体时代,智能体本身就是用户,它们会自己花钱买算力、买电力、买数据 —— 这意味着"算力 + 电力"的市场天花板, 将从过去"人能买多少手机" 变成 "全球智能体能消耗多少焦耳的能量", 后者的天花板比前者高 3 到 5 个数量级。
如果这个结论正确, 那么数据库厂商下一步应该做什么? 以下为视频解读, 欢迎订阅:
作为数据库的使用者, AI Agent和人(开发者、DBA、数据分析师)的本质区别是什么? 如果未来AI Agent是数据库的主要用户, 数据库还有哪些没有准备好的? 应该如何按部就班的准备?
我认为Agent 作为数据库主要用户时的“痛点、痒点和死穴”有七个点
- 充分的数据治理, 让 Agent 能够快速理解数据库中的元数据, 例如表的含义、字段含义、约束含义、函数含义、视图含义等等
- 在数据库被使用的过程中, 自动进化: 增加 mcp/skill, 固化常用工具和技能, 提高确定性
- 熔断机制
- 资源隔离机制, 防止被 Agent 打挂
- 预判机制(能预判SQL会带来什么问题: 性能问题、安全问题、... 对应的风险等级、控制机制等)
- 提高安全底线(拖库、删库跑路、乱动schema、注入、乱动元数据注释、带来抖动的行为 都必须被制止)
- 快照机制(在快照中验证, 可快速创建快找, 并支持用后即删)
下面从这七个确定性方向出发,我们来看看更深、更具落地方案是什么。
一、 重新定义:AI Agent 与人类用户的本质区别
AI Agent 与人类的本质区别,可以提炼为以下三个“核心错位”:
- “知识理解”的错位(显式 vs 隐式): 人类靠“看文档 + 问同事 + 搜 Wiki” 来补全对数据库的理解。人类能容忍“表名语焉不详、字段没有注释”的烂系统,因为可以通过“猜”或“读业务代码”来建立隐式认知。但 Agent 必须依赖 “极度显式且机器可读”的结构化元数据(即充分数据治理),否则它的理解就会像无源之水,哪怕 SQL 报错能自我修正,也会因为一开始的业务理解偏差而南辕北辙。
- “演进速度”的错位(工具固化 vs 技能停滞):
人类 DBA 沉淀经验靠写 Shell 脚本、存 SQL 模板、或者开发内部运维平台,这是一个外置且缓慢的过程。而 Agent 拥有“自进化”的诉求——当它发现某段复杂的分析逻辑或优化动作被频繁使用时,它希望数据库能够直接将这种行为固化为可复用的组件(MCP/Skill)。数据库对人类来说是静态的,对 Agent 来说必须是动态进化的。
- “确定性边界”的错位(试错成本的降维打击):
人类在生产环境的操作是“一鼓作气,小心翼翼”,因为人类输不起,一旦搞挂系统需要通宵排查。而 Agent 拥有无限的精力和极低的心理负担,它的行为逻辑是“快速试错、在报错中学习”。这就导致 Agent 需要一个“能够无限次无代价重试”的确定性沙箱(快照机制) ,以及一个能帮它兜底的 “严苛严厉的严父型内核”(预判、熔断、安全底线)。
二、 核心审视:数据库还有哪些没有准备好的?
结合开头说的七个方向,我们逐一解剖当前主流数据库(如 PostgreSQL、MySQL 等)在哪些底层细节上还没有准备好:
1. 元数据层(Metadata):缺乏“AI 语义第一(Semantic-First)”的设计
- 现状: 目前数据库的元数据(
COMMENT ON TABLE/COLUMN、CONSTRAINT、TRIGGER)是残缺且为了应付检查而写的。甚至很多商业系统的 DDL 里连一个注释都没有。 - 没准备好: 数据库缺乏一个“元数据完备性与可信度得分”机制。现有的元数据只告诉了 Agent “这是个 varchar”,却没有告诉 Agent “这个字段存储的是加密后的跨境电商物流单号,格式必须满足特定正则表达式,且与另一张表的某个字段有隐性业务级联关系”。
2. 演化层(Evolution):数据库技能树的“动态闭环”能力缺失
- 现状: 数据库的外部扩展(如 PG 的 Extension)或内部存储过程(PL/pgSQL)是静态安装的,需要高权限人类介入。
- 没准备好: 数据库无法感知外部 Agent 的高频行为。例如,Agent 最近高频执行一套复杂的 PostGIS 空间多表关联查询,数据库并不会自动把这个“高频复杂行为”提炼、封装成一个标准化的 MCP Tools / Agent Skill。它缺乏“主动向 Agent 喂招、固化技能”的自适应能力。
3. 运行时控制(Runtime Control):缺乏“智能预判与秒级沙箱”
- 现状: 传统的
EXPLAIN 只是基于统计信息估算 Cost(代价),它无法预判“这个 SQL 会不会引发锁争用、会不会导致连接池雪崩”。传统的备份恢复(如 pg_dump/WAL)或闪回(Flashback)都是实例级或表级的,且非常“重”。 - 没准备好:
- 预判机制: 缺乏在 SQL 真正执行前,结合当前系统吞吐量、锁队列、磁盘 I/O 状态进行“多维风险评估(Risk Grading)”的引擎。
- 快照机制: 缺乏“秒级、进程内/会话级、零复制(Zero-Copy)”的写时复制(CoW)快照。Agent 无法在 10 毫秒内克隆一个完全一致的生产数据影子,在里面疯狂作死,验证完正确性后拍屁股走人。
4. 安全与隔离(Security & Isolation):缺乏“防抖与意图防御”
- 现状: RBAC(用户角色权限)只管“能不能读写”,不管“怎么读写”。cgroups 或数据库内置的资源组(Resource Group)只能硬性限制 CPU/内存占比。
- 没准备好:
- 安全底线: 无法拦截“合法的毁灭性行为”。例如,Agent 拥有
ALTER TABLE 权限(因为要帮人类优化结构),它在自我纠错时脑抽把一个大表的核心字段类型改了,导致全表锁死。现有的数据库安全机制无法在内核中识别并掐断这种“逻辑正确但行为毁灭”的动作。 - 熔断机制: 缺乏“行为抖动识别”。无法识别出某个 Agent 正在以每秒 50 次的频率变换 SQL 格式进行重试,并将其拉黑。
三、 应该如何按部就班的准备?
既然方向已经清晰,数据库研发和运维团队应该遵循 “先防守、后赋能、再进化” 的三步走战略。
【第一阶段:防守】 隔离、熔断、安全底线(守住不挂)
│
【第二阶段:赋能】 数据治理、快照、预判(高效试错)
│
【第三阶段:进化】 自动进化、MCP/Skill 固化(智脑合一)
第一阶段:防守(防抖、防挂、守底线)—— 建立 Agent 准入防火墙
这个阶段的核心是把 Agent 关进笼子里。哪怕 Agent 再疯狂,也绝不能影响传统应用的稳定运行。
- 部署“智能数据库代理(AI-Aware Proxy)”实现熔断与隔离:
- 不要在数据库内核里直接改,在 Proxy 层(如 pgproto 级别、中台 Gateway)针对 Agent 的连接进行特殊标记。
- 落地控制: 引入 “指数退避惩罚机制” 。如果 Agent 提交的 SQL 连续报错 3 次以上,或者引发了 CPU/锁抖动,Proxy 强行对该 Agent 的 Session 进行指数级限流(第 1 次熔断 1 秒,第 2 次 10 秒,第 3 次直接断开连接),逼迫 Agent 背后的 LLM 进入“深度思考(Reasoning)”而不是盲目重试。
- 硬编码“安全红线律法”(Kernel-Level Guardrails):
- 在内核或 Proxy 中硬编码不可逾越的规则(类似于阿西莫夫机器人三定律)。
- 落地控制: 无论 Agent 拥有多大权限,禁止在业务高峰期(或全天候)执行未通过风险审计的
DROP、TRUNCATE、无 WHERE 条件的 DELETE。任何动到 Schema(ALTER TABLE)的行为,必须触发异步的人类 DBA 审批(Human-in-the-loop),或者至少触发内核级反向校验。
第二阶段:赋能(数据治理、快照验证、智能预判)—— 打造完美的 Agent 实验场
这个阶段的核心是给 Agent 机器可读的知识,并给它提供低成本的试错沙箱。
- 元数据“语义化”与“图谱化”(Data Governance for AI):
- 推动全库的数据治理。将表、字段、约束、业务逻辑甚至历史的最佳实践 SQL 塞入一个专用的系统表(如
pg_ai_semantic_catalog)。 - 落地控制:
- 规范 DDL 变更流程:无丰富注释(
COMMENT)的建表语句直接报错拦截,强制人类或 Agent 在开发时补齐“字段业务含义、枚举值范围、关联依赖”。 - 自动生成 Database-App Context Vector:数据库定时扫描自己的 Schema 和业务日志,自动生成一份给大模型看的“上下文大礼包”(包含 Table Topologies、Constraint Graphs),Agent 接入时通过 MCP 一键拉取。
- 实现“会话级轻量化快照(Session-Level Zero-Copy Snapshot)”:
- 落地控制: 利用底层存储能力(如 ZFS、Btrfs、或云原生数据库的 Aurora/PolarDB 存储层快照技术),或者内核层面的临时表空间技术。当 Agent 发起一个“高危”或“探索性”会话时,数据库自动为其 Fork 出一个只读/可写并向其隐藏的临时快照视图。Agent 在这个快照里完成所有的“修正-重试”闭环。一旦会话结束,快照瞬间销毁。 目前 NeonDatabase 已支持.
- 引入“多维预判引擎”(Predictive Execution Shield):
- 在传统优化器(CBO)之上,加一层“风险与性能预判器”。
- 落地控制: Agent 的 SQL 进来后,预判器不仅评估 Cost,还会评估:
- 安全风险: 是否有 SQL 注入风险?是否在尝试大批量拖库?
- 稳定风险: 该查询是否会引发大量的临时文件磁盘 I/O?是否会锁住核心订单表?
- 根据评估结果返回清晰的风险评级(Green/Yellow/Red) 。如果是 Red,直接拒绝执行,并返回极度结构化的丰富报错原因(Rich Error JSON),指引 Agent 应该如何去加索引或拆分事务。
第三阶段:进化(自动进化、MCP/Skill 固化)—— 形成智脑一体的有机体
当防守和试错环境都成熟后,数据库应该开始自我进化,与 Agent 融为一体。
- 原生支持 MCP(Model Context Protocol)与技能树(Skill Tree):
- 数据库不再仅仅是一个基于 TCP 的 SQL 接收端,它本身就是一个标准的 MCP Server。 目前 supabase 就在朝这个方向发展: Supabase将数据库变成AI一等公民
- 落地控制: 数据库内核原生向外暴露
list_tools、call_tool、list_resources 等接口。Agent 无需自己拼装复杂的 SQL 去查各种性能视图,直接调用数据库暴露的标准化 Tool(例如:get_table_hotspots(table_name)、optimize_vector_index_recall(index_name)、也可以包括业务相关的常用能力等)。
- 技能与工具的“自动捕获与固化”(Self-Evolving Skills):
- 落地控制: 数据库内部部署一个“行为分析 Agent(Kernel DBA Agent)”。
- 闭环流程:
- 当它监测到外部 Agent 频繁通过复杂的 SQL 序列组合来解决某一类特定问题(例如:多维时序数据的重采样合并)。
- 内核 AI 会将这段逻辑提炼,自动在数据库侧注册为一个新的 Stored Procedure 或者打包成一个新的 MCP Tool / Skill。
- 在下一次 Agent 建立连接时,数据库主动通知 Agent:“我已自动固化了技能
Tool_X,下次请直接调用此 Tool,效率可提升 200%,且不再消耗你的 Token 和我的硬解析资源。”
总结
这个方案,本质上是在解耦 Agent 的“高频模糊探索”与数据库生产环境的“高确定性要求”之间的矛盾。
通过“第一阶段的熔断和底线” 确保数据库不会死;通过 “第二阶段的数据治理和快照” 让 Agent 变聪明、敢试错;通过 “第三阶段的 MCP 和技能固化”让整个系统沉淀出确定性,自动进化。沿着这条路走下去,未来的数据库将不再只是一个“数据坛子”,而是一个能够与 AI 协同进化的“数据生命体”。
最后留一个开放性问题: 数据作为要素, 是不是也可以交易, 如果未来数据可以交易, 数据库又该做什么呢?