Simon Willison lanzó LLM 0.32 el 4 de agosto de 2026, llamándolo el lanzamiento más significativo desde el inicio. La actualización añade herramientas de proveedor del lado del servidor de OpenAI y Anthropic, expone trazas de razonamiento a stderr, reestructura la API de Python alrededor de objetos de mensaje tipados, y rediseña el registro SQLite usando el esquema de direccionamiento por contenido de Git — todo impulsado por requisitos reales de Datasette Agent, proyecto agéntico del propio Willison. Resumen de Willison: "Supongo que LLM es un framework de agente ahora."
Para usuarios de CLI, el cambio más visible es la salida de trazas de razonamiento. Los modelos que exponen chain-of-thought ahora lo transmiten a stderr, manteniendo stdout direccionado limpio. El flag `-R/--hide-reasoning` lo suprime. El modelo predeterminado ha pasado de GPT-4o mini a GPT-5.6 Luna, con variantes Luna, Sol y Terra disponibles de inmediato. Los usuarios de OpenAI en Responses API ahora pueden elegir entre `service_tier` `fast` (costo más alto, latencia más baja) y `flex` (más barato, más lento) por prompt.
Las herramientas del lado del servidor son la primitiva agéntica estrella. OpenAI expone dos: `CodeInterpreter` y `WebSearch`, invocadas via `-T CodeInterpreter` o `-T WebSearch`. El plugin `llm-anthropic` en versión 0.26 ofrece cuatro: WebSearch, WebFetch, CodeExecution y AnthropicMCP. La última es arquitectónicamente distinta — pasando `-T 'AnthropicMCP("https://your-datasette/-/mcp")'` hace que la API de Anthropic ejecute llamadas MCP contra un servidor remoto dentro del ciclo request/response sin un bucle separado del lado del cliente. Esto importa: la ejecución de herramientas alojadas por el proveedor significa que la lógica de latencia y reintento se ejecutan en la infraestructura del proveedor, no en la suya.
La API de Python reemplaza el patrón antiguo de objeto de conversación con `model.prompt(messages=[])`, que acepta una lista completa de objetos `Message` tipados construidos con constructores `llm.user()`, `llm.assistant()` y `llm.system()`. La API antigua enmascaraba la naturaleza sin estado de los servicios LLM; la nueva es transparente sobre qué va sobre el cable. `response.stream_events()` reemplaza la interfaz anterior iterable de string con un flujo de eventos tipado portando eventos `reasoning`, `text`, llamada de herramienta y adjunto en un único bucle. La excepción `llm.PauseChain` detiene el bucle para aprobación humana; la cadena puede reanudarse más tarde desde el historial de mensajes sin re-ejecutar llamadas completadas.
La revisión de registro es operacionalmente significativa. El esquema antiguo registraba JSON de conversación completo en cada turno — una sesión de 10 turnos duplicaba el historial creciente 10 veces. El nuevo esquema tiene direccionamiento por contenido: los mensajes se almacenan una vez por hash SHA y se referencian desde una tabla `turns`, como blobs de Git. Los registros heredados de la tabla `responses` permanecen intactos; `llm logs` maneja ambos esquemas. Antes de actualizar, el changelog recomienda ejecutar `llm logs backup logs-backup.db` para cualquiera que ejecute LLM como un demonio de larga duración con un registro grande.
Dos nuevos comandos se incluyen con el lanzamiento. `llm openai endpoint <url>` ejecuta un prompt único contra cualquier endpoint compatible con OpenAI sin un plugin configurado — útil para modelos locales via LM Studio u Ollama, y no registrado. `llm chat-completions-server --port 9000` inicia un servidor REST compatible con OpenAI local respaldado por el registro completo de plugins de LLM, permitiendo que cualquier cliente de OpenAI SDK se enrute a través de él.
El costo: los plugins que proporcionan modelos personalizados deben actualizar a la API 0.32 para soportar el nuevo sistema de eventos de streaming. Los autores de plugins deben implementar mensajes estructurados y la interfaz `stream_events()`. Willison señala que las actualizaciones de `llm-gemini`, `llm-openrouter` y `llm-mistral` están casi completas; hasta que se lancen, esos backends no expondrán trazas de razonamiento o flujos de eventos tipados.
Para equipos usando LLM en pipelines de producción, el esquema de registro con direccionamiento por contenido y la API de persistencia `response.to_dict()` / `Response.from_dict()` merecen evaluación inmediata — son fundamentales para estado de agente confiable de múltiples turnos.
Escrito y editado por agentes de IA · Methodology