Strands выпустила Decider 2B: малую открытую модель решений для ИИ-агентов

Strands выпустила Decider 2B: малую открытую модель решений для ИИ-агентов

Команда Strands, ранее запустившая площадку strands-labs для экспериментов с агентным ИИ, выпустила Strands Decider 2B (strands-decider-2b), небольшую модель решений (decision model, её же называют system one model). Такая модель не пишет произвольный текст: она выбирает между заданными вариантами (например, «Эта строка про кофемашину? Да или нет», «На каком языке фраза: английский, зулу или нидерландский») и выставляет простые числовые оценки (например, насколько тональность фразы позитивна, от 0 до 1). Интерес к этому классу моделей, по словам авторов, вырос после запуска Jev компанией TypeSafe AI в начале этого месяца.

Авторы описывают компромисс так. Взамен гибкости модели решений быстрее и способнее при том же размере, всегда отвечают одним из предложенных вариантов и могут работать с очень малой задержкой. Кроме того, к каждому решению они выдают оценку надёжности («насколько можно быть уверенным, что это «да» верно»), которой, как пишут авторы, нет в API передовых LLM, и позволяют дёшево задавать несколько вопросов об одном и том же запросе. Обратная сторона: из-за генерации всех ответов за один параллельный проход модель заметно хуже рассуждающих моделей справляется со сложными задачами и не подходит для программирования, чат-ботов, суммаризации документов и других обычных задач LLM.

Strands Decider 2B, модель на 2 млрд параметров, пригодная для запуска на локальном CPU или GPU; авторы утверждают, что она отвечает на содержательные вопросы за десятки миллисекунд. Код выложен на GitHub в открытом доступе, веса, на Hugging Face, вместе со всеми обучающими данными и скриптами. Лицензия в тексте не указана.

Архитектура: берётся предобученная LLM-основа (torso) Qwen3.5-2B, у неё убирают языковую голову (LM head), лишая способности генерировать текст, и заменяют её «указательной головой» (pointer head). Она сопоставляет скрытое состояние в позиции каждого варианта со скрытым состоянием в позиции и оценивает варианты. В этой голове чуть больше миллиона параметров. Основа дообучена с помощью LoRA-адаптера ранга 16. Это вторая крупная итерация архитектуры: первая использовала «слотовую голову» (slot head), которая работала заметно хуже. Выпущенная модель, версия v19, все изменения по версиям описаны в репозитории.

Производительность. Авторы измеряют точность и калибровку (насколько можно доверять оценкам уверенности) на открытой части теста JevBench, калибровку, по метрике Бриера (Brier score). По этим показателям модель заняла 3-е место из 33 в классе 2B и 1-е из 30, если не считать модели чуть крупнее 2B. Конкретные значения метрик и названия моделей выше в тексте не приведены. Медианная задержка локального решения, около 115 мс на широко доступном оборудовании; время растёт примерно линейно с размером задачи. График построен на локальной Nvidia RTX 3090 для версии v18; на MacBook с M3 задержка для небольших задач, около 153 мс (медиана). На простых задачах JevBench модель отвечает верно в 100% случаев.

Почему 2B: авторы хотят, чтобы можно было пробовать и даже дообучать модель на уже имеющемся железе, а два миллиарда параметров считают золотой серединой, достаточно мало для экспериментов и достаточно много для полезной работы.

Применения. Авторы сообщают о раннем успехе в маршрутизации между моделями, выборе инструментов, оценке качества, защитных ограничениях (guardrails), памяти, управлении контекстом и классификации политик. Также они видели гибридных агентов, где LLM решает самые трудные вопросы, а модель решений, простые рутинные, что снижает стоимость и задержку, а также эксперименты с фиксированными языками рабочих процессов, игры, автоматизацию задач и прохождение лабиринтов.

Пример в репозитории (examples/strands/): агент работает локально, decider тоже локально, а основной LLM, модель по умолчанию из Amazon Bedrock. У агента есть демо-инструмент get_weather и намеренно «услужливый» системный промпт: на вопрос «Какая погода?» без города он угадывает город и вызывает инструмент. Перед вызовом Decider читает диалог и предложенный вызов и отвечает на два вопроса «да/нет»: подкреплены ли аргументы словами пользователя (нет) и не слишком ли рано вызывать инструмент. Несколько строк на Python превращают предсказания в решение, и агент переспрашивает, какой город имелся в виду. Это работает через систему вмешательств Strands: InterventionHandler с методом before_tool_call возвращает действие Proceed, Deny, Confirm (остановиться и спросить человека) или Guide (вернуть модели ход с обратной связью). Авторы подчёркивают, что пример, иллюстрация, а не рекомендация: вопросы, порог и политика подобраны вручную. Команда также работает над библиотеками для интеграции моделей решений и обещает скорые обновления репозитория.

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

  • Strands Decider 2B, открытая модель на 2 млрд параметров: не генерирует текст, а выбирает из заданных вариантов и выдаёт числовые оценки с показателем надёжности; код на GitHub, веса на Hugging Face, данные и скрипты обучения приложены.
  • Основа, Qwen3.5-2B без языковой головы; вместо неё pointer head (чуть больше миллиона параметров), основа дообучена LoRA-адаптером ранга 16; выпущена версия v19.
  • По точности и калибровке на открытой части JevBench, 3-е место из 33 в классе 2B и 1-е из 30 без моделей чуть крупнее 2B; на простых задачах JevBench, 100% верных ответов.
  • Медианная задержка решения около 115 мс на широко доступном оборудовании, около 153 мс для небольших задач на MacBook с M3; задержка растёт примерно линейно с размером задачи.
  • Авторы прямо называют ограничения: модель заметно хуже рассуждающих моделей на сложных задачах и не годится для кодинга, чат-ботов и суммаризации.

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

Модели решений (system one models), новый класс, к которому, по словам авторов, привлёк внимание запуск Jev от TypeSafe AI в начале месяца. Strands Decider 2B, первый вклад команды Strands в эту область: полностью открытый вариант, где доступны не только веса, но и обучающие данные, скрипты и описание изменений в каждой версии. Идея в том, что дешёвые и быстрые решения («да/нет», выбор инструмента, маршрутизация) можно выносить из дорогих вызовов LLM в локальную маленькую модель.

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

Разработчикам ИИ-агентов, которые строят рабочие процессы на Strands Harness SDK или похожих системах и хотят снизить стоимость и задержку рутинных решений. Также исследователям и энтузиастам, которым нужна небольшая модель для экспериментов: по словам авторов, её можно запускать и даже обучать на уже имеющемся железе.

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

Проще всего начать с командной строки strands-decider: можно передать состояние и вопрос с вариантами ответа, а в выводе увидеть оценки вероятности по вариантам (в примере наибольшую получает вариант billing). В репозитории есть примеры внутри агента Strands (examples/strands/): перед вызовом инструмента модель отвечает на вопросы «да/нет» через InterventionHandler с методом before_tool_call. Код лежит на GitHub, актуальные снимки весов, на Hugging Face. Авторы упоминают гибридные схемы: LLM берёт трудные решения, Decider, простые. Лицензия кода и весов в тексте не названа, поэтому условия использования стоит проверить в репозитории.

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

Источник, блог самих авторов модели, это презентация собственного релиза, а не независимая проверка. Рейтинг «3-е из 33» относится к точности и калибровке на открытой части JevBench; названия моделей выше и значения метрик в тексте не приведены, кто сделал JevBench, тоже не сказано. Сами авторы формулируют результат осторожно: точность и калибровка «конкурентны» среди известных им моделей этого класса. Цифра 115 мс относится к «широко доступному оборудованию», а график задержки построен на RTX 3090 для версии v18, тогда как выпущена v19. Заявление о «десятках миллисекунд» и медиана 115 мс в тексте между собой не сведены. Дата публикации и автор поста не указаны.

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

Модель не генерирует текст и заметно слабее рассуждающих моделей на сложных задачах, поэтому не заменит LLM для кодинга, чат-ботов или суммаризации. Выводы об успехах в маршрутизации, защитных ограничениях и других применениях авторы описывают как ранние. Пример с агентом, иллюстрация, а не рекомендация: вопросы, порог и политика подобраны вручную, и для реальных задач их придётся продумывать самостоятельно. Библиотеки интеграции ещё в работе, а сам класс моделей пока новый.