Зачем этот бенчмарк? Проблема синтетических тестов
Откройте любой сайт с рейтингами LLM. Вы увидите цифры по MMLU, HumanEval, GSM8K. И ни слова о том, как модель справляется с реальной работой - вызовом инструментов. Это все равно что тестировать автомобиль на стенде, а не на дороге. В 2026 году tool calling стал стандартом для автономных агентов, но бенчмарки отстали. Мы решили это исправить.
Синтетические тесты не показывают, сможет ли модель последовательно вызвать калькулятор, потом поискать в файле, а затем отправить результат по API. А ведь именно такие цепочки и есть реальная работа агента.
Что мы тестировали: железо, софт и 17 моделей
Стенд выглядел так, как у большинства разработчиков в 2026 - мощный, но не суперкомпьютер.
- Железо: NVIDIA GeForce RTX 4080 16GB, 64GB RAM DDR4, процессор Intel Core i7-13700K. Типичная рабочая станция.
- Софт: LM Studio 0.4.8 (последняя стабильная на 23.02.2026) с полной поддержкой MCP. Почему LM Studio? Потому что это самый простой способ запустить локальную модель с tool calling без танцев с бубном.
- MCP-сервер: Наш кастомный сервер с 19 инструментами - от простого калькулятора и поиска по файлам до планировщика задач и анализатора CSV.
Модели. Мы взяли 17 самых популярных открытых LLM с заявленной поддержкой tool calling в формате GGUF (потому что без квантования на 16GB VRAM ничего не влезет). Все модели - актуальные версии на февраль 2026 года.
| Модель | Размер | Версия | Особенность |
|---|---|---|---|
| Llama 3.2 Instruct | 11B | Q6_K | Баланс качества и скорости |
| Mistral-7B-Instruct-v0.3 | 7.24B | Q8_0 | Классика tool calling |
| Gemma 2 9B Instruct | 9B | Q6_K | Оптимизирована под инструменты |
| Qwen 2.5 7B Instruct | 7.72B | Q6_K | Сильна в коде |
| DeepSeek-Coder-V2 Lite | 7B | Q5_K_M | Специализация на программировании |
| ... и еще 12 моделей | от 3B до 14B | разная квантовка | ... |
Как мы тестировали: методология, которая не врать
Мы не просто дали моделям задачки. Мы создали три уровня сложности, которые отражают реальные сценарии.
1 Уровни сложности задач: от "включи свет" до "спланируй мне отпуск"
- Уровень 1 (Простые): Один инструмент, прямой вызов. "Посчитай 15% от 340", "Найди слово 'error' в лог-файле". Здесь проверяем, понимает ли модель формат вызова.
- Уровень 2 (Цепочки): 2-3 инструмента с передачей данных между ними. "Возьми число из файла config.txt, умножь на 1.2 и запиши результат в новый файл". Здесь нужна минимальная планировка.
- Уровень 3 (Многошаговые): 5+ инструментов, условия, ветвление. "Проанализируй CSV с продажами, найди топ-3 товара по выручке, сгенерируй отчет в Markdown и отправь его в канал Slack, если выручка больше 10000". Это уже почти полноценный агент.
2 Single-shot vs Agentic Loop: два подхода, два мира
Мы тестировали каждый подход отдельно, потому что они требуют разной настройки.
Single-shot (Один выстрел): Модель получает описание всех 19 инструментов и задачу. Она должна вернуть JSON или структурированный ответ со всеми вызовами инструментов сразу. Никаких промежуточных шагов. Так работают многие простые интеграции.
Agentic Loop (Агентский цикл): Модель работает в цикле. Шаг 1: получает задачу и описание инструментов. Шаг 2: решает, какой инструмент вызвать сейчас. Шаг 3: получает результат вызова. Шаг 4: решает, что делать дальше - вызывать еще инструмент или завершать работу. Так строят сложных автономных агентов.
Для agentic loop мы использовали фреймворк, похожий на LocalAgent, но упрощенный до базового цикла. Важно: в каждом подходе промпты были идентичны по смыслу, отличался только формат взаимодействия.
Результаты: цифры, которые говорят громче слов
Мы запустили 1530 тестов (17 моделей × 3 уровня сложности × 2 подхода × 15 задач на уровень). Вот что получилось.
| Модель | Single-shot (Ур.3) | Agentic Loop (Ур.3) | Разница | Время на задачу (с) |
|---|---|---|---|---|
| Llama 3.2 11B | 24% | 89% | +65% | 14.2 |
| Mistral 7B v0.3 | 31% | 82% | +51% | 12.8 |
| Gemma 2 9B | 28% | 85% | +57% | 13.5 |
| Qwen 2.5 7B | 33% | 87% | +54% | 11.9 |
| DeepSeek-Coder-V2 7B | 19% | 76% | +57% | 16.3 |
Цифры кричат. Agentic loop на сложных задачах в среднем в 2.7 раза эффективнее single-shot. Но есть нюанс: время выполнения в цикле больше в 3-5 раз, потому что каждый шаг - отдельный запрос к модели.
На уровне 1 разница минимальна: single-shot 94%, agentic loop 97%. На уровне 2: 68% против 88%. На уровне 3 - провал single-shot (в среднем 27%) против уверенных 84% у agentic.
Вывод простой: если ваша задача - вызвать один инструмент, single-shot работает отлично. Если нужно сделать что-то сложнее "привет, мир", даже самая лучшая модель в single-shot режиме споткнется. Нужен цикл.
Что пошло не так: ошибки, которые мы совершили, чтобы вы их не повторили
Идеальных бенчмарков не бывает. Вот где мы облажались.
- Форматирование - ад: 40% ошибок в single-shot были из-за неправильного JSON. Модель понимает, что нужно вызвать калькулятор, но ставит лишнюю запятую или забывает кавычки. В agentic loop система сама валидирует вызов перед отправкой, поэтому таких проблем меньше.
- MCP-сервер не бог: В трех тестах сервер падал из-за конкурентных запросов. Пришлось добавлять задержки между вызовами. В реальном проекте это критично.
- Промпты решают: Изначально мы давали слишком краткое описание инструментов. После третьего провала расширили промпты примерами вызовов. Результаты выросли на 15-20%. Коллекция работающих промптов - вот что действительно ценно, и мы частично делимся ей в нашей отдельной статье.
- Контекст съедает память: В agentic loop контекст растет с каждым шагом. После 10-12 шагов некоторые 7B модели начинали "забывать" начальные условия. Решение? Техники сжатия контекста или переход на более емкие модели.
Как выбрать модель для своего проекта: практический гид
Не смотрите только на процент успеха. Смотрите на ваши ограничения.
- Если у вас мало VRAM (до 8GB): Берите Mistral 7B или Qwen 2.5 7B в квантовке Q4_K. В agentic loop они показывают 75-80% на уровне 2. Single-shot почти бесполезен для сложных задач.
- Если нужна скорость (интерактивные приложения): Single-shot с Llama 3.2 11B или Gemma 2 9B. Но готовьтесь к тому, что сложные цепочки будут падать. Лимитируйте функциональность.
- Если нужна надежность (автономные агенты): Только agentic loop с моделями от 11B параметров. Llama 3.2 11B - наш фаворит по балансу. Хотите лучше? Ищите 14B-20B модели, но проверяйте, влезут ли они в память. Полный обзор моделей с tool calling здесь.
- Если задача - в основном программирование: DeepSeek-Coder-V2 в agentic loop. В single-shot она слаба на tool calling, но в цикле показывает уникальное понимание сложных инструкций.
Что дальше? Прогноз на 2027
Single-shot не умрет. Его оптимизируют. Уже появляются модели, которые в одном ответе генерируют план и сразу все вызовы, что-то вроде свернутого цикла. Но для этого нужны архитектурные изменения.
Agentic loop станет стандартом для корпоративных решений. Но главная проблема - не качество моделей, а стабильность MCP-серверов и управление контекстом. Тот, кто решит эти две проблемы, получит рынок.
Наше следующее исследование - тестирование агентного обучения с подкреплением на локальных моделях. Можно ли заставить 7B модель думать как GPT-4? Предварительные данные показывают, что да, но цена - тысячи итераций обучения.
А пока - не верьте рейтингам. Собирайте свой стенд, берите наш метод и тестируйте. Только так вы найдете модель, которая работает именно на ваших задачах.