Datasette 作者 simonw 的 CLI/库 llm 于 2026-09-22 发布 0.36:内置 `gpt-6-sol` / `gpt-6-luna`;模型插件可声明 `supports_conversation = False`,对带历史的请求抛 `ConversationNotSupported`(首个使用者为 llm-typesafe);日志 Markdown 把 reasoning 包进 details。

核心要点速览 (Key Takeaways)

  • ✓模型:内置 `gpt-6-sol` 与 `gpt-6-luna`(#1702)
  • ✓协议:插件可设 `supports_conversation = False`;带 assistant/tool 历史时抛 `llm.ConversationNotSupported`,`llm chat` 会提前拒绝(#1692)
  • ✓生态:首个使用者 llm-typesafe(Jev 等 TypeSafe 模型)
  • ✓日志:`llm logs` Markdown 将 reasoning traces 包在 `<details><summary>`(#1701)
  • ✓升级:`pip install -U llm==0.36`;读 0.36 Release 与 docs
🔬

深度技术解析与实战评估

核心背景与行业痛点

本地 CLI 若模型目录滞后,开发者无法第一时间调用 GPT-6 Sol / Luna;而 TypeSafe Jev 等单轮决策模型一旦被 llm chat 塞进多轮 assistant/tool 历史,容易静默失败或发出无意义请求。Datasette 作者的 llm 0.36 把新模型写进内置目录,并用插件级 supports_conversation 在会话层硬拒绝多轮,让决策模型与对话模型分治。

架构亮点与底层机制

内置 OpenAI 模型 ID:gpt-6-sol、gpt-6-luna(见官方 Sol / Luna 文档)。模型插件可声明 supports_conversation = False:收到带历史的请求时抛 llm.ConversationNotSupported;llm chat 在开会话前拒绝。规范说明见 Models that do not support conversations。首个落地插件是 llm-typesafe。llm logs 的 Markdown 输出把 reasoning traces 包进 <details><summary>,便于折叠审阅。同期修复包括:llm logs -t 的 options_json KeyError、异步 log_to_db 的 sqlite 编程错误、schema 字段名 title 被吞掉、异步流提前关闭时资源泄漏,以及 CLI 结束时关闭 SQLite 连接等。

权威 Benchmark 与实测跑分对比

本版为 CLI/库功能发布,官方 未提供独立 SWE 或端到端延迟榜单;可核对项为模型文档链接与议题 #1692、#1702。相对前一版本的变更清单见 0.36 Release 的 Full Changelog,勿把社区第三方跑分误记为官方数字。

开发者实战落地与开箱指南

  • 升级:pip install -U 'llm==0.36',对照 Release Notes 与 llm.datasette.io。

  • 试用 GPT-6:llm -m gpt-6-sol '...' 或 gpt-6-luna(需有效 OpenAI 密钥与模型权限)。

  • TypeSafe / Jev:pip install llm-typesafe,对决策模型使用单轮 llm 调用,避免 llm chat 多轮会话。

  • 插件作者:凡只接受单轮 prompt 的后端,务必设置 supports_conversation = False,让调用方尽早失败而非脏写日志。