Найти в Дзене

Тестирование локальных ИИ для разработки: итоги моего практического эксперимента

В мире локальных языковых моделей выбор подходящей для конкретной задачи — это половина успеха. В этой статье мы подробно разберем результаты тестирования девяти разных моделей на одной и той же практической задаче по разработке в Unity. Я поделюсь своим опытом, выводами и дам четкую рекомендацию, какую модель стоит выбрать для программирования. В эксперименте участвовали следующие модели, загруженные с Hugging Face: Тестирование проводилось на следующей конфигурации: Эта конфигурация хорошо подходит для запуска моделей среднего размера, так как 8 ГБ видеопамяти позволяют размещать модели в формате F16 и работать с ними на GPU для ускорения. Для чистоты эксперимента всем девяти моделям была поставлена одна и та же практическая задача: реализовать ограничение игрового поля и программную генерацию декоративных элементов (ромашек) в 2D-игре на движке Unity. Критерии оценки были следующими: Все модели тестировались с одинаковыми параметрами запуска через KoboldCpp. В ходе исследования мод
Оглавление

В мире локальных языковых моделей выбор подходящей для конкретной задачи — это половина успеха. В этой статье мы подробно разберем результаты тестирования девяти разных моделей на одной и той же практической задаче по разработке в Unity. Я поделюсь своим опытом, выводами и дам четкую рекомендацию, какую модель стоит выбрать для программирования.

📊 Исследуемые модели

В эксперименте участвовали следующие модели, загруженные с Hugging Face:

  • Qwen3-4B-CrystalSonic.f16.gguf
  • Qwen3-4B-CrystalSonic.Q8_0.gguf
  • Qwen2.5-3B-Instruct.f16.gguf
  • T-lite-it-1.0.i1-Q6_K.gguf
  • gemma-3-4b-it.i1-Q6_K.gguf
  • Phi-3.5-4B-instruct-sft.Q8_0.gguf
  • Phi-3.5-mini-instruct.Q8_0.gguf
  • Qwen2.5-Coder-3B-Instruct.f16.gguf
  • Qwen2.5-Coder-1.5B-Instruct.f16.gguf

🖥️ Характеристики тестового компьютера

Тестирование проводилось на следующей конфигурации:

  • Процессор: AMD Ryzen 5 3600
  • Видеокарта: AMD Radeon RX 590 (8 ГБ VRAM)
  • Оперативная память: 16 ГБ
  • Программное обеспечение: KoboldCpp с Vulkan backend

Эта конфигурация хорошо подходит для запуска моделей среднего размера, так как 8 ГБ видеопамяти позволяют размещать модели в формате F16 и работать с ними на GPU для ускорения.

🔬 Методология исследования

Для чистоты эксперимента всем девяти моделям была поставлена одна и та же практическая задача: реализовать ограничение игрового поля и программную генерацию декоративных элементов (ромашек) в 2D-игре на движке Unity.

Критерии оценки были следующими:

  1. Понимание контекста — насколько точно модель поняла задачу.
  2. Архитектурная грамотность — качество предложенного решения и разделения ответственности между компонентами.
  3. Практическая применимость — готовность кода к интеграции в реальный проект.
  4. Четкость объяснений — понятность и структурированность ответа.

Все модели тестировались с одинаковыми параметрами запуска через KoboldCpp.

📈 Результаты тестирования и выводы

В ходе исследования модели продемонстрировали совершенно разные уровни понимания задачи и качества предлагаемых решений.

Лидеры тестирования

Абсолютным победителем стала модель Qwen3-4B-CrystalSonic.f16.gguf. Она не просто предложила код, а глубоко проанализировала задачу, составила четкий план и предложила правильную архитектуру:

  • Отдельные скрипты для игрока, менеджера границ и генерации декораций
  • Использование синглтона для передачи данных между компонентами
  • Практически готовое к использованию решение

Второе место заняла Qwen3-4B-CrystalSonic.Q8_0.gguf — квантованная версия той же модели. Её решение было более лаконичным и использовало идиоматичный для Unity подход с Mathf.Clamp. Это отличный вариант, если важна максимальная скорость работы.

Средние результаты

Модель T-lite-it-1.0.i1-Q6_K.gguf показала рабочий, но слишком общий подход. Она правильно использовала ScreenToWorldPoint для определения границ, но не адаптировала решение к конкретным файлам проекта и не предложила оптимальной архитектуры.

Аутсайдеры

К сожалению, несколько моделей продемонстрировали полное непонимание задачи:

  • Qwen2.5-3B-Instruct.f16.gguf спутала игровые объекты с UI-элементами
  • Phi-3.5-4B-instruct-sft.Q8_0.gguf решила, что задача связана с веб-разработкой, и предложила решение на HTML/CSS
  • Qwen2.5-Coder-1.5B-Instruct.f16.gguf предложила устаревший подход с использованием OnGUI()

Особого внимания заслуживает модель gemma-3-4b-it.i1-Q6_K.gguf, которая допустила концептуальную ошибу, пытаясь решить задачу через изменение разрешения экрана вместо ограничения движения объектов в игровом мире.

🏆 Итоговые рекомендации

На основании проведенного исследования можно сделать следующие выводы:

  1. Для серьезной разработки выбирайте модели семейства Qwen3 — они показали наилучшее понимание архитектурных задач и выдают практически готовые решения.
  2. Основной выбор — Qwen3-4B-CrystalSonic.f16.gguf. При наличии 8 ГБ VRAM эта модель отлично помещается в память видеокарты и работает с хорошей скоростью, предоставляя при этом наиболее качественные и продуманные решения.
  3. Альтернатива для скорости — Qwen3-4B-CrystalSonic.Q8_0.gguf. Если вы готовы пожертвовать небольшой точностью ради увеличения скорости ответов, эта квантованная версия станет отличным выбором.
  4. Избегайте маленьких моделей (1.5B-3B параметров) для задач программирования — они часто не справляются с пониманием контекста и предлагают некорректные решения.
  5. Всегда проверяйте предложения модели — даже лучшие ИИ могут допускать ошибки, поэтому критическое осмысление их ответов обязательно.

Для задач разработки на Unity, а также для работы с PHP/Битрикс, Qwen3-4B-CrystalSonic.f16.gguf является оптимальным выбором, сочетая глубокое понимание контекста, архитектурную грамотность и практическую применимость предлагаемых решений.

Статья создана с использованием возможностей искусственного интеллекта на основе личного практического опыта тестирования.