工具 · 第 2026-08-04

LLM 0.32:一个命令工具成了智能框架

Simon Willison 发布 LLM 0.32,称其为该项目自诞生以来最重要的一版:推理轨迹打到 stderr 因而不污染可管道的标准输出、接入供应商的服务端工具(含由供应商代跑远程 MCP 调用的 AnthropicMCP)、仿 Git 的内容寻址消息存储解决长对话的重复日志、以及分型的流式事件。工具链还能为人工审批暂停并从存储的消息历史恢复——作者由此写道「我猜 LLM 现在是个智能体框架了」。

Simon Willison's Weblog2026-08-04值得跟踪

基础信息较完整,适合持续跟踪并等待更多验证。

AI 智能体工作流可观测性

记录

信号正文

这一版改了什么

作者自己的定性是:这是 LLM 项目自发布以来最重要的一版。四条主线:

  1. 推理轨迹可见,而且打在 stderr 上。 对推理模型运行时,「思考过程」输出到标准错误而不是标准输出——所以你依然可以把标准输出管给下一个程序,思考过程不会混进去(-R / --hide-reasoning 关掉)。
  2. 服务端工具。 OpenAI 提供代码执行环境与 WebSearch;llm-anthropic 插件补上 WebSearch、WebFetch、CodeExecution 和 AnthropicMCP——后者意味着由供应商在一次请求-响应之内替你执行对某个远程 MCP 服务器的调用。
  3. 内容寻址的消息存储,仿照 Git。 每一轮请求都携带完整历史是 LLM API 的本质,直接记日志会把同一段 JSON 重复写很多遍;按内容寻址之后去重,llm logs 再把它还原成好读的形式。
  4. 结构化事件流。 stream_events() 返回 reasoning / text / 工具调用 / 图片附件等分型事件,取代原来「一串字符串」的返回形状。

另有 model.prompt(messages=[]) 取代原先的会话抽象,以及一个能对任意 OpenAI 兼容端点跑一次性提示词的 llm openai endpoint

最小、但最值得抄的那个设计

可观测性和可组合性通常互相打架:你想看到中间过程,又想把结果干净地交给下一个程序。把推理轨迹放到 stderr、把答案留在 stdout,两件事同时成立,而且不需要任何新概念——这是 Unix 老办法在智能体工具上的一次准确复用。

工具循环正在往供应商那一侧挪

AnthropicMCP 这个工具值得单独看:MCP 调用发生在与供应商的一次 API 往返之内,客户端不再驱动那个循环。把它和 07-31 那版无状态 MCP、以及托管智能体放在一起看,是同一个方向的三种形态——执行、状态与工具接入都在向服务端收敛。

而这条信号的位置恰好在反方向

ChatGPT Work 和 Gemini 托管智能体把运行时搬到平台侧;LLM 0.32 走的是另一条路:一个跑在本机、可审计、能和任意 OpenAI 兼容端点拼接的命令行,外加一个足够写出真实智能体的 Python 库。

两条路线的取舍就是「你必须自己拥有哪一层」。这一版还把工具链可以为人工审批暂停、并从存储的消息历史恢复做进了框架——人在回路成了框架能力,而不是产品层面的一个开关。

作者自己的结论

他一度拒绝使用「智能体」这个词,直到接受了一个足够朴素的定义——智能体就是在循环里调用工具以达成目标。这一版之后他写道:「我猜 LLM 现在是个智能体框架了。」

一个命令行工具长成智能体框架,这件事本身就是当下这一层生态的形状:能力不再靠某个大平台一次性给全,而是靠小工具把模型、工具与循环拼起来。

为什么是现在

为什么重要

推理轨迹打到 stderr、答案留在 stdout,是一个很小却值得抄的设计:可观测性和可组合性通常互相打架,而这一版让两者同时成立,没有引入任何新概念。更大的一层是方向——AnthropicMCP 把 MCP 调用收进与供应商的一次往返,说明工具循环正在往服务端挪;而这个项目本身却走反方向,坚持一个能在本机跑、可审计、能拼接任意 OpenAI 兼容端点的命令行。两者的取舍就是「你必须自己拥有哪一层」。

背景

技术背景

四条主线:推理轨迹输出到标准错误(-R 可关);服务端工具(OpenAI 的代码执行与 WebSearch,llm-anthropic 的 WebSearch/WebFetch/CodeExecution/AnthropicMCP);仿 Git 的内容寻址消息存储,解决「每轮都带完整历史」造成的重复 JSON;以及 stream_events() 返回 reasoning/text/工具调用/图片附件等分型事件,取代原先的字符串序列。另有 model.prompt(messages=[]) 取代会话抽象,以及可对任意 OpenAI 兼容端点跑一次性提示词的 llm openai endpoint。

按你的水平解读

让 AI 按你的水平解读这个信号

选择你的经验水平,AI 会现场生成一份为这个水平定制的解读。

关注人群

谁该关注

在自建智能体运行时与使用托管平台之间做决定的工程团队需要把模型调用嵌进既有命令行/管道工作流的开发者关心长对话日志成本与可回放性的基础设施负责人在评估 MCP 生态实际落地形态的架构师
可能影响的领域
本地优先的智能体工具链MCP 生态的落地形态长时程对话的日志与成本命令行与管道式工作流集成

下一步

学习路径

  1. 先读「工具使用与函数调用」,把一次工具调用拆成三段,再回头看服务端工具替你做了哪一段
  2. 对照 07-31 的无状态 MCP 信号,理解 AnthropicMCP 为什么能收进一次往返
  3. 用「AI 工具链选型与自建边界评估」的两栏法,判断这条本地路线和托管平台哪个符合你的边界
  4. 读「智能体可观测性与评测运维」,把推理轨迹接进你自己的轨迹追踪

怎么学起

让 AI 生成一条学习路径

基于本页的相关知识和相关技能,AI 会现场生成一条从基础到应用的学习路径。

关系网络

在技术网络中的位置

当前技术与相邻技术、技能和背景知识的连接,点击节点可继续探索。

技术对比

对比另一项技术

选择另一项已发布技术,让 AI 现场生成一份相似点、差异点和适用场景的对比。

延伸思考

后续问题

  • 服务端工具让供应商代跑循环之后,失败归因还能不能分清「模型选错工具」和「工具执行失败」?
  • 内容寻址的消息存储能把长对话的日志体积降到什么量级?
  • 「智能体」被写进核心库之后,这个项目还能保持现在这种可拼接的小工具形态吗?

来源参考

Simon Willison's Weblog

Simon Willison开源社区2026-08-04
打开原始来源https://simonwillison.net/2026/Aug/4/new-release-of-llm/