LLM:Agent 的大脑

读完能说清 LLM 怎么把文字拆成 token、上下文窗口为什么有上限、温度如何左右输出的随机性,并解释 Agent 为什么必须给大脑配上工具和记忆。

为什么只记结论不足以掌握LLM:Agent 的大脑

学习“LLM:Agent 的大脑”时,第一步不是记住结论,而是冻结输入、上下文、版本和成功标准。只有这些条件明确,LLM:Agent 的大脑的含义才不会随着样例变化。正文已有的概念说明要与结构图、运行轨迹和失败样本互相印证,不能只凭最终输出看似正确就宣布完成。

结构分析从小特的大脑,到底是怎么读你的话的开始:列出参与者、职责、连接方向、生命周期和所有权,再沿正常路径追踪数据或控制流。每一条边都要说明为什么存在、谁创建、谁消费、谁负责清理;如果边界被跨越,必须能在证据中找到第一处异常。

机制验证要把大脑眼里没有「字」,只有 token写成可以执行的条件。正常样本证明主路径,恰好边界样本验证等号和空值,单故障样本只破坏一个假设。三类样本使用同一份观察指标,避免因为测试口径变化而把偶然结果误认成规律。

成本分析同时记录时间、空间、延迟、耦合、可维护性和不可逆操作。一次能「看进」多少:上下文窗口不是一句“可能失败”,而是可复现输入、预期停点、实际轨迹、错误分类与清理步骤。任何自动重试都要有次数、预算和幂等边界。

方案比较不能只列优点。需要给出直接实现、当前方案和至少一个替代方案,逐项比较复杂度、扩展点、故障隔离和团队认知成本。当问题规模很小或变化轴稳定时,更简单的实现往往更好;模式与框架必须由真实变化压力证明。

实现阶段把大结论拆成可检查的中间产物:配置快照、结构清单、状态转移、输入输出样本、日志摘要和测试结果。每个产物带来源与生成命令,下一阶段只消费已通过门禁的版本,避免旧缓存或隐式默认值污染结论。

解释结果时必须区分相关性与因果性、接口承诺与实现细节、设计意图与运行事实。对“它怎么「写」下一个字:采样与温度”的判断要由独立证据支持,并明确适用范围;一旦输入分布、版本、硬件或组织边界改变,就重新运行最小实验。

复盘从首个分叉开始,而不是从最后一个报错倒推。先比较冻结输入,再比较第一份结构化中间产物,随后检查状态、约束和副作用。这样可以把复杂系统的排错范围收缩到一个阶段,避免在多个层次同时修改造成新的不确定性。

迁移到真实项目时,先选择一个最小但有代表性的切片,保存改造前基线,再逐步引入“LLM:Agent 的大脑”中的机制。每一步只改变一个变量并保留回滚点;性能、正确性、安全性和可理解性至少各有一项可量化指标。

最终验收要求读者能脱离页面重新画出结构、口述关键链路、实现最小版本、构造一个反例并解释失败位置。若只能复述名词而不能预测中间状态,说明知识仍停留在识记层,需要回到图示和实验重新验证。

本页用、

、、、建立统一坐标。先预测这些概念在结构图和运行轨迹中的位置,再操作实验控件;如果结果与预测不一致,停止在首个分叉,不要用后续补丁掩盖早期错误。

权威目录与核心概念逐项对照

  • LLM:Agent 的大脑
  • 小特的大脑,到底是怎么读你的话的
  • 大脑眼里没有「字」,只有 token
  • 一次能「看进」多少:上下文窗口
  • 它怎么「写」下一个字:采样与温度
  • 它不是在查事实,它在「续写」:幻觉
  • 承上启下:正因为大脑有这些短板,Agent 才要配工具和记忆
  • 动手一:把对话堆满,看大脑怎么忘事

可复现的最小实现

先把决策记录写成机器可读结构:

{
  "unit": "LLM:Agent 的大脑",
  "inputFrozen": true,
  "scenario": "normal | boundary | single-fault",
  "firstDivergence": null,
  "cleanupRequired": true
}

再用同一条执行链处理三类样本:

type Evidence = { stage: string; expected: string; actual: string };
 
function verify(sample: unknown, expected: readonly Evidence[]) {
  const trace = runFromCleanState(sample);
  return expected.find((item, index) => trace[index]?.actual !== item.expected);
}

最后保存回归门禁,禁止失败样本静默通过:

normal      -> complete, invariant preserved
boundary    -> complete or explicit rejection
singleFault -> stop at first divergence, no stale output

用统一评分解释实验结果:

Q=Ccorrect+Ctrace+CrecoverRresidualQ = C_{correct} + C_{trace} + C_{recover} - R_{residual} Ccoverage=NverifiedNofficialC_{coverage} = \frac{N_{verified}}{N_{official}} Rresidual=P(failure)×I(impact)R_{residual} = P(failure) \times I(impact) Accept=(Ccoverage0.90)(RresidualRbudget)Accept = (C_{coverage} \ge 0.90) \land (R_{residual} \le R_{budget})

本章回顾

  • LLM:Agent 的大脑必须绑定冻结输入和明确成功标准。
  • 小特的大脑,到底是怎么读你的话的必须能画成结构并沿边追踪责任。
  • 大脑眼里没有「字」,只有 token要由正常、边界和单故障样本共同验证。
  • 一次能「看进」多少:上下文窗口必须保存第一处偏离和清理重建步骤。
  • 它怎么「写」下一个字:采样与温度决定方案是否可以进入下一阶段。

术语表

动手一:把对话堆满,看大脑怎么忘事

光读不如自己拖。下面这个 Demo 是一张容量 8000 token 的「上下文窗口」桌面:系统提示和当前问题钉死在两端,中间是会越堆越长的对话历史。拖「对话历史轮数」滑块加历史,看它什么时候顶破容量、最早的对话怎么被挤出去。

猜一猜:历史堆到第 15 轮,最早那句话还在窗口里吗?再往上拖到 20 轮呢?先猜一个,再拖滑块验证。

可交互上下文窗口:一次能「看进」的 token 有上限,超了最早的被挤出去
已用 7,500 / 容量 8,000 token94%系统提示对话历史 · 15 轮← 容量上限系统提示和当前问题钉死两端;历史在中间,越堆越长,快顶到上限了
15 轮

你会看到:到某个轮数,总量一旦超过 8000,最早的对话就被挤出窗口标红——大脑从此看不到它了。这就是「断片」的真相:不是它不想记,是桌子摆不下了。

动手二:拧温度旋钮,看它从「呆板」到「胡说」

第二个 Demo 给你那根温度旋钮。前缀是「今天心情真 ___」,下面五个候选 token 各有基础概率。拖温度滑块,看分布怎么变;再点「采样一次」,按当前分布骰一个 token 出来。

猜一猜:把温度拉到最高(2.0),它还会稳定说「好」吗?多点几次「采样一次」,看它会不会蹦出冷门的「晴」。

可交互温度:LLM 逐 token 按概率采样,温度就是那个「随机性旋钮」
今天心情真 ___ (下一个 token 选谁?)42%24%不错14%12%复杂8%温度 1.0:分布有主有次,「好」最可能但不是必然
1.0
点「采样一次」按当前分布骰一个 token

低温时分布是个尖峰,你点几十次「采样」几乎全是「好」——稳定但没惊喜;把温度拉满,分布被抹平,连概率最低的「晴」都可能蹦出来——这就是「高温更容易跑偏、甚至胡说」的直观来源。

代码长什么样:调用大脑时,你能拧哪些旋钮

把上面两个旋钮落到代码里,其实就是调用 LLM 时多传两个参数。下面这段 Python(省了真实 SDK 细节)就是小特调用它大脑的样子:

response = llm.chat(
    messages=[
        {"role": "system", "content": "你是订票助理小特"},  # 占用上下文窗口
        {"role": "user", "content": "帮我订明天去上海的高铁票"},  # 也占窗口
    ],
    temperature=0.2,   # ① 温度旋钮:0.2 偏稳,几乎总挑最可能的 token
    max_tokens=500,    # ② 最多生成 500 个 token(不是 500 个字!)就停
)

temperature=0.2 就是把上面那根旋钮拧到偏低——办正经事(订票、报数字)要稳,就调低;写文案、想点子要花样,才调高。max_tokens=500 限制它最多生成多少 token——注意是 token 不是字,「上海」「高铁」可能各只算一个 token。而 messages 里的每条内容,连同之后所有来回,都得挤进那张有上限的上下文窗口里——这就是为什么对话越长,越要当心窗口被塞爆。

容易踩的坑

小结

  • LLM 读你的话先做 token 化:切成一块块带编号的 token,它眼里没有「字」只有编号——「token ≈ 字」是头号误会
  • 上下文窗口是大脑一次能看进的 token 上限,像一张固定大小的桌子;塞满了最早的内容被挤出去,于是「断片」忘事
  • 它生成回答是逐 token 按概率采样温度是随机性旋钮:低温稳定呆板、高温多样但易跑偏
  • 幻觉源于「概率续写而非查事实」:记不清就自信地圆一个,温度越高越敢胡说——调低温度治不了根
  • 正因窗口有限、会幻觉、不知实时信息,Agent 才必须给大脑配 记忆(突破窗口)和 工具(真查真算)——回收第 1 章四要素

讨论

评论区加载中…