← 返回
精选AI产品发布/更新#Agent#Anthropic#GPT-5.6#LLM#OpenAI#OpenAI Responses API

LLM 0.32 发布:支持推理轨迹、OpenAI Responses 与服务端工具

Simon Willison 博客(Atom)T2
07:5808/05 07:58社区阅读原文 ↗导出 MD ↓

评分

77
信息增量8 ×0.3

除了例行版本更新,还首次系统化展示了推理轨迹、服务端工具与内容寻址日志的结合方式,具有方法论价值。

内容质量9 ×0.2

作者是项目创始人,发布说明细致完整,示例丰富,覆盖 CLI 与 Python API 两大场景。

实用价值9 ×0.2

提供了直接可用的命令、插件和代码示例,对使用 LLM CLI 的开发者有很强实操指导性。

时效性8 ×0.15

2026年8月4日发布,文章当天更新,反映了最新版本状态。

信源可信度9 ×0.15

来自 Simon Willison 个人博客,他是 LLM 项目作者,属于一手权威信源。

基础分 85.5 × T2 信源权重 ×0.9 = 77

精选线 70已入选精选

精选理由

信息量大且全部为可操作的新特性,信源为项目作者一手发布,时效性与相关性俱佳。

AI 点评

「这版更新把推理链、服务端工具和内容寻址存储串在一起,让 LLM 已然具备 agent 雏形。对于想用命令行快速搭 agent 或研究工具链组合的开发者,0.32 值得立即上手;即使只用 Python API,stream_events 的多事件解析也会改变你处理模型输出的方式。」

速览

Simon Willison 发布 LLM 0.32,这是该项目自启动以来最重要的版本更新。新版本为推理模型展示可见推理轨迹,支持 OpenAI Responses API 与服务端工具,并重构了基于内容寻址的 SQLite 日志系统。新默认模型为 GPT-5.6 Luna,Python API 新增 messages 参数与流式事件接口,使 LLM 逐步具备 agent 框架形态,配套插件也迎来大规模升级。

  • LLM 0.32 引入可见推理轨迹,输出到标准错误,用 -R/--hide-reasoning 可隐藏。
  • 新增对 OpenAI Responses API、GPT-5.6 系列及服务端工具(CodeInterpreter、WebSearch)的支持。
  • Python API 新增 model.prompt(messages=...) 与 stream_events,可统一处理推理文本、工具调用与附件。
  • 内容寻址日志存储让长对话记录更高效,LLM 正朝 agent 框架演进。

正文

以下为原文,中文全文翻译生成中

I released LLM 0.32 this morning, the most significant new version of LLM since the initial launch of the project. The new version includes support for visible reasoning traces, server-side provider tools, redesigned content-addressable SQLite logs, new models, and new features enabled by the OpenAI Responses API. I also released new versions of the llm-anthropic, llm-gemini, and llm-openrouter plugins, each with substantial updates of their own.

Headline features for LLM CLI users

Running LLM against reasoning models now displays their reasoning traces to standard error, so you can see what they are "thinking" without that information being included in the standard output that you might pipe to another tool. Add -R/--hide-reasoning to turn this off.

Running llm "think about the best thing about pelicans" in the macOS terminal window - grey text outputs saying Exploring pelican qualities, then after a paragraph of that a white paragraph of text comes out saying: The best thing about pelicans is their wonderfully oversized, practical design: that enormous bill and pouch look comical, but they make pelicans remarkably skilled fishers. Even better, many species cooperate—working together to herd fish before scooping them up. They’re a great mix of goofy, graceful, and surprisingly clever.

LLM includes support out-of-the-box for the GPT-5.6 model family, and the new default model used with llm "prompt" is now the inexpensive but capable GPT-5.6 Luna.

LLM calls can now use server-side tools from various providers. OpenAI provide a code execution environment as a server-side tool; LLM can now run prompts that benefit from that like so:

llm --tool CodeInterpreter 'Show current python and SQLite versions'

OpenAI also gets a WebSearch tool.

The llm-anthropic plugin adds WebSearch, WebFetch, CodeExecution, and AnthropicMCP, which looks like this:

llm -m claude-sonnet-5 -T 'AnthropicMCP("https://datasette.simonwillison.net/-/mcp")' \
  'how many rows in the blog_blogmark table?'

