Саймон Уиллисон выпустил LLM 0.32: рассуждения моделей, серверные инструменты и MCP

Саймон Уиллисон выпустил LLM 0.32: рассуждения моделей, серверные инструменты и MCP

Разработчик Саймон Уиллисон выпустил версию 0.32 своего инструмента LLM, командной утилиты и Python-библиотеки для обращения к разным языковым моделям из одного интерфейса. По его словам, это самое значимое обновление со времён первого запуска проекта. Одновременно вышла обновлённая версия плагина llm-anthropic 0.26.

Главное для пользователей командной строки: при работе с рассуждающими моделями LLM теперь выводит их цепочку рассуждений в stderr, её видно отдельно от основного ответа, который можно передавать дальше по конвейеру; отключается флагом -R/--hide-reasoning. Из коробки добавлена поддержка семейства моделей GPT-5.6, и новой моделью по умолчанию для команды llm "prompt" стала недорогая, но функциональная GPT-5.6 Luna (точная цена не названа).

LLM научился вызывать серверные инструменты провайдеров напрямую. У OpenAI это среда выполнения кода (флаг --tool CodeInterpreter) и инструмент веб-поиска WebSearch. Плагин llm-anthropic получил поддержку WebSearch, WebFetch, CodeExecution и AnthropicMCP, последний позволяет одним запросом дать модели Claude обратиться к произвольному MCP-серверу; в примере автора модель claude-sonnet-5 через MCP считает число строк в таблице его Datasette-проекта. Появилась и команда llm openai endpoint, она запускает одноразовые (нелогируемые) промпты против любого OpenAI-совместимого API, включая локальные модели вроде Gemma, поднятые в LM Studio.

В Python API добавлен параметр model.prompt(messages=[]), позволяющий передавать полную историю сообщений одним вызовом вместо пошагового ведения диалога. Ответы моделей теперь можно получать через метод stream_events(), он различает события типа reasoning (рассуждение) и text (текст ответа), что отражает реальную неоднородность вывода современных моделей (рассуждения, текст, вызовы инструментов, вложения). На основе этих возможностей автор выпустил новый плагин llm-chat-completions-server, поднимающий локальный сервер с OpenAI-совместимым chat completions API. Для логов внедрён новый контент-адресуемый формат хранения сообщений SQLite по образцу Git, он избавляет от дублирования JSON при каждом обращении к растущей истории диалога; команды llm logs и llm logs --json уже умеют читать новый формат.

Существующие плагины LLM продолжат работать, но те, что добавляют новые модели, потребуют обновления до 0.32 для полноценной работы с новой системой потоковых событий. Обновлённый llm-anthropic 0.26 добавляет поддержку семейства моделей Claude 5 и перечисленные выше серверные инструменты Anthropic; обновления плагинов llm-gemini, llm-openrouter и llm-mistral автор анонсировал как «скоро», без даты.

Часть изменений в релизе продиктована потребностями отдельного проекта автора, Datasette Agent: цепочки вызова инструментов теперь могут приостанавливаться для одобрения человеком и возобновляться из сохранённой истории сообщений. Автор отмечает, что раньше избегал термина «агент» из-за его расплывчатости, но с сентября 2025 года принял рабочее определение «агент LLM запускает инструменты в цикле для достижения цели» и считает, что LLM сегодня всё больше выглядит именно так, хотя пока не определился, как именно понятие «агента» встроить в ядро библиотеки в будущих версиях.

Ключевые факты

  • Вышла LLM 0.32, по словам автора, самое значимое обновление CLI-утилиты и Python-библиотеки со времён запуска проекта; параллельно вышел llm-anthropic 0.26
  • Цепочки рассуждений моделей теперь видны отдельно (в stderr), добавлена поддержка семейства GPT-5.6, модель по умолчанию, GPT-5.6 Luna
  • Появился прямой вызов серверных инструментов провайдеров: у OpenAI, CodeInterpreter и WebSearch, у Anthropic (через llm-anthropic), WebSearch, WebFetch, CodeExecution и AnthropicMCP
  • В Python API добавлены model.prompt(messages=[]) и stream_events() с разделением событий на рассуждение/текст/инструменты; логи переведены на контент-адресуемый формат по образцу Git
  • llm-anthropic 0.26 добавил поддержку семейства моделей Claude 5; плагины, добавляющие модели, нужно обновить до 0.32 для полной работы с потоковыми событиями

Почему это важно

LLM, популярный открытый инструмент для обращения к десяткам языковых моделей из единого CLI и Python-кода, и версия 0.32 меняет саму его природу: раньше это была тонкая обёртка вокруг чат-API, теперь инструмент умеет напрямую задействовать серверные возможности провайдеров, исполнение кода, веб-поиск, вызовы MCP-серверов, и показывать пользователю ход рассуждений модели, а не только финальный ответ. Автор сам формулирует сдвиг: инструмент, который он долго избегал называть «агентным», теперь выглядит именно так.

Кому это важно

В первую очередь, разработчикам, которые уже используют LLM для скриптов, автоматизации и построения агентных систем (в тексте упомянут собственный проект автора Datasette Agent и инструмент llm-coding-agent). Во вторую, авторам сторонних плагинов LLM, добавляющих модели: им придётся обновляться до 0.32, чтобы плагин полноценно участвовал в новой системе потоковых событий. Также это касается пользователей, которые хотят получить доступ к «родным» серверным инструментам OpenAI и Anthropic (исполнение кода, веб-поиск, MCP) без написания собственной интеграции.

Как это применить

Обновиться до LLM 0.32 и, при использовании Claude, до llm-anthropic 0.26. Серверные инструменты подключаются флагами: --tool CodeInterpreter и WebSearch для OpenAI, -T с WebSearch/WebFetch/CodeExecution/AnthropicMCP для Anthropic (последний принимает URL MCP-сервера). Цепочка рассуждений модели видна по умолчанию в stderr, отключить, флагом -R/--hide-reasoning. Для разовых запросов к любому OpenAI-совместимому API (включая локальные модели через LM Studio) есть команда llm openai endpoint. Разработчикам плагинов, добавляющих модели, нужно свериться с новой документацией по структурированным сообщениям и потоковым событиям и обновить код под 0.32.

Можно ли доверять

Источник, прямой авторский анонс релиза в личном блоге Саймона Уиллисона, создателя LLM: это первичное описание изменений самим разработчиком инструмента, с конкретными командами и примерами кода, а не пересказ третьих лиц. Такой источник надёжен как описание того, что именно добавлено в релиз, но остаётся первоисточником заявлений о самом инструменте, независимой проверки функциональности в тексте нет.

Риски и подводные камни

Часть экосистемы догоняет релиз с задержкой: обновления плагинов llm-gemini, llm-openrouter и llm-mistral автор анонсировал без даты («скоро»), а сторонним плагинам, добавляющим модели, потребуется отдельное обновление под 0.32, иначе они не получат полноценной поддержки потоковых событий. Формат логов сменился на контент-адресуемый по образцу Git, это изменение схемы хранения истории сообщений. Наконец, сам автор пока не определился, как именно концепцию «агента» встраивать в ядро библиотеки в будущих версиях, то есть направление развития инструмента в этой части остаётся открытым.

«Сегодня, глядя на LLM, я всё больше вижу в нём именно агентный инструмент.»

— Саймон Уиллисон, автор LLM