确定性计算与概率性推理:AI 时代的企业系统架构
传统软件系统与 AI 系统不是替代关系,而是互补共生——就像人脑的左脑与右脑
引言
当我们谈论 AI 改变软件行业时,很容易陷入一种二元对立的思维:AI 将取代传统软件,大模型将让数据库成为历史。
但经过深入思考和实践,我们得出了一个不同的结论:传统软件系统与 AI 系统不是替代关系,而是互补共生。
这就像人脑的左脑和右脑——左脑负责逻辑、分析、计算;右脑负责直觉、创造、推理。两者缺一不可,协同工作才是最优解。
两种系统的本质差异
让我们先看清这两种系统的本质。
传统软件系统:确定性计算
传统软件系统的架构可以概括为:
| 维度 | 核心要素 |
|---|---|
| 存储 | 数据库 |
| 算力 | CPU |
| 空间 | 内存 |
| 能力 | 确定性计算 |
这也是为什么它叫"计算机"——给定相同的输入,必然得到相同的输出。1+1 永远等于 2,查询条件 A 永远返回结果集 B。
这种确定性是传统软件的核心价值:
- 财务系统中,10000 元的报销单,审批通过后必然入账
- 库存系统中,出库 100 件商品,库存必然减少 100
- 订单系统中,用户支付成功,订单状态必然变更为"已支付"
确定性意味着可预测、可审计、可追责。 这在企业场景中至关重要。
AI 系统:概率性推理
AI 系统的架构则完全不同:
| 维度 | 核心要素 |
|---|---|
| 存储 | 大模型参数(权重) |
| 算力 | GPU |
| 空间 | 显存(上下文窗口) |
| 能力 | 概率性推理 |
AI 系统更像是"真正的电脑"——它不是机械地执行计算,而是像人脑一样进行推理、联想、判断。
同样的输入,可能得到不同的输出。这不是 bug,而是 feature:
- 面对一个模糊的用户需求,AI 可以理解意图并给出合理方案
- 面对一段复杂的业务规则,AI 可以解释其含义并给出建议
- 面对一个开放性问题,AI 可以进行多角度分析
概率性意味着灵活性、适应性、创造力。 这恰恰是传统软件最缺乏的。
为什么不是替代关系?
如果 AI 系统如此强大,为什么不能完全替代传统软件?
答案很简单:用户即需要确定性的计算,也需要概率性的推理。
场景一:费用报销
让我们看一个典型的费用报销场景:
需要 AI 的部分(推理):
- 理解员工口语化的报销描述:“上周跟客户吃饭花了 800”
- 判断报销是否合规:“这顿饭是否符合招待费标准?”
- 处理模糊情况:“发票上的金额看不清,好像是 780”
需要传统软件的部分(计算):
- 准确记录金额到数据库
- 更新部门的费用预算余额
- 生成财务凭证,确保账目平衡
- 保留审计记录,满足合规要求
如果把财务计算交给 AI,可能会出现"这 800 元入账成了 799.87 元"的情况——在财务系统中,这是不可接受的。
场景二:客户服务
需要 AI 的部分(推理):
- 理解客户的问题:“我那个订单怎么还没到?"(需要关联上下文)
- 判断客户情绪并调整语气
- 从知识库中检索相关信息并组织回答
需要传统软件的部分(计算):
- 查询订单的实际状态(必须是准确的事实)
- 计算物流时效和赔偿金额
- 记录服务工单和处理结果
场景三:数据分析
需要 AI 的部分(推理):
- 理解用户的分析意图:“帮我看看最近销售情况怎么样”
- 选择合适的分析维度和可视化方式
- 生成自然语言的分析结论和建议
需要传统软件的部分(计算):
- 执行精确的聚合查询(SUM、COUNT、AVG)
- 确保数据一致性和准确性
- 处理大规模数据的计算性能
融合才是大势所趋
既然两者都不可或缺,那么如何让它们协同工作?
这就是 Tool、MCP、Skill 这些概念出现的根本原因——它们都在解决同一个问题:如何让 AI 系统能够调用传统软件系统的确定性能力。
工具调用(Tool Calling)
OpenAI 的 Function Calling、Anthropic 的 Tool Use,本质上都是让大模型能够"外包"确定性计算:
用户: "帮我查一下张三这个月的报销总额"
AI 理解意图 → 调用查询工具 → 数据库精确计算 → 返回结果 "3850 元"
↓
[概率性推理] [确定性计算]
AI 不需要知道如何写 SQL,不需要知道数据库的表结构,它只需要知道"有一个工具可以查报销总额”,然后调用它。
MCP(Model Context Protocol)
Anthropic 推出的 MCP 更进一步,它定义了一套标准协议,让 AI 系统能够:
- 发现可用的工具和资源
- 理解工具的输入输出格式
- 安全地调用外部系统
MCP 的本质是连接器——连接概率性的 AI 世界和确定性的软件世界。
Skill(技能封装)
我们在实践中采用的 Skill 模式,则是将这种融合进一步封装:
# expense-query/SKILL.md
---
name: 费用查询
description: 查询指定员工的费用报销总额
---
## 功能
查询某员工在指定时间范围内的报销总额,返回精确的金额。
## 脚本
scripts/query.py --employee <工号> --period <月份>
## 权限
需要财务系统的查询权限。
这样,AI 只需要读取 SKILL.md 就能理解如何使用这个能力,完全不需要关心底层的数据库、SQL、权限校验等细节。
左脑与右脑的隐喻
这个架构模式,让我们联想到人脑的运作方式。
左脑:逻辑与分析
人脑的左半球负责:
- 逻辑推理
- 数学计算
- 语言处理
- 序列分析
这就像传统软件系统——精确、可靠、可解释。当我们做数学题、填写表格、执行流程时,主要依靠左脑。
右脑:直觉与创造
人脑的右半球负责:
- 直觉判断
- 模式识别
- 整体感知
- 创造性思维
这就像 AI 系统——灵活、适应性强、善于处理模糊信息。当我们理解言外之意、做出直觉判断、处理复杂情境时,主要依靠右脑。
协同工作
健康的大脑不是"左脑派"或"右脑派",而是左右脑协同工作:
- 右脑理解问题的本质和上下文
- 左脑执行精确的分析和计算
- 右脑将结果转化为可理解的结论
- 左脑验证结论的逻辑合理性
同样,未来的企业系统也不应该是"传统派"或"AI 派",而是确定性计算与概率性推理的深度融合。
架构演进的方向
基于这个认知,我们认为企业系统的架构将朝以下方向演进:
从"AI 外挂"到"双核架构"
早期的 AI 应用往往是"外挂式"的——在现有系统旁边加一个 AI 助手,让它去"操作"人类界面。
但这不是长久之计。真正的演进方向是双核架构:
┌─────────────────────────────────────────────┐
│ 用户 │
└─────────────────┬───────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ AI 系统(右脑) │
│ - 意图理解 │
│ - 任务规划 │
│ - 自然语言交互 │
└─────────────────┬───────────────────────────┘
│ Tool / MCP / Skill
▼
┌─────────────────────────────────────────────┐
│ 传统软件系统(左脑) │
│ - 数据存储 │
│ - 业务逻辑 │
│ - 精确计算 │
└─────────────────────────────────────────────┘
从"人类适配系统"到"系统适配人类"
传统软件要求人类学习系统的规则——记住菜单在哪、表单怎么填、流程怎么走。
AI 时代的系统将反过来——系统适应人类的自然表达。用户只需要说"帮我搞定这个报销",AI 理解意图,调用后端系统,完成确定性计算。
从"功能堆砌"到"能力编排"
传统软件开发是"功能堆砌"——不断添加新功能、新菜单、新按钮。
AI 时代的开发将转向"能力编排"——将原子化的确定性能力(Skills)通过 AI 的推理能力灵活组合,应对千变万化的用户需求。
结语
确定性计算与概率性推理,传统软件与 AI 系统,左脑与右脑——这不是非此即彼的选择,而是缺一不可的共生。
当我们理解了这一点,就会明白为什么 Tool、MCP、Skill 如此重要——它们不是权宜之计,而是连接两个世界的桥梁,是构建下一代企业系统的基础设施。
这条路才刚刚开始,但我们相信方向是对的。
作者:感物技术团队