That causes Anthropic to execute MCP calls against my new datasette-mcp plugin as part of a single request/response interaction with their API.

The new llm openai endpoint command provides a tool for executing prompts against any OpenAI compatible endpoint as a one-liner. These aren't logged, which makes this a handy tool for running one-off prompts against anything that speaks the lingua franca of the LLM API world.

Here's how I use that to run prompts against Gemma 4 12B running in my localhost LM Studio API, via uvx (no LLM installation required) and mixing in the llm-tools-quickjs tool plugin for good measure:

uvx --with llm-tools-quickjs \
  llm openai endpoint http://localhost:1234/v1 -m google/gemma-4-12b \
  -T QuickJS 'Use QuickJS to multiply 3434 * 2434' --td

Output reads Tool call: QuickJS_execute_javascript({'javascript': '3434 * 2434'})  8358356 The result of 3434 * 2434 is 8,358,356.

New features in the Python API

LLM's Python API previously required you to create a conversation and then send messages to it one at a time. This was an abstraction over the true nature of LLMs, where each request carries a complete history of the messages that came before it. That abstraction started to get in the way for some more advanced cases, so the new release introduces a model.prompt(messages=[]) parameter that can be used like this:

import llm
from llm import user, assistant, system

model = llm.get_model("gpt-5.6-luna")

response = model.prompt(messages=[
    system("You are a helpful pirate."),
    user("What is the capital of France?"),
    assistant("Paris, matey."),
    user("And Germany?"),
])
print(response.text())

LLM previously returned an iterable sequence of strings from each prompt. This worked great when models returned a string response, but failed to predict the weird shape that models would evolve towards. Today many models return a mix of reasoning text, output strings, tool calls, and even image attachments. With LLM 0.32 you can do this instead:

for event in model.prompt("Explain cats").stream_events():
    if event.type == "reasoning":
        print(f"[thinking] {event.chunk}", end="", flush=True)
    elif event.type == "text":
        print(event.chunk, end="", flush=True)
    else:
        print(f"Other event: {event}")

Combine these features and we can finally provide a robust implementation of the semi-standard OpenAI chat completions API, which I've now released as the llm-chat-completions-server plugin:

llm install llm-chat-completions-server
llm chat-completions-server --port 9000
# Server is now running on http://127.0.0.1:9000/v1

Now you can run prompts against LLM via that server, using the new llm openai endpoint command!

llm openai endpoint http://127.0.0.1:9000/v1 'hello' -m gpt-5.4-mini

The bigger challenge with that kind of API concerns logging. If we're going to support the pattern where the message sequence is appended to on every request, ideally we can avoid logging all of that duplicate JSON for every turn.

The solution is the new content-addressable message store, modeled after Git. You can see the new schema for that in the documentation, but the llm logs and llm logs --json commands have both been upgraded to convert that format back into something that's easy to consume.

And the rest

There is a whole lot more in this release. The 0.32 release notes are pretty comprehensive, and the notes for 0.32rc2, 0.32rc, 0.32a3, 0.32a2, and 0.32a0 should fill in any gaps.

Existing LLM plugins should all continue to work, but plugins that provide extra models will need to be upgraded to 0.32 in order to participate fully in the new streaming events system. There's a guide to implementing plugins with Structured messages and streaming events in the documentation.

I've updated some of my own plugins:

I guess LLM is an agent framework now

Quite a few of the lower-level tools changes in this release were driven by the needs of Datasette Agent. When I started work on LLM, the term "agent" had such a vague definition that I refused to use it. In September 2025 I came around to the idea that "An LLM agent runs tools in a loop to achieve a goal" is well established enough now that I could stop avoiding the term entirely.

Tool chains can now pause for human approval and resume from a stored message history - both needed by Datasette Agent.

Looking at LLM today it's beginning to look very agent-shaped to me. There's something neat about having a CLI utility that can mix and match different tools from different sources with different models all as a one-liner, and that includes a Python library powerful enough to build systems like Datasette Agent and llm-coding-agent.

Maybe the next version of LLM will bake the concept of an "agent" into the core library. I'm still trying to figure out what that would look like.

Tags: projects, releases, ai, openai, generative-ai, llms, llm, anthropic

相关条目

92

五维评分

