Бенчмарк 17 LLM: MCP tool calling, single-shot vs agentic loop | AiManual
AiManual Logo Ai / Manual.
23 Фев 2026 Гайд

Бенчмарк 17 локальных LLM на реальном MCP tool calling: single-shot против agentic loop (методология и результаты)

Сравнение 17 локальных LLM на реальных задачах MCP tool calling: методология, результаты single-shot и agentic loop подходов. Практические выводы.

Зачем этот бенчмарк? Проблема синтетических тестов

Откройте любой сайт с рейтингами 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 Instruct11BQ6_KБаланс качества и скорости
Mistral-7B-Instruct-v0.37.24BQ8_0Классика tool calling
Gemma 2 9B Instruct9BQ6_KОптимизирована под инструменты
Qwen 2.5 7B Instruct7.72BQ6_KСильна в коде
DeepSeek-Coder-V2 Lite7BQ5_K_MСпециализация на программировании
... и еще 12 моделейот 3B до 14Bразная квантовка...
💡
Полный список моделей, их точные версии и ссылки для загрузки мы выложили в нашем GitHub. Ищите по названию бенчмарка.

Как мы тестировали: методология, которая не врать

Мы не просто дали моделям задачки. Мы создали три уровня сложности, которые отражают реальные сценарии.

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 11B24%89%+65%14.2
Mistral 7B v0.331%82%+51%12.8
Gemma 2 9B28%85%+57%13.5
Qwen 2.5 7B33%87%+54%11.9
DeepSeek-Coder-V2 7B19%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 модели начинали "забывать" начальные условия. Решение? Техники сжатия контекста или переход на более емкие модели.

Как выбрать модель для своего проекта: практический гид

Не смотрите только на процент успеха. Смотрите на ваши ограничения.

  1. Если у вас мало VRAM (до 8GB): Берите Mistral 7B или Qwen 2.5 7B в квантовке Q4_K. В agentic loop они показывают 75-80% на уровне 2. Single-shot почти бесполезен для сложных задач.
  2. Если нужна скорость (интерактивные приложения): Single-shot с Llama 3.2 11B или Gemma 2 9B. Но готовьтесь к тому, что сложные цепочки будут падать. Лимитируйте функциональность.
  3. Если нужна надежность (автономные агенты): Только agentic loop с моделями от 11B параметров. Llama 3.2 11B - наш фаворит по балансу. Хотите лучше? Ищите 14B-20B модели, но проверяйте, влезут ли они в память. Полный обзор моделей с tool calling здесь.
  4. Если задача - в основном программирование: DeepSeek-Coder-V2 в agentic loop. В single-shot она слаба на tool calling, но в цикле показывает уникальное понимание сложных инструкций.

Что дальше? Прогноз на 2027

Single-shot не умрет. Его оптимизируют. Уже появляются модели, которые в одном ответе генерируют план и сразу все вызовы, что-то вроде свернутого цикла. Но для этого нужны архитектурные изменения.

Agentic loop станет стандартом для корпоративных решений. Но главная проблема - не качество моделей, а стабильность MCP-серверов и управление контекстом. Тот, кто решит эти две проблемы, получит рынок.

Наше следующее исследование - тестирование агентного обучения с подкреплением на локальных моделях. Можно ли заставить 7B модель думать как GPT-4? Предварительные данные показывают, что да, но цена - тысячи итераций обучения.

А пока - не верьте рейтингам. Собирайте свой стенд, берите наш метод и тестируйте. Только так вы найдете модель, которая работает именно на ваших задачах.

Подписаться на канал