Вайбкодеры часто сравнивают LLM на игрушечных задачах вроде «сделай 3D-аквариум», но поведение моделей на существующем проекте с большой кодовой базой остаётся за кадром. Автор эксперимента, веб-разработчик на Symfony, решил проверить, готовы ли локальные LLM к агентскому кодингу в реальных условиях. Для этого он использовал DGX Spark с 128 ГБ унифицированной памяти — устройство, которое позволяет запускать модели, недоступные на обычных видеокартах с 16 ГБ VRAM. В качестве агента выступил Hermes, а модели крутились через vLLM.
В сравнении участвовали четыре локальные модели: Qwen 3.6 27B (Dense), Qwen 3.6 35B (MoE), Ornith 1.0 35B (MoE) и Laguna S 2.1 118B A8.5B (MoE). Облачный GigaCode от Сбера использовался внутри GigaIDE — на момент написания статьи он бесплатен. Контрольным образцом стал Claude Opus 5, который не участвовал в зачёте, но служил ориентиром и независимым ревьюером: каждый коммит прогонялся через функциональные тесты, PHPStan и CS Fixer, после чего выносился вердикт.
| Критерий | Баллы | Что оценивается |
|---|---|---|
| Работоспособность | 0–5 | Полнота выполнения ТЗ, наличие багов |
| Статический анализ | 0–2 | Чистота по PHPStan и CS Fixer |
| Тесты | 0–2 | Наличие и качество тестов, включая негативные сценарии |
| Соответствие ТЗ и архитектурная чистота | 0–2 | Точность решения, минимальный diff, стиль проекта |
| Скорость | 0–2 | Относительная скорость выполнения |
Инфраструктура добавила сложностей: проект поднимается через docker compose внутри WSL. Hermes и Claude Code работали в WSL и без проблем взаимодействовали с Docker, а вот GigaCode, живущий на хосте Windows, не мог напрямую обращаться к контейнерам. Пришлось вручную писать навык exec-in-docker, иначе агент просто угадывал формат команд и сдавался без самопроверки.
Qwen 27B сошёл с дистанции после первого раунда: почти 2 часа на задачу, зависание и нерабочий результат.
Оценка велась по пяти критериям: работоспособность (0–5 баллов), статический анализ (0–2), тесты (0–2), соответствие ТЗ и архитектурная чистота (0–2), скорость (0–2). Максимум за раунд — 13 баллов. Qwen 27B сошёл с дистанции после первого же раунда: почти два часа на одну задачу, зависание и нерабочий результат. Некоторым моделям в раундах 3 и 4 давался «второй шанс» с усиленным промптом, требующим написать тесты и прогнать проверки.
Результаты показали, что локальные модели на мощном железе способны конкурировать с облачными агентами, но не без оговорок. GigaCode, несмотря на инфраструктурные трудности, показал себя достойно, особенно после добавления навыка. Claude Opus 5, как и ожидалось, задал высокую планку. Для разработчиков, которые устали от лимитов облачных сервисов и риска блокировок, локальные LLM становятся реальной альтернативой, но требуют серьёзных ресурсов и настройки.
Эксперимент подчёркивает тренд: агентский кодинг перестаёт быть прерогативой только облачных гигантов. С ростом доступности мощного железа и оптимизацией моделей локальные решения всё чаще рассматриваются для ежедневных задач. Однако выбор между локальным и облачным агентом зависит от конкретных условий: бюджета, конфиденциальности кода и готовности возиться с инфраструктурой.