信息增量8 ×0.3

首次系统介绍 OpenRouter 缓存与路由协同策略,信息增量较高。

内容质量9 ×0.2

官方教程,结构清晰,包含原理、示例和实测效果。

实用价值10 ×0.2

直接明确降低 API 成本,开发者可立即应用。

时效性10 ×0.15

刚刚发布,且对当前 Agent 开发热潮具有及时指导意义。

信源可信度10 ×0.15

来源为 OpenRouter 官方 RSS 和官网,信源权威可靠。

基础分 92 × T1 信源权重 ×1 = 92

精选线 60已入选精选

08:00OpenRouter:Announcements(RSS)T1RSS

精选OpenRouter 推出提示缓存与粘性路由,大幅降低多轮对话成本

对于高频调用 AI API 的开发者,这个功能堪称直接省钱利器。粘性路由保证了缓存命中率,配合 session_id 零配置接入,值得所有使用 OpenRouter 的团队立即尝试。

AI产品#OpenRouter#会话ID#成本优化
91

五维评分

信息增量9 ×0.3

首次公开ChatGPT Work的Agent能力,信息增量高。

内容质量8 ×0.2

官方发布,内容清晰,但细节较少。

实用价值9 ×0.2

为用户提供可直接使用的Agent能力,实用价值高。

时效性10 ×0.15

刚刚发布,时效性极强。

信源可信度10 ×0.15

来自OpenAI官方,信源权威可靠。

基础分 91 × T1 信源权重 ×1 = 91

精选线 60已入选精选

18:00OpenAI:News(RSS)T1RSS

精选ChatGPT Work:可在跨应用和文件中执行操作的AI Agent

我认为这是AI助手从问答走向执行的关键一步。对需要自动化复杂工作流的专业人士尤其值得关注。ChatGPT Work可能成为生产力工具的新范式。

AI产品#Agent#AI 生产力#ChatGPT Work
90

五维评分

信息增量9 ×0.3

首次公开前沿实验室代理入侵的完整技术时间线,信息增量极高。

内容质量8 ×0.2

结构严谨、技术细节丰富,但缺乏部分原始日志数据佐证。

实用价值9 ×0.2

提供了缓解建议和自检工具,对AI安全从业者具有直接指导意义。

时效性10 ×0.15

事件发生仅数月后即发布分析,时效性极佳。

信源可信度9 ×0.15

Hugging Face 作为顶级开源AI平台,其技术博客可信度极高。

基础分 89.5 × T1 信源权重 ×1 = 90

精选线 60已入选精选

08:00Hugging Face:Blog(RSS)T1RSS

精选前沿实验室代理入侵事件技术时间线:2026年7月事件剖析

这篇技术时间线值得所有AI安全研究员和代理开发者细读——它不只是描述一次攻击,而是为整个行业敲响了代理系统防御体系薄弱的警钟。对正在部署自主代理的团队来说,这是必读的灾难预防手册。

科技产品#AI代理安全#Hugging Face#入侵时间线
90

五维评分

信息增量8 ×0.3

文章揭示了工具增强反而导致AI性能下降的反直觉发现,并提供了具体工程改进方案,信息增量高。

内容质量9 ×0.2

来自GitHub官方工程博客,有数据支撑(成本下降40%),论证清晰,质量上乘。

实用价值9 ×0.2

对AI产品团队、代码审查工具开发者、以及依赖AI辅助编程的团队有直接借鉴意义。

时效性10 ×0.15

2024年发布的工程实践,符合当前AI产品优化趋势,时效性强。

信源可信度10 ×0.15

信源为GitHub官方博客,具有高度权威性和技术可信度。

基础分 90 × T1 信源权重 ×1 = 90

精选线 60已入选精选

23:57GitHub Blog(网页)T1网页

精选更好的工具反而让Copilot代码审查更糟?GitHub这样改进

这篇博客值得所有AI产品工程师和ML从业者仔细阅读——它打破了'更强大的工具=更好的AI'的直觉,转而强调与Agent推理模式匹配的工程哲学。对正在优化代码审查或类似Agent产品的团队尤其重要。

AI产品#Agent工作流#Copilot#GitHub
88

五维评分

信息增量9 ×0.3

披露了OpenRouter产品的新能力,对关注多模态开发的用户有较高信息增量。

内容质量8 ×0.2

内容清晰,准确描述了API功能与优势,但缺少性能数据对比。

实用价值9 ×0.2

直接解决多模态API碎片化问题,开发者可立即降低集成成本。

时效性10 ×0.15

该API为新近发布,具有很高时效性。

信源可信度8 ×0.15

OpenRouter官方博客,权威性高,但未提及其他第三方验证。

基础分 88 × T1 信源权重 ×1 = 88

精选线 60已入选精选

08:00OpenRouter:Announcements(RSS)T1RSS

精选OpenRouter 推出统一多模态 API:单端点支持图像、视频、音频、嵌入与转录

这条消息值得所有做多模态AI应用的开发者关注:OpenRouter用联合API解决了模型切换的痛点,特别适合初创团队或快速原型开发。如果你正被多个API密钥和SDK折磨,这个接口可能是你需要的统一层。

AI产品#OpenRouter#多模态API#模型集成
87

五维评分

信息增量8 ×0.3

介绍了全新的教育产品,填补了AI安全公司在教育垂直领域的空白,信息增量较高。

内容质量8 ×0.2

内容简洁清晰,准确概括产品功能、安全理念和试点情况,无冗余信息。

实用价值9 ×0.2

直接解决教师备课负担痛点,且强调安全合规,对教育工作者具有实际参考价值。

时效性10 ×0.15

消息发布时间接近当前日期,属于最新产品发布动态。

信源可信度9 ×0.15

来源为Anthropic官方新闻页面,权威性高,内容可靠。

基础分 86.5 × T1 信源权重 ×1 = 87

精选线 60已入选精选

23:40Anthropic:News(网页)T1网页

精选Anthropic 推出 Claude for Teachers:面向教师的教育 AI 工具

这条消息对教育工作者和AI行业观察者都很有价值。Anthropic没有选择通用聊天机器人,而是专门为教师设计了安全可控的工具,这显示出AI在垂直场景落地的正确思路——不是技术炫技,而是切实解决用户痛点。同时,产品内置的安全护栏也值得其他AI公司参考,尤其是在面向儿童或青少年的场景中。

AI产品#AI安全#Anthropic#Claude
86

五维评分

信息增量9 ×0.3

全新路由机制,市场智慧概念为行业带来较高信息增量。

内容质量8 ×0.2

官方公告内容清晰,但技术细节不足,略有扣分。

实用价值8 ×0.2

对开发者选型有直接实用价值,可降低试错成本。

时效性9 ×0.15

产品刚发布,时效性极强。

信源可信度9 ×0.15

来自OpenRouter官方RSS公告,信源可靠。

基础分 86 × T1 信源权重 ×1 = 86

精选线 60已入选精选

08:00OpenRouter:Announcements(RSS)T1RSS

精选OpenRouter发布全新Auto Router:用市场智慧优化模型路由

这条更新值得所有用API开发AI应用的人关注。以前选模型靠经验和测试,现在市场数据帮你选。虽然细节不多,但方向很对。对依赖聚合模型服务的团队尤其重要。

AI产品#Auto Router#OpenRouter#市场智慧
86

五维评分

信息增量8 ×0.3

包含大量具体修复细节和安全改进,信息密度高。

内容质量9 ×0.2

内容详尽,结构清晰,覆盖新功能、修复、改进多个方面。

实用价值9 ×0.2

修复了多个实际开发中遇到的问题,对用户有直接帮助。

时效性10 ×0.15

刚刚发布的版本,时效性极强。

信源可信度10 ×0.15

来自 Anthropic 官方 GitHub Release,信源权威可靠。

基础分 90 × T1.5 信源权重 ×0.95 = 86

精选线 65已入选精选

07:02Claude Code:GitHub Releases(RSS)T1.5GitHub Release

精选Claude Code v2.1.211 发布:多项修复与改进

作为一个经常使用 Claude Code 进行自动化编码的开发者,我特别关注这次的安全修复,尤其是权限预览字符绕过和自动模式覆盖钩子决策的问题——这些直接关系到团队协作时的安全边界。后台代理报告的改进也让长时间运行的任务更可靠。建议所有使用者尽快升级。

AI产品#Anthropic#Claude Code#代码生成工具

引用前请核对原文