LLM 的“高概率合理性”vs“系统级可执行正确性”

1. 概率生成 ≠ 语义正确

LLM(以 OpenAI 的模型体系为代表)本质是在做:

给定上下文,生成条件概率最高的 token 序列

这带来一个根本特征:

  • 优化目标:
    P(文本 | 上下文) 最大

  • 而不是:
    语义一致性 / 逻辑完备性 / 可执行性

因此它"听起来合理"的来源是:

  • 语料中"类似表达"出现频率高

  • 模式(pattern)匹配成功

  • 语言流畅性强

但这并不保证:

  • 约束被满足(例如参数完整、格式正确)

  • 状态一致(前后逻辑不冲突)

  • 可被系统消费(machine-readable & executable)

换句话说:

LLM 在优化"语言分布",而不是"运行语义"。


2. 为什么"高概率输出"在系统中是不可靠的

当 LLM 被嵌入到系统(Agent / 工具调用 / 工作流)时,问题立即暴露:

(1)隐式结构 → 不稳定

LLM 可以"隐式地"生成结构,例如:

  • JSON 看起来像 JSON

  • 指令看起来像指令

但问题在于:

  • key 可能缺失

  • schema 不一致

  • 类型错误

  • 顺序漂移

这种现象常被称为:

"syntactic plausibility without structural guarantee"


(2)局部最优 → 全局失效

LLM 是逐 token 做局部最优决策:

  • 当前 token 最合理

  • 但未必对全局结构最优

例如:

  • 提前关闭 JSON

  • 多输出一个字段

  • 忘记结束标志

这在系统执行时会直接导致:

  • parser 失败

  • tool call 失败

  • 状态机中断


(3)缺乏"强约束执行语义"

传统软件系统依赖:

  • 类型系统(Type System)

  • 语法约束(Grammar)

  • 状态机(FSM)

  • 合同(Contract / Schema)

而 LLM:

  • 不内生这些约束

  • 只能"模仿"这些约束

结果就是:

它可以写出"像代码的代码",但不保证"可执行代码"。


3. 为什么必须"显式约束结构"

显式结构的引入,本质是在补上 LLM 缺失的三类能力:


(1)从"语言概率"转向"语义确定性"

例如:

  • JSON Schema

  • function calling

  • DSL(领域专用语言)

作用是:

把"生成空间"压缩为"合法空间"

即:

  • 不允许任意 token

  • 只能在约束内生成


(2)把"解释责任"从人转移到系统

没有结构时:

  • 人要理解 LLM 输出

  • 人要判断是否可用

有结构后:

  • 系统可以直接解析

  • 自动验证合法性

这就是从:

human-readable → machine-executable


(3)建立"运行语义"

显式结构其实在做一件更本质的事:

把 LLM 输出嵌入到一个可执行语义模型

例如一个典型 Agent 结构:

  • Intent(意图)

  • Action(动作)

  • Tool(工具)

  • Parameters(参数)

  • State(状态)

如果没有结构:

  • 这些都是"文本里的影子"

如果有结构:

  • 这些变成"系统中的对象"

4. 总结

LLM 的强项是"生成看起来对的东西",而系统需要的是"保证一定对的东西"。

两者之间的鸿沟,只能靠:

显式结构 + 约束机制 来弥补


5. 运行语义化的软件系统

"运行语义化的软件系统是什么?"

这里可以直接给出一个更严格的结论:

所谓"运行语义化",本质就是把 LLM 的概率生成结果,嵌入到一个"显式结构约束的执行系统"中。

也就是说:

  • LLM:负责"生成候选语义"

  • 结构系统:负责"裁剪 + 验证 + 执行语义"


6. 一个工程化视角的对照

维度 纯 LLM 输出 显式结构约束后
正确性 概率性 可验证
稳定性 波动 收敛
可执行性 不确定 确定
可集成性
可扩展性

结论

如果不引入显式结构:

LLM 只能停留在"高级文本生成器"

而一旦引入结构约束:

它才成为"系统的一部分",具备工程可用性

相关推荐
To_OC2 天前
数据集划分不是随便切:手把手切分大众点评情感数据集
人工智能·llm·agent
想要成为糕糕手2 天前
深入理解AI Agent工具调用:从原理到代码实现
llm·agent
yLDeveloper2 天前
从矩阵乘法到多模态大模型 - LLM 篇
llm·nlp
前端君3 天前
Claude Code 如何配置本地Ollama模型或别的模型(Deepseek等)
llm·agent·claude
Darling噜啦啦3 天前
LLM 数据工程实战:从数据集划分到交叉验证——大模型智能的根基
llm
HjhIron3 天前
工具调用:当LLM学会使用"武器",AI Agent的底层逻辑拆解
llm·agent
Hyyy3 天前
Few-shot、Chain-of-Thought、ReAct模式是什么
llm·ai编程
Darling噜啦啦4 天前
Tool Use 底层原理:当"缸中大脑"遇上物理世界——LLM 工具调用的认知哲学与技术实现
llm·agent
不好听6134 天前
拆解 LLM Tool Use 的完整机制:从缸中大脑到 Agent 觉醒
架构·llm·agent
拾年2754 天前
我用 30 行代码,搞懂了大模型是怎么"读"中文的
javascript·人工智能·llm