【摘要】90%数据库集群由AI创建,标志着软件交互核心正从UI转向底层心智模型与代码逻辑。

引言

在 TiDB Cloud 的后台监控数据中,一个令人深思的现象正在发生:每天新创建的数据库集群里,超过 90% 是由 AI Agent 直接发起并完成配置的。这一数据并非仅仅是自动化程度提升的指标,它是一个明确的信号,预示着软件工程的“核心用户”已经发生了代际切换。过去二十年,我们习惯于围绕人类的认知局限来设计软件,我们花费无数精力打磨图形界面(GUI)、优化点击流程、设计引导文案,试图降低人类的学习成本。然而,当主要用户变成 AI Agent 时,这些为了“碳基生物”设计的体验优化,瞬间变成了阻碍“硅基生物”高效执行的累赘。

这一转变迫使我们必须跳出传统的交互设计框架,从本体论的高度重新审视软件的形态。AI Agent 不需要色彩斑斓的仪表盘,也不需要循循善诱的向导模式。它们需要的是清晰的逻辑抽象、确定性的执行边界以及能够被代码固化的操作接口。我们正在经历一场从“人机交互(HCI)”向“机机交互(ACI,Agent-Computer Interaction)”的范式转移。在这场转移中,UI 正在消亡,而软件背后的“心智模型”正在成为新的交互核心。本文将深入探讨这一趋势背后的技术逻辑,并提出面向 Agent 的软件架构重构方案。

🔷 一、UI 已死,心智模型永生:为 Agent 设计的本原逻辑

当我们将视线从人类用户移开,转向 AI Agent 时,会发现两者对软件系统的理解方式存在本质差异。人类通过视觉感知世界,依赖直观的图形和隐喻来建立对系统的认知;而 AI Agent 则通过阅读代码、文档和 API 定义来构建认知。LLM(大语言模型)在训练过程中阅读了海量的人类代码,这使得它们对计算机科学中那些古老而稳固的抽象概念——即“心智模型”——有着天然的亲和力。

1.1 认知的断层:为何 GUI 成为阻碍

在传统的软件设计中,GUI 是为了弥补人类记忆力和逻辑处理能力的不足而存在的。我们设计下拉菜单是因为人类记不住所有的选项;我们设计进度条是因为人类需要心理抚慰。但对于 Agent 而言,这些设计不仅多余,甚至是干扰。

Agent 通过 API 与系统交互,但如果 API 的设计仅仅是 GUI 的简单映射,那么它依然是低效的。例如,许多现代 SaaS 软件的 API 设计充满了为了前端展示而存在的冗余字段,或者将一个完整的业务逻辑拆碎成无数个细粒度的 RPC 调用,要求调用者在客户端维护复杂的状态机。这种设计对于人类开发者编写的前端应用是合理的,但对于 Agent 来说,这意味着极高的上下文消耗和推理成本。

Agent 真正需要的,是能够直接映射到底层逻辑的接口。 它们不需要通过模拟点击来操作文件,它们需要的是直接的文件系统调用;它们不需要通过自然语言去描述“把这个表格里的数据画成图”,它们更倾向于直接生成一段 Python 代码来调用 Matplotlib。

1.2 回归本原:复用“古老”的心智模型

在设计面向 Agent 的软件时,一个核心的误区是试图发明全新的、专门为 AI 设计的交互概念。事实上,LLM 的训练语料决定了它们最擅长理解的,恰恰是那些在计算机科学历史上被反复验证、广泛使用的经典模型。

1.2.1 训练语料的“先验知识”

LLM 阅遍了 GitHub 上的开源代码和 Stack Overflow 上的技术问答。这意味着,它们对 Linux 文件系统、POSIX 标准、SQL 语法、HTTP 协议、Bash 指令等基础抽象有着极强的“先验知识”。这些知识已经内化为模型参数的一部分。

当我们设计一个新的系统时,如果能够复用这些心智模型,Agent 就能以近乎零样本学习(Zero-shot Learning)的方式上手使用。反之,如果我们发明了一套全新的、自认为“更智能”的专有查询语言或交互协议,Agent 就不得不消耗大量的 Token 去阅读文档、理解概念,并在不断的试错中建立新的认知。

1.2.2 案例分析:VectorFS 的启示

以向量数据库为例。传统的向量数据库往往提供一套专有的 API 用于插入向量、构建索引和执行相似度搜索。这要求 Agent 必须先学习这套 API 的特定语法。

如果我们换一种思路,采用 VectorFS 的设计理念:将向量索引抽象为一个标准的文件系统。

  • 目录即索引:创建一个文件夹,就相当于创建了一个索引库。

  • 文件即数据:将文本文件拖入文件夹,就相当于插入数据并向量化。

  • 搜索即 Grep:使用类似 grep 的语义搜索命令,就能返回相似的文件列表。

在这种设计下,Agent 不需要学习任何新的 SDK。它只需要运用它在训练阶段就已经熟练掌握的“文件操作”和“命令行工具”知识,就能自如地操作这个复杂的向量数据库。对上层来说,世界并没有改变;对系统本身来说,它却获得了被 Agent 无缝集成的能力。

1.2.3 生态的本质是心智模型的共识

在人类开发者的世界里,我们争论 MySQL 和 PostgreSQL 的优劣,争论 React 和 Vue 的好坏。这些争论往往关乎语法糖、社区文化或个人品味。但在 Agent 的眼里,这些表层的差异并不重要。

Agent 并不在乎语法是否优雅,也不在乎社区是否活跃。它们只在乎两点:

  1. 接口是否稳定:语义是否清晰,不会随意变更。

  2. 模型是否通用:是否符合它在训练数据中见过的通用模式。

因此,面向 Agent 的生态建设,不再是争夺开发者的“眼球”,而是争夺 LLM 的“认知权重”。只要你的系统接口符合主流的心智模型(如兼容 S3 协议、兼容 MySQL 协议),Agent 就能自动帮你跨过那些人类程序员纠结的品味之争,直接将你的系统纳入它的工具箱。

1.3 抽象的层次:从 CRUD 到意图导向

虽然我们强调复用底层心智模型,但这并不意味着我们要让 Agent 去处理所有的底层细节。相反,我们需要在底层模型之上,提供符合逻辑直觉的高级抽象。

抽象层次

人类开发者视角

AI Agent 视角

设计建议

表现层 (UI)

视觉元素、交互动效、引导流程

不可见/噪音

彻底移除,或仅作为调试视图

逻辑层 (API)

RESTful/GraphQL,细粒度资源操作

工具集 (Tools)

提供粗粒度、原子化的功能接口,减少状态维护

模型层 (Mental Model)

数据库表、文件结构、对象关系

先验知识 (Priors)

核心设计区:复用 SQL、Filesystem、Process 等经典抽象

物理层 (Infra)

服务器、容器、网络配置

资源池 (Resources)

实现极致的虚拟化和多租户隔离

设计原则总结: 停止发明新概念,尽可能去贴合那些古老、却被一再验证的心智模型。让 Agent 用它最熟悉的逻辑(如 SQL 或 Shell)来驱动你的系统,而不是强迫它学习一套全新的“AI 专用语言”。

🔷 二、接口设计:自然语言与符号逻辑的双重奏

如果说心智模型解决了“AI 如何理解系统”的问题,那么接口设计则关注“AI 如何与系统对话”。在 Agent 时代,交互的介质发生了根本性的变化。我们不再通过鼠标点击(GUI)或硬编码的参数(RPC)来交互,而是进入了“自然语言”与“代码”共存的新阶段。

2.1 自然语言的陷阱与代码的救赎

自然语言(Natural Language, NL)是人与 Agent 沟通的桥梁,但它绝不应该成为 Agent 与系统交互的底层协议。自然语言天生具有模糊性、歧义性和不稳定性。

2.1.1 意图与执行的分离

当我们告诉 Agent:“帮我分析一下上个月的销售数据,看看有什么异常。” 这是一个典型的自然语言指令,包含了用户的意图(Intent)。然而,如果系统直接尝试去解析这句话并执行,往往会陷入混乱。什么是“异常”?是跌幅超过 10%?还是连续三天通过率下降?

Agent 的强大之处在于它能通过上下文理解意图,但系统的健壮性要求执行必须是确定性的。因此,我们需要在“人类可读的输入”和“机器可执行的行为”之间,放置一个中间层——代码

2.1.2 代码作为消除歧义的媒介

代码是目前人类发明的最高效、最精确的逻辑符号描述。 相比于自然语言,代码具有无歧义、可复用、可验证的特性。

面向 Agent 的接口设计,不应旨在让 Agent 直接调用一个个孤立的 API,而应旨在让 Agent 编写代码 来操作系。

  • 低效模式:Agent 分析意图 -> Agent 决定调用 API A -> Agent 决定调用 API B -> Agent 处理数据 -> Agent 返回结果。

  • 高效模式:Agent 分析意图 -> Agent 编写一段 Python/SQL 脚本 -> 系统在一个沙盒环境中执行这段脚本 -> 系统返回最终结果。

在这个过程中,代码生成的瞬间,就是歧义被彻底消除的时刻。 一旦意图被转化为代码,逻辑就被冻结了。系统只需要保证代码执行环境的稳定性和安全性,而不需要去猜测自然语言背后的千变万化。

2.2 “意图 -> 代码 -> 执行”的交互链路

为了实现上述的高效模式,我们需要构建一条全新的交互链路。这条链路将 Agent 从一个“操作员”转变为一个“程序员”。

2.2.1 案例:批量数据处理

假设我们需要让 AI 给一万个英文单词翻译释义。

  • 传统 GUI/Chat 模式:用户把单词分批贴给 Chatbot,或者通过 API 循环调用一万次。这不仅效率极低,而且容易因为网络波动或 Token 限制而中断。

  • Agent 代码模式:Agent 编写一个 Python 脚本,该脚本读取包含一万个单词的文件,并行调用翻译接口(或查库),并将结果写入新的文件。Agent 将这个脚本提交给系统,系统在后台运行。

在这种模式下,Agent 只需要消耗生成一段代码的 Token,就能撬动处理海量数据的算力。这就是认知密度的提升。

2.2.2 接口设计的 DSL 化趋势

为了更好地支持这种模式,软件接口的设计将呈现出 DSL(领域特定语言)化的趋势。与其提供 100 个细碎的 RESTful API,不如提供一个功能强大的 SDK 或查询语言接口。

例如,在数据分析领域,Pandas DataFrame 就是一种极佳的“接口”。Agent 非常擅长写 Pandas 代码。如果你的数据平台能直接暴露 DataFrame 接口,或者支持 SQL 查询,那么 Agent 就能瞬间拥有强大的数据处理能力。反之,如果你的平台只能通过 UI 上的筛选器来过滤数据,那么 Agent 就必须通过复杂的视觉识别或 DOM 操作来模拟人类,效率天差地别。

2.3 确定性与可调试性

代码作为中间层的另一个巨大优势是可调试性(Debuggability)

当 Agent 的操作失败时,如果它是通过点击 UI 或调用黑盒 API 失败的,我们很难知道原因。但如果是代码执行失败,系统会返回标准的错误堆栈(Stack Trace)。Agent 能够阅读这些错误信息,理解是语法错误、权限问题还是数据格式错误,并进行自我修正(Self-Correction)

这种“编写 -> 执行 -> 报错 -> 修正 -> 再执行”的闭环,是 Agent 具备自主解决问题能力的基础。因此,系统的报错信息必须对机器友好,清晰地指向错误的根源,而不是返回模糊的“System Error”。

🔷 三、基础设施的本质转型:日抛型、多租户、并行为王

当软件的使用者从人类变成了 Agent,基础设施的负载特征也随之发生了翻天覆地的变化。人类的行为是低频、串行、长周期的;而 Agent 的行为是高频、并行、短周期的。这种差异要求底层架构必须进行彻底的重构。

3.1 “日抛型”资源与极致成本控制

Agent 的工作负载本质上是“日抛型”的。在解决一个复杂问题的过程中,Agent 可能会快速创建多个数据库实例来测试不同的表结构,或者启动数十个容器来运行不同的代码片段。一旦任务完成或测试失败,这些资源就会被立即丢弃。

3.1.1 实例的廉价化

传统的云服务架构往往假设“实例是宝贵的”。创建一个 RDS 数据库可能需要几分钟,计费按小时起步。这种模式完全无法适应 Agent 的需求。Agent 需要的是毫秒级启动、秒级计费、用完即毁的资源。

这意味着基础设施必须引入更轻量级的虚拟化技术。例如,使用 Firecracker microVM 或 WebAssembly 隔离环境,替代传统的 Docker 容器或虚拟机。系统必须能够在几百毫秒内拉起一个独立的执行环境,并在任务结束后瞬间回收资源。

3.1.2 虚拟化隔离与沙盒

由于 Agent 可能会生成不可预测的代码(甚至包含恶意的或破坏性的逻辑),沙盒化(Sandboxing) 成为了基础设施的标配。

正如 E2B (Environment to B) 等新兴平台所展示的,未来的基础设施必须允许 Agent 在一个完全隔离的沙盒中拥有“上帝权限”。在这个沙盒里,Agent 可以随意安装依赖、读写文件、甚至破坏系统内核,而不会影响到宿主机或其他租户。

对于数据库而言,这意味着必须支持极致的多租户(Multi-tenancy)。系统不能为每个 Agent 的每次尝试都分配一个物理数据库。相反,必须在逻辑层实现高度的虚拟化,让 Agent 感觉自己拥有一个独占的数据库实例(可以建库、删库、修改配置),但底层其实是复用了庞大的共享资源池。

3.2 单位时间的算力杠杆:K8s 级别的调度挑战

人类干活是串行的,我们一次只能处理一个任务。但 Agent 天生适合并行。面对一个复杂的任务(例如“阅读并分析 1000 篇最新的 AI 论文”),Agent 的最佳策略不是一篇篇读,而是分裂出 100 个子 Agent,每个负责 10 篇,并行处理,最后汇总结果。

3.2.1 瞬间并发的爆发

这种工作模式对基础设施的调度能力提出了巨大的挑战。传统的 Web 服务器面对的并发通常是平滑波动的,而 Agent 带来的并发往往是脉冲式的。

一个 Agent 的决策可能瞬间触发成千上万次 API 调用或计算任务。这要求系统具备类似 Kubernetes 或 Hadoop 的调度能力,但响应速度要快得多。系统必须能够支持“瞬间拉起 1000 个工位”,并在几秒钟内完成任务分发和结果收敛。

3.2.2 状态管理与一致性

在如此高并发的场景下,状态管理变得异常复杂。如果 100 个子 Agent 同时尝试修改同一份数据,如何保证一致性?

这再次印证了“心智模型”的重要性。如果系统底层采用了标准的数据库事务模型(ACID)或分布式锁机制,Agent 就能利用这些机制来协调并发操作。如果系统缺乏这些底层保障,Agent 就很容易在并行执行中制造出数据灾难。

特征

传统基础设施 (Human-Centric)

Agent 友好型基础设施 (Agent-First)

资源生命周期

长 (月/年),精心维护

极短 (秒/分),日抛型,用完即毁

并发模式

平滑波动,基于用户量

脉冲式爆发,基于任务复杂度

隔离级别

进程/容器级,侧重安全

沙盒/MicroVM级,侧重防破坏与快速重置

计费粒度

小时/月

毫秒/CPU周期/Token

启动速度

分钟级

毫秒级

🔷 四、商业逻辑:从卖 Token 到沉淀标准服务

技术架构的变革必然引发商业模式的重塑。Agent 的出现,第一次真正实现了“计算能力的民主化”,但也给传统的 SaaS 和 API 经济带来了冲击。

4.1 Token 经济的脆弱性

目前,许多 AI 应用的商业模式简单粗暴:做“二道贩子”,转卖 LLM 的 Token。这种模式是极其脆弱的。

  1. 边际成本不递减:用户越多,消耗的 Token 越多,成本线性增长。

  2. 无护城河:随着模型价格战的打响,单纯的 Token 差价将迅速归零。

4.2 沉淀为“Boring Service”

真正能跑通的模式,是将 Agent 的“单次关键推理成本”,转化为“一次构建、反复使用”的云服务生意。

Agent 的推理能力(Intelligence)是昂贵的,但计算能力(Compute)和存储能力(Storage)是相对廉价的。一个成功的 Agent 友好型平台,应该引导 Agent 将那些高频、重复、确定性的逻辑,沉淀为在线服务(Boring Service)

例如,Agent 可能花费了 1的Token成本编写了一个极其精妙的数据清洗脚本。平台应该提供能力,将这个脚本托管为一个API端点。后续的数据清洗任务,只需要调用这个API,成本可能不到1的Token成本编写了一个极其精妙的数据清洗脚本。平台应该提供能力,将这个脚本托管为一个API端点。后续的数据清洗任务,只需要调用这个API,成本可能不到0.001。

商业价值的转移:

  • 过去:卖软件 License 或 SaaS 席位。

  • 现在:卖 Token(不可持续)。

  • 未来:卖“确定性的计算资源”和“存储能力”。Agent 负责生成逻辑,平台负责以最低成本、最高稳定性运行这些逻辑。

4.3 激活长尾市场

Agent 将代码生产的边际成本降至趋近于零。这意味着大量过去因为“不划算”而被忽略的长尾需求突然变得可行了。小超市老板的库存系统、个人博客的自动归档脚本、一次性的数据分析任务——这些需求以前养不起开发团队,现在只需要一个 Agent。

这为基础设施提供商带来了海量的长尾客户。虽然单个客户的价值低,但数量级被放大了 100 倍甚至 1000 倍。谁能提供最廉价、最易用的“日抛型”基础设施,谁就能接住这波长尾红利。

结论

世界已经切换了轨道。当 TiDB Cloud 看到 90% 的集群由 Agent 创建时,这不仅仅是一个统计学上的异常,这是新时代的敲门声。

代码不再稀缺,系统被创建、试用、丢弃将成为常态。这并不意味着工程不重要了,恰恰相反,工程的重点从“打磨单个系统”转移到了“设计能被 AI 大规模使用、低成本运行的基础能力”上。

作为技术架构师和产品设计者,我们需要放下对“我是不是在写代码”、“我是不是在控制一切”的执念。我们需要承认 AI 是未来的主要用户,并主动回归到那些古老而稳固的心智模型上。我们需要构建清晰的“意图 -> 代码 -> 执行”链路,打造极致轻量化和多租户的基础设施,并将商业模式从简单的流量变现升级为服务沉淀。

我们正在为这个即将到来的机器洪流,修筑最坚实的河床。

📢💻 【省心锐评】

别再给 AI 画按钮了。给它们 Shell,给它们 SQL,给它们沙盒。让它们写代码,而不是猜你的 UI 逻辑。