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 只能停留在"高级文本生成器"

而一旦引入结构约束:

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

相关推荐
AINative软件工程4 小时前
LLM 应用的预取工程实践:用预测性调用把首 Token 延迟砍掉 60%
性能优化·llm·ai编程
孟健15 小时前
Qwen3.8-27B 本地推理实测:从 14 tok/s 到 159 tok/s 的投机解码调优
人工智能·llm·ai编程
Flynt15 小时前
HN 614 分的 16.9MB 语音模型,我在 1 核 2G 上实测了一遍
llm
goehou1 天前
AI 应用上线实战:从本地脚本到 Docker 容器化(密钥、健康检查、镜像瘦身)
docker·ai·llm·部署·教程·容器化
CopyCode1 天前
Agent 开发不是模型训练:一个前端的入门认知
前端·llm·agent
流浪0011 天前
大模型技术全景(十八):RAG 检索增强生成与知识时效性问题
llm·大语言模型·rag
桃西西呀1 天前
Spring AI Alibaba 之四:拆开 ReactAgent 的图,看 ReAct 循环怎么拼出来
人工智能·spring·llm
桃西西呀1 天前
Spring AI Alibaba 之三:graph-core 状态图引擎深拆
人工智能·spring·llm
承渊政道1 天前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(开源大模型ChatGLM使用详解)
人工智能·pytorch·开源·llm·chatglm
用户7196975933582 天前
Llama 3 精读|附 FP8 量化与长上下文实测
llm