Всем привет! На связи Толя Потапов и команда ML Т-Банка. Этим летом мы выпустили большую языковую модель T-pro-2.0 — эффективную русскоязычную модель с гибридным подходом к reasoning. Сегодня выпускаем обновление T-pro-2.1, в котором закрываем два самых заметных слабых места 2.0: следование инструкциям и tool calling.
Заодно мы обновили и T-lite-2.1. Лайт-линейка долго оставалась на версии 1.0, хотя именно ее чаще всего берут энтузиасты и команды, которым важны скорость и простота развертывания. В 2.1 мы приводим T-lite в актуальное состояние — без потери легкости, но с более современным качеством и поведением.
LLM все чаще используется не как чат, а как компонент системы: с вызовом инструментов, проверяемыми шагами, верифицируемыми форматами ответа и жесткими требованиями к latency. Параллельно за это время заметно усилился опенсорс — планка ожиданий выросла.
T-lite-2.1 и T-pro 2.1 — небольшое, но точечное обновление 2.0: меньше промахов в инструкциях, точнее вызов инструментов и более выверенный рецепт обучения.
T-pro 2.1 — инструктивная модель на базе Qwen3-32B, которая отвечает без «тысяч токенов рассуждений», но с качеством, которое в большинстве задач остается сопоставимым или выше, чем у подходов c большим reasoning-бюджетом. Мы вдохновлялись философией Qwen3-235B-2507-Instruct: максимум полезного сигнала в финальном ответе, а не в длинной трассировке мыслей. При этом по сравнению с 2.0 модель заметно лучше держит формат, аккуратнее выполняет требования и увереннее ведет себя в агентских сценариях.
T-lite 2.1 — обновленная 8B-модель: более сильная на прикладных задачах и при этом остается быстрой и практичной для продакшена и локального запуска.
Улучшение Instruction Following (IF) стало отдельным направлением при разработке T-pro-2.1 и T-lite-2.1.
IF — это способность LLM точно и последовательно выполнять инструкции пользователя, а не просто генерировать правдоподобный текст. Типичные примеры таких инструкций: «ответь строго в формате JSON», «не добавляй пояснений», «соблюдай заданную схему», «уложись в лимит длины» и так далее. На практике подобных требований может быть много, и сложность Instruction Following как раз в том, чтобы корректно учитывать их все одновременно.
Для продакшен-сценариев именно IF часто оказывается критичнее «общего качества» текста: ошибка в формате или игнорирование части требований делает ответ модели бесполезным.
Data: синтетика для IF. Для получения специализированных данных мы разработали собственный пайплайн генерации синтетики для IF на основе подхода AutoIF. Он включает в себя этапы:
генерации и валидации инструкций на основе IFEval-like сидов;
генерации верифицируемых функций, которые автоматически проверяют корректность следования инструкции;
маппинга сгенерированных инструкций к семплам из SFT-датасета;
генерации и валидации комплишенов, удовлетворяющих ограничениям в IF-промптах;
балансировки данных по доменам и уровню сложности.
В результате мы собрали инкремент, который использовали как на SFT-, так и на RL-стадиях обучения. Если обучение на голд-ответах в SFT является стандартной практикой, то RL-этап потребовал решения ряда нетривиальных проблем.
RLVR стал ключевым драйвером роста IF-способностей. А именно GRPO. Для каждого семпла у нас есть набор верификационных функций, позволяющих автоматически проверить корректность ответа модели. В качестве базового реварда мы использовали accuracy следования инструкции.
Довольно быстро мы столкнулись с классической проблемой reward hacking: ревард рос, но модель училась не давать хорошие ответы, а подстраиваться под верификационные функции, что видно из резкого падения средней длины ответа.
Причина reward hacking в том, что сами функции проверяют только факт выполнения инструкции, но не оценивают адекватность и осмысленность ответа в целом. Для решения этой проблемы мы перебрали большое количество комбинаций верифицируемого и семантического реварда, включая:
усиленный KL-penalty;
штраф на длину ответа;
штраф на основе ревард модели;
штраф на основе LLM-as-a-Judge.
На практике лучшим решением оказалась комбинация верификационных функций со штрафом на основе нашей ревард модели по аналогии с работой Generalizing Verifiable Instruction Following, которая позволила:
сохранить строгий контроль за выполнением инструкции;
предотвратить деградацию качества и осмысленности ответов.
Финальная формула реварда Ri с учетом верифицируемой части Vi и скора ревард модели Si выглядела так:
Отдельного внимания требует подбор порога ɑi для ревард модели. Мы задали его на уровне среднего качества ответов базовой модели Qwen3-235B-Instruct-2507 на конкретный промпт. Это позволяет обучать модели корректному следованию инструкциям и одновременно не допускать падения качества ниже базового уровня.
Благодаря такому подходу нам удалось значительно улучшить Instruction Following способности моделей, что отразилось в росте метрик на бенчмарке IFEval — нашем основном показателе качества IF. Кроме того, улучшения проявились и на других бенчмарках, таких как Arena-Hard, поскольку качественное следование инструкциям напрямую повышает способность модели эффективно решать широкий спектр задач.
Мы начали улучшение function calling с ревью всех открытых датасетов на HuggingFace: отобрали наиболее качественные, перевели на русский, чтобы обучать модель сразу на RU/EN. Но SFT на этих данных не дал прироста на BFCL: примеры оказались слишком простыми — почти всегда single-turn-диалоги с тривиальными тулсетами. Чтобы это устранить, нужно было:
расширить пространство инструментов;
усложнить диалоги: добавить многошаговые, последовательные и параллельные вызовы.
Для обеих задач мы построили синтетические пайплайны.
Генерация синтетических инструментов. Для генерации разнообразных синтетических инструментов мы применили подход на основе self-instruct. Сначала собрали все доступные инструменты из открытых источников, после чего их описания кластеризовали для извлечения тематик. Далее запускался итеративный цикл расширения: генерация новых тем → кластеризация → обновление множества тематик с minhash-дедупликацией между кластерами.
По полученным тематикам генерировались функционально связанные наборы инструментов, имитирующие реальные инструменты. Например, те, что могут быть доступны в MCP, то есть инструменты, которые естественно использовать вместе в одном диалоге. Поскольку многие сгенерированные инструменты оказывались семантически близкими, мы добавили этап merge как в статье от ByteDance — объединение похожих инструментов через расширение описаний и сигнатур с последующим refine для уточнения аргументов и типов.
Для контроля длины JSON-описаний, подаваемых в контекст LLM, каждый инструмент дополнительно генеративно сжимался. В результате для каждого инструмента создавалось несколько вариаций: до и после refine, разной длины. Такой подход обеспечил покрытие разнообразных статистик в обучающих данных.
Генерация синтетических диалогов. Для покрытия широкого спектра сценариев мы разработали двухфазный пайплайн.
Фаза 1: планирование. На вход подаются несколько наборов инструментов, сгруппированных по тематике. Для каждой группы генерируется контекст, а на основе всех инструментов — пользовательская персона.
Затем создаются локальные траектории — структурированные планы, описывающие цели пользователя, ожидаемые вызовы инструментов и предполагаемые ответы. Каждая траектория проходит итеративную валидацию ансамблем LLM-судей по критериям корректности логики, полноты выполнения целей, реалистичности и креативности. На основе обратной связи траектории уточняются и объединяются в глобальную траекторию с финальной валидацией.
Фаза 2: Мультиагентная симуляция. На основе траектории запускается взаимодействие трех агентов:
User-агент генерирует реплики по целям и персоне. На каждом шаге предлагает несколько вариантов — LLM-судьи выбирают лучший.
Assistant-агент (целевая модель для дистилляции) имеет доступ к инструментам. Параллельно генерирует варианты действий: финальный ответ, уточняющий вопрос или вызов инструментов. Выбор по голосованию судей с дополнительными проверками формата и согласованности с траекторией.
Tool-агент имитирует исполнение вызванных инструментов на основе траектории.
При ошибке ассистента диалог не прерывается — реплика помечается флагом ошибки, взаимодействие продолжается. Это повышает обобщающую способность модели реагировать на ошибки.
Каждый диалог разбивался по репликам ассистента: предшествующие сообщения служили контекстом, loss считался только по целевой реплике. Ошибочные реплики исключались из обучения, но оставались в контексте — модель фокусируется на правильных действиях, сохраняя способность распознавать ошибки.
Результатом работы пайплайнов синтетики является завершенный диалог — полная история взаимодействия между пользователем и ассистентом для формирования датасетов для SFT- и GRPO-этапов обучения модели.
Tool calling post-training. Обучение на данных первой версии пайплайна продемонстрировало улучшение на бенчмарках BFCL v3, tau²-bench и ACEBench. Для дальнейшего прогресса мы проработали две ключевые гипотезы для формирования обучающих данных.
Первая гипотеза связывает сложность диалога с суммарной длиной описаний инструментов: это позволило ввести стратификацию данных по уровню сложности и целенаправленно исследовать ее влияние на качество модели.
Вторая гипотеза касается тематической группировки. Объединение нескольких семантически связанных инструментов повышает естественность сценариев, поскольку результат вызова одного инструмента становится входом для следующего. Это обучает модель многошаговому использованию инструментов в рамках единого диалога.
Для RL-этапа мы использовали бинарный ревард (tool-n1), сравнивающий JSON ответа модели с Ground Truth. ревард-функция учитывает:
формат — структуру тегов и порядок элементов;
корректность JSON для вызовов и полное соответствие вызовов эталону.
После первых экспериментов мы заметили рост по всем сабсетам BFCL, кроме Irrelevance и Multi Turn. Анализ показал: модель «захакала» ревард — в обучающем датасете не было примеров с финальной репликой ассистента, завершающей tool-вызовы, и мы разучились отвечать что-то кроме вызова инструмента.
Мы провели серию экспериментов по балансировке датасета, варьируя долю Irrelevance, сценарии, где ни один инструмент не релевантен запросу, и долю ответов ассистента. Дополнительно проверили влияние сложности тулов и баланса RU/EN.
Итоговый баланс RL-датасета:
|
Параметр |
Распределение |
|
Язык |
30% русский, 70% английский |
|
Тип таргета |
80% инструменты, 20% текстовый ответ |
|
Irrelevance |
10% от текстовых ответов |
Синтетика для инструментов и диалогов, стратификация по сложности и аккуратный баланс данных позволили нам добиться значимого улучшения function calling способностей модели.
Мы научились делать отдельные способности хорошими. Следующий шаг — совместить методологии для улучшения качества ответов модели с точки зрения instruction following и function calling. Нужно было построить единую модель, удовлетворяющую критериям качества в данных доменах и сохраняющую при этом общее качество ответов не хуже версии 2.0.
Мы зафиксировали три домена: general, IF и FC — каждый со своими данными, ревардами и бенчмарками. Взяли в качестве основы Qwen3 с улучшенным токенизатором из версии 2.0 и проделали шаги для подготовки модели:
Дообучение на большом русскоязычном инструктивном корпусе. Стадия аналогична такой же стадии для версии 2.0 с единственным отличием: в этот раз в корпусе не были представлены рассуждения в ответах.
SFT на объединенных данных из трех доменов. Такой подход оказался эффективным: после этой стадии модель получилась сопоставима с аналогичными моделями, обученными на доменах в отдельности. А в ряде бенчмарков даже немного превосходила их.
Обучение трех отдельных экспертов на основе SFT-модели с использованием алгоритма GRPO. Решение связано с тем, что в RL-стадии в разных доменах использовались реварды разной природы, с разным масштабом и разной скоростью роста в ходе обучения. Попытки объединять данные из нескольких доменов в одном запуске приводили к перекосу: один домен начинал доминировать над остальными. Ухудшалось итоговое качество модели, а выравнивание влияния доменов требовало неоправданно большого числа экспериментов и тонкой настройки.
Слияние трех экспертов в единую модель. Мы экспериментировали с разными методами слияния весов и склонились к методу SLERP. Он позволяет объединить только две модели за одно применение, поэтому сначала из экспертов IF и FC построили одну модель, а затем полученную модель объединили с general-экспертом. Итоговая модель практически не уступала каждому из экспертов в целевом для него домене.
«Полировка» — последняя стадия обучения с малым learning rate для устранения возможных артефактов генерации, возникающих после слияния моделей.
Данные для обучения в домене general мы подготовили на основе данных из версии 2.0. Дополнительно сгенерировали на основе диалогов оттуда ответы без рассуждений для SFT-стадии. Алгоритм DPO для стадии preference tuning из версии 2.0 уступил место алгоритму GRPO на основе той же ревард-модели. Это не только позволило достичь более высокого качества модели, но и дало нам возможность более гибко настраивать оптимизируемые свойства ответов.
Например, мы замечали, что после DPO-стадии средняя длина ответов растет, поскольку наша ревард-модель предпочитает более длинные ответы. Мы хотели научиться контролировать такое поведение, поэтому в GRPO-сетапе добавили мультипликативный length penalty (штраф за длину).
Помимо этого, длительное обучение GRPO на домене general приводило к существенной деградации на других доменах и росту энтропии ответов, хотя на базовом домене ревард стабильно увеличивался. Этот эффект связан с тем, что по ходу обучения распределение ответов, на котором обучалась ревард-модель, начинает удаляться от целевого распределения. Сильное отличие приводит к неопределенному поведению ревард-модели: ее оценки перестают отражать реальное качество ответов.
Решить проблему существенной деградации удалось более сильной регуляризацией. Мы увеличили вклад, который вносит в лосс-функцию KL-дивергенция между исходной и обучаемой моделями. Так мы замедлили процесс изменения распределения ответов и смогли достичь высокого итогового качества.
Диалоговые бенчмарки. Для оценки способностей моделей к ведению диалога, следованию инструкциям и решению задач мы традиционно использовали LLM-as-a-judge-арены: Arena Hard Ru, Arena Hard 2 и арену, основанную на данных, отобранных автором репозитория WildChat Hard Ru из реальных запросов пользователей. В последней мы использовали в качестве бейзлайна ответы модели o3-mini. В качестве судьи для всех арен используется DeepSeek V3.1 terminus.
|
Модель |
Арена (RU) |
Арена 2 (EN) hard_prompt |
Арена 2 (EN) creative_writing |
WildChat (RU) |
|
gpt-5.2 (medium) |
97,53 |
86,3 |
91,2 |
88 |
|
GLM-4.6 (reasoning) |
97,46 |
83 |
89,8 |
89,8 |
|
Qwen3-235B-A22B-Instruct-2507 |
96,81 |
71 |
87,4 |
85,1 |
|
T-pro-it-2.1 |
93,76 |
57,9 |
70,7 |
78,9 |
|
claude-sonnet-4.5 |
93,19 |
55 |
69,4 |
71,5 |
|
T-pro-it-2.0 (reasoning) |
87,04 |
63,1 |
58,6 |
68,5 |
|
T-pro-it-2.0 (no-think) |
90,36 |
46,2 |
62,8 |
76,4 |
|
Qwen3-32B (reasoning) |
87,28 |
45,2 |
50,6 |
59,6 |
|
T-lite-it-2.1 |
83,95 |
35,8 |
49,2 |
65,4 |
|
Qwen3 32B (no-think) |
85,76 |
32,3 |
41,8 |
52 |
|
Ministral-3-8B-Instruct-2512 |
72,62 |
22,5 |
40,5 |
56,6 |
|
gpt-oss-20b (medium) |
73,55 |
49,2 |
13,6 |
46 |
|
Qwen3-8B (reasoning) |
65,42 |
24,3 |
22,4 |
34,5 |
|
RuadaptQwen3-32B-Instruct (no-think) |
65,42 |
14,5 |
16,3 |
39,9 |
|
Qwen3-8B (no-think) |
57,23 |
14,4 |
11 |
25,5 |
|
RuadaptQwen3-8B-Hybrid (no-think) |
56,85 |
10,7 |
9,8 |
30,5 |
|
Avibe |
50,08 |
11 |
15,8 |
24,1 |
|
Модель |
Арена (RU) |
Арена 2 (EN) hard_prompt |
Арена 2 (EN) creative_writing |
WildChat (RU) |
|
gpt-5.2 (medium) |
97,53 |
86,3 |
91,2 |
88 |
|
GLM-4.6 (reasoning) |
97,46 |
83 |
89,8 |
89,8 |
|
gemini-3-pro-preview (reasoning) |
97,24 |
80,4 |
90,9 |
89,3 |
|
GLM-4.6-FP8 (reasoning) |
96,98 |
77,2 |
87,3 |
89 |
|
Qwen3-235B-A22B-Instruct-2507 |
96,81 |
71 |
87,4 |
85,1 |
|
Qwen3-Next-80B-A3B-Instruct |
96,17 |
72,5 |
82,3 |
85,8 |
|
DeepSeek-V3.2 (reasoning) |
95,15 |
65,9 |
85,8 |
84,3 |
|
gpt-5-mini (medium) |
97,37 |
80,4 |
81,2 |
87,8 |
|
Kimi-K2-Instruct |
93,92 |
59,7 |
83,7 |
75,3 |
|
gpt-oss-120b (medium) |
93,14 |
79,7 |
58,1 |
79,8 |
|
Qwen3-Next-80B-A3B-Thinking |
93,2 |
70,7 |
64,1 |
76,9 |
|
GLM-4.5-Air (reasoning) |
89,1 |
53,1 |
77,9 |
84,2 |
|
gemini-25-pro |
91,55 |
49,5 |
86,5 |
74,3 |
|
T-pro-it-2.1 |
93,76 |
57,9 |
70,7 |
78,9 |
|
Mistral-Large-3-675B-Instruct-2512 |
91,79 |
49,8 |
78 |
77,9 |
|
claude-sonnet-4.5 |
93,19 |
55 |
69,4 |
71,5 |
|
T-pro-it-2.0 (reasoning) |
87,04 |
63,1 |
58,6 |
68,5 |
|
T-pro-it-2.0 (no-think) |
90,36 |
46,2 |
62,8 |
76,4 |
|
MiniMax-M2 |
87,48 |
60,4 |
48,7 |
72,7 |
|
Kimi-K2-Thinking |
82,79 |
34,1 |
69 |
64,3 |
|
Qwen3-32B (reasoning) |
87,28 |
45,2 |
50,6 |
59,6 |
|
T-lite-it-2.1 |
83,95 |
35,8 |
49,2 |
65,4 |
|
Qwen3-32B (no-think) |
85,76 |
32,3 |
41,8 |
52 |
|
Ministral-3-8B-Instruct-2512 |
72,62 |
22,5 |
40,5 |
56,6 |
|
gpt-oss-20b (medium) |
73,55 |
49,2 |
13,6 |
46 |
|
Ministral-3-14B-Instruct-2512 |
80,42 |
30,7 |
57 |
64,8 |
|
Qwen3-8B (reasoning) |
65,42 |
24,3 |
22,4 |
34,5 |
|
RuadaptQwen3-32B-Instruct (no-think) |
65,42 |
14,5 |
16,3 |
39,9 |
|
Qwen3-8B (no-think) |
57,23 |
14,4 |
11 |
25,5 |
|
RuadaptQwen3-8B-Hybrid (no-think) |
56,85 |
10,7 |
9,8 |
30,5 |
|
Avibe |
50,08 |
11 |
15,8 |
24,1 |
|
Ministral-3-3B-Instruct-2512 |
39,51 |
9 |
14,5 |
26 |
|
GigaChat3-702B-A36B-preview |
32,91 |
8,7 |
5,4 |
13,8 |
|
T-lite-it-1.0 |
24,42 |
3,1 |
5,2 |
13,7 |
Instruction Following бенчмарки. Мы локализовали на русский язык оригинальный IF-eval-бенчмарк, чтобы оценить способность моделей следовать инструкциям (instruction-following). Для этого с помощью переводчиков перевели критерии и сами запросы, при этом исходная методология вычисления метрик полностью сохранена. Метрика в таблице представляет собой среднее значение 4 показателей: prompt-level strict accuracy, instruct-level strict accuracy, prompt-level loose accuracy, instruct-level loose accuracy.
|
model |
IFeval RU |
IFeval EN |
|
gpt-5.2 (medium) |
0,8565 |
0,828 |
|
GLM-4.6 (reasoning) |
0,8123 |
0,812 |
|
claude-sonnet-4.5 |
0,8085 |
0,814 |
|
T-pro-it-2.1 |
0,8065 |
0,7835 |
|
Qwen3-235B-A22B-Instruct-2507 |
0,8033 |
0,7798 |
|
Qwen3-32B (reasoning) |
0,7743 |
0,7785 |
|
Qwen3-32B (no-think) |
0,7735 |
0,777 |
|
Qwen3-8B (reasoning) |
0,7718 |
0,767 |
|
T-lite-it-2.1 |
0,7585 |
0,751 |
|
Qwen3-8B (no-think) |
0,7398 |
0,7543 |
|
RuadaptQwen3-32B-Instruct (no-think) |
0,7083 |
0,7345 |
|
RuadaptQwen3-8B-Hybrid (no-think) |
0,6868 |
0,731 |
|
T-pro-it-2.0 (reasoning) |
0,6865 |
0,723 |
|
T-pro-it-2.0 (no-think) |
0,6928 |
0,7023 |
|
gpt-oss-20b (medium) |
0,7113 |
0,676 |
|
Ministral-3-8B-Instruct-2512 |
0,6383 |
0,6433 |
|
Avibe |
0,6038 |
0,6323 |
|
model |
IFeval RU |
IFeval EN |
|
gemini-3-pro-preview (reasoning) |
0,8748 |
0,8445 |
|
gpt-5.2 (medium) |
0,8565 |
0,828 |
|
Kimi-K2-Thinking |
0,8485 |
0,8405 |
|
gemini-25-pro |
0,8475 |
0,8295 |
|
MiniMax-M2 (reasoning) |
0,8238 |
0,8293 |
|
Kimi-K2-Instruct |
0,8248 |
0,807 |
|
GLM-4.6-FP8 (reasoning) |
0,8115 |
0,8163 |
|
GLM-4.6 (reasoning) |
0,8123 |
0,812 |
|
claude-sonnet-4.5 |
0,8085 |
0,814 |
|
DeepSeek-V3.2 (no-think) |
0,8075 |
0,8085 |
|
Qwen3-Next-80B-A3B-Thinking (reasoning) |
0,808 |
0,7935 |
|
gpt-oss-120b (medium) |
0,8085 |
0,7915 |
|
T-pro-it-2.1 |
0,8065 |
0,7835 |
|
Qwen3-235B-A22B-Instruct-2507 |
0,8033 |
0,7798 |
|
DeepSeek-V3.2 (reasoning) |
0,7968 |
- |
|
Qwen3-32B (reasoning) |
0,7743 |
0,7785 |
|
Qwen3-32B (no-think) |
0,7735 |
0,777 |
|
Qwen3-8B (reasoning) |
0,7718 |
0,7665 |
|
T-lite-it-2.1 |
0,7585 |
0,751 |
|
GLM-4.5-Air (reasoning) |
0,7295 |
0,7763 |
|
Qwen3-8B (no-think) |
0,7398 |
0,7543 |
|
Mistral-Large-3-675B-Instruct-2512 |
0,748 |
0,7373 |
|
RuadaptQwen3-32B-Instruct (no-think) |
0,7083 |
0,7345 |
|
RuadaptQwen3-8B-Hybrid (no-think) |
0,6868 |
0,731 |
|
Devstral-Small-2-24B-Instruct-2512 |
0,7125 |
0,7125 |
|
GigaChat3-702B-A36B-preview |
0,7185 |
0,6985 |
|
T-pro-it-2.0 (reasoning) |
0,6865 |
0,723 |
|
Qwen3-Next-80B-A3B-Instruct |
0,8063 |
0,7985 |
|
T-pro-it-2.0 (no-think) |
0,6928 |
0,7023 |
|
gpt-oss-20b (medium) |
0,7113 |
0,676 |
|
YandexGPT-5-Lite-8B-instruct |
0,645 |
0,6948 |
|
Ministral-3-14B-Instruct-2512 |
0,6575 |
0,676 |
|
Ministral-3-8B-Instruct-2512 |
0,6383 |
0,6433 |
|
Avibe |
0,6038 |
0,6323 |
|
Ministral-3-3B-Instruct-2512 |
0,569 |
0,6128 |
|
T-lite-it-1.0 |
0,5888 |
0,614 |
Tool calling бенчмарки. Для оценки способностей моделей к использованию инструментов (tool calling) мы опирались на существующие бенчмарки, покрывающие разную сложность задач: ruBFCL, оригинальный BFCL v3, ACEBench, ориентированный на более сложные вызовы инструментов, а также бенчмарк tau².
Бенчмарк tau² позволяет оценить качество планирования и многошаговых обращений к инструментам в условиях динамического моделирования пользовательских запросов в диалоге.
Для локализации BFCLv3 на русский язык ключевой задачей было сохранить однозначность и разрешимость каждого примера: перевод пользовательского запроса, целевого ответа и описаний инструментов не должен вносить противоречий или неоднозначностей. Сначала мы совместно переводили запрос и связанные с ним инструменты, используя structured output: автоматически генерировали схему, сохраняя оригинальную JSON-структуру инструментов. Затем ансамбль LLM-судей проверял корректность перевода по двум критериям: отсутствие логических противоречий и полнота перевода всех значимых полей.
На основе провалидированного запроса и инструментов переводился целевой ответ, который проходил верификацию через LLM-судей. После автоматической разметки мы оценили качество ряда открытых моделей, проанализировали результаты и внесли ручные правки в проблемные примеры.
|
Модель |
BFCL (RU) |
BFCL (EN) |
ACEBench |
tau²-airlines |
tau²-retail |
tau²-telecom |
|
GLM-4.6 (reasoning) |
70,11 |
77,20 |
0,777 |
0,565 |
0,487 |
0,654 |
|
T-pro-it-2.1 |
65,96 |
72,27 |
0,735 |
0,315 |
0,572 |
0,241 |
|
Qwen3-235B-A22B-Instruct-2507 |
64,42 |
72,13 |
0,702 |
0,490 |
0,500 |
0,239 |
|
Qwen3-32B (reasoning) |
57,33 |
69,19 |
0,650 |
0,415 |
0,511 |
0,252 |
|
T-lite-it-2.1 |
56,45 |
62,19 |
0,610 |
0,255 |
0,368 |
0,182 |
|
Qwen3-32B (no-think) |
54,03 |
63,13 |
0,546 |
0,235 |
0,454 |
0,257 |
|
gpt-5.2 (medium) |
53,84 |
61,67 |
0,744 |
0,580 |
0,588 |
0,757 |
|
Qwen3-8B (no-think) |
52,60 |
59,38 |
0,481 |
0,125 |
0,357 |
0,197 |
|
Avibe |
52,55 |
63,03 |
0,540 |
0,120 |
0,160 |
0,061 |
|
Qwen3-8B (reasoning) |
51,37 |
66,20 |
0,632 |
0,330 |
0,375 |
0,257 |
|
T-pro-it-2.0 (reasoning) |
50,40 |
64,38 |
0,638 |
0,420 |
0,408 |
0,221 |
|
T-pro-it-2.0 (no-think) |
47,47 |
59,73 |
0,612 |
0,245 |
0,329 |
0,175 |
|
gpt-oss-120b (medium) |
40,14 |
53,32 |
0,769 |
0,530 |
0,553 |
0,518 |
|
Модель |
BFCL (RU) |
BFCL (EN) |
ACEBench |
TAU2-airlines |
TAU2-retail |
TAU2-telecom |
|
GLM-4.6 (reasoning) |
70,11 |
77,20 |
0,777 |
0,565 |
0,487 |
0,654 |
|
GLM-4.5-Air (reasoning) |
67,94 |
76,13 |
0,754 |
0,570 |
0,518 |
0,417 |
|
T-pro-it-2.1 |
65,96 |
72,27 |
0,735 |
0,315 |
0,572 |
0,241 |
|
Qwen3-235B-A22B-Instruct-2507 |
64,42 |
72,13 |
0,702 |
0,490 |
0,500 |
0,239 |
|
Qwen3-32B (reasoning) |
57,33 |
69,19 |
0,650 |
0,415 |
0,511 |
0,252 |
|
T-lite-it-2.1 |
56,45 |
62,19 |
0,610 |
0,255 |
0,368 |
0,182 |
|
Qwen3-32B (no-think) |
54,03 |
63,13 |
0,546 |
0,235 |
0,454 |
0,257 |
|
gpt-5.2 (medium) |
53,84 |
61,67 |
0,744 |
0,580 |
0,588 |
0,757 |
|
Qwen3-8B (no-think) |
52,60 |
59,38 |
0,481 |
0,125 |
0,357 |
0,197 |
|
Avibe |
52,55 |
63,03 |
0,540 |
0,120 |
0,160 |
0,061 |
|
Qwen3-8B (reasoning) |
51,37 |
66,20 |
0,632 |
0,330 |
0,375 |
0,257 |
|
T-pro-it-2.0 (reasoning) |
50,40 |
64,38 |
0,638 |
0,420 |
0,408 |
0,221 |
|
T-pro-it-2.0 (no-think) |
47,47 |
59,73 |
0,612 |
0,245 |
0,329 |
0,175 |
|
DeepSeek-V3.2 (no-think) |
46,21 |
52,28 |
0,635 |
0,550 |
0,452 |
0,632 |
|
gpt-5-mini (medium) |
44,14 |
55,98 |
0,699 |
0,470 |
0,588 |
0,614 |
|
MiniMax-M2 |
42,35 |
57,18 |
0,620 |
0,565 |
0,096 |
0,789 |
|
gpt-oss-120b (medium) |
40,14 |
53,32 |
0,769 |
0,530 |
0,553 |
0,518 |
T-pro 2.1 — лучшая в своем размере среди открытых моделей для русскоязычных агентских сценариев, где важно использование инструментов. Она сильнее в instruction following и tool calling, при этом быстрая за счет уплотненного токенизатора и ориентации на «ответ сразу».
T-lite 2.1 — легковесная 8B-модель с достойными IF/tool calling, когда важны скорость, простота запуска и предсказуемые ответы.
Как и у любой LLM, могут быть ошибки и галлюцинации — для production рекомендуем RAG, валидацию форматов/вызовов инструментов и внешние safety-механизмы (при необходимости — дотюнинг под домен).
Полезные ссылки:
T-lite и T-pro на huggingface
T-pro 2.0 training report
Источник


