1. LLM 的唯一能力:预词力
形式上可以把它压成一句话:
一个 LLM 是一个条件概率核
μ θ ( ⋅ ∣ h ) ∈ Δ ( V ) , h ∈ V ∗ \mu_\theta(\cdot\mid h)\in \Delta(\mathcal V),\quad h\in \mathcal V^{*} μθ(⋅∣h)∈Δ(V),h∈V∗
它把任意历史 (h) 映到词表 V \mathcal V V 上的分布;所谓生成,只是对这个核反复采样/解码。
因此"预词力"不是修辞,而是类型签名:LLM 的唯一原语是 V ∗ → Δ ( V ) \mathcal V^{*}\to\Delta(\mathcal V) V∗→Δ(V) 训练就是最小化经验负对数似然:
min θ E x ∼ D − ∑ t log μ θ ( x t ∣ x \< t ) \min_\theta \; \mathbb E_{x\sim D}\left-\\sum_t \\log \\mu_\\theta(x_t\\mid x_{\
等价于让 μ θ \mu_\theta μθ 在 KL 意义下逼近数据生成分布。推理则外加一个解码算子:
g : Δ ( V ) ∗ → V ∗ g:\Delta(\mathcal V)^{*}\to \mathcal V^{*} g:Δ(V)∗→V∗
如贪心、温度采样、top-p、beam search。严格说,(g) 不属于模型本身;模型只供分布,解码器把分布坍缩成轨迹。
从这个形式化看,有三个推论。
-
所有高阶能力都是同一核的泛函
翻译、证明、代码、规划、角色扮演,都只是把目标、约束、工具返回、历史状态编码进 (h),再查询 μ θ ( ⋅ ∣ h ) \mu_\theta(\cdot\mid h) μθ(⋅∣h)。若把行动也 token 化,策略 π ( a ∣ s ) \pi(a\mid s) π(a∣s) 也被吸收成"下一个符号"的分布。
-
通用性来自序列建模,而非神秘性
任何可采样过程都能被写成序列预测问题;这与 Solomonoff 归纳/MDL 直觉相通:好的下一符号预测器,等价于一个强大的通用压缩器。LLM 的经验能力来自:大规模语料 + 高容量函数类 + 上下文条件化,使其逼近了许多条件分布。
-
边界也来自同一形式
μ θ ( ⋅ ∣ h ) \mu_\theta(\cdot\mid h) μθ(⋅∣h) 只编码 P ( 续写 ∣ 历史 ) P(\text{续写}\mid\text{历史}) P(续写∣历史),不编码 do ( ⋅ ) \text{do}(\cdot) do(⋅)、真值谓词、终止性、可验证性。它对未进入权重且未进入上下文的事实无知;对因果干预、反事实一致性、最新私有状态、证明正确性没有内在保证。它能生成"证明样式"的序列,但证明有效性要交给外部验证器。
所以更精确的说法是:
LLM 本体 = 条件测度族 { μ θ ( ⋅ ∣ h ) } h ∈ V ∗ \boxed{\text{LLM 本体 }=\text{ 条件测度族 }\{\mu_\theta(\cdot\mid h)\}_{h\in\mathcal V^*}} LLM 本体 = 条件测度族 {μθ(⋅∣h)}h∈V∗
而智能体行为来自闭包:
Agent = D e c o d e ∘ μ θ ∘ E n c o d e + 工具、记忆、验证器、奖励与环境反馈 \text{Agent}=\mathrm{Decode}\circ \mu_\theta \circ \mathrm{Encode} \;+\;\text{工具、记忆、验证器、奖励与环境反馈} Agent=Decode∘μθ∘Encode+工具、记忆、验证器、奖励与环境反馈
总结
形式化地看,LLM 只做"以历史为条件的下一符号测度估计";其余能力,是这个测度在上下文工程、解码控制与外部验证闭环中的展开。
2. 发挥 LLM 的预词力
把 LLM 当预词力引擎来用
核心原则:你不跟它"对话",你给它上下文,它补全分布。 理解这一点,用法会完全不同。
1. 上下文工程 > Prompt 工程
预词力的质量取决于你喂给它的上下文窗口。不是问得好不好,是铺垫得够不够。
| 烂用法 | 好用法 |
|---|---|
| "帮我写个营销方案" | 先丢 3 个竞品方案 + 你的品牌调性文档 + 目标人群数据,然后说"参照上述风格,给 XX 产品写方案" |
| "这代码为什么报错" | 把完整报错栈 + 相关代码块 + 依赖版本一次性贴进去 |
| "分析一下这个数据" | 先把数据字典、业务背景、分析目标写清楚,再贴数据 |
预词力不猜,它补全。你给的信息越完整,补全越精准。
2. 链式预词(Chain-of-Completion)
复杂任务别指望一次生成。拆成多轮预词接力:
第 1 轮:给定原始材料,输出大纲
第 2 轮:给定大纲,输出每个部分的要点
第 3 轮:给定要点,输出完整段落
第 4 轮:给定完整段落,输出润色版
每轮都把前轮的输出作为新上下文。这比单次长生成质量高得多,因为预词力在短距离上更准。
3. 用"伪代码"控制生成结构
LLM 对格式极其敏感。想要特定输出结构,不要描述,要直接写模板:
请按以下格式输出:
【核心结论】:一句话总结
【依据 1】:...
【依据 2】:...
【反方观点】:...
【最终判断】:...
模板本身就是强约束的上下文,预词力会顺着格式走。
4. 温度(Temperature)的实战用法
- Temperature 0.0-0.3:事实提取、代码、数据分析、翻译。要准,不要创。
- Temperature 0.7-1.0:头脑风暴、文案、创意写作。要发散,要意外。
- Temperature 1.2+:很少用,除非你在搞艺术或故意制造混乱。
同一段上下文,调温度比改 prompt 更有效。
5. 多模型分治
不同模型的预词力分布不同,别用一个模型干所有活:
| 任务 | 推荐策略 |
|---|---|
| 长文档理解 | Claude(长上下文稳定) |
| 代码/数学 | GPT-4 / DeepSeek(逻辑链强) |
| 创意/文案 | 国产模型或 GPT-4(中文语感好) |
| 大量廉价预处理 | 小模型批量跑,结果给大模型汇总 |
| 事实核查 | 专用搜索+RAG,别信模型幻觉 |
6. RAG 不是外挂,是预词力的输入增强
别问模型"你知道 XX 吗",直接把相关文档切片塞进上下文:
[文档片段 1] ...
[文档片段 2] ...
[文档片段 3] ...
基于以上材料,回答:...
模型有没有"知识"不重要,重要的是你给的上下文覆盖了答案的分布区域。
7. 自我一致性投票(Self-Consistency)
对重要判断,同一 prompt 跑 3-5 次(temperature > 0),看答案分布。多数一致的答案可信,离群值大概率是幻觉。
8. 反向预词:让模型先问问题
如果你不知道给什么上下文,让模型帮你补:
我要你帮我做 XX,为了让你输出最精准的结果,
你需要我提供哪些信息?请列出清单。
它列的清单,就是激活其预词力所需的关键上下文维度。
总结
把 LLM 当成一个超级补全器,而不是一个全知者。你的工作是构建输入分布,它的工作是补全输出分布。