# Локальные модели для программирования: выбор по задаче и железу

Источник: https://modelium.tech/zhurnal/lokalnye-modeli-dlya-programmirovaniya/

Для локального кодинга начните с конкретной задачи: исправить ошибку, объяснить функцию или подготовить патч. Qwen2.5-Coder-1.5B-Instruct, 7B-Instruct и Qwen3-Coder-30B-A3B-Instruct дают три разных масштаба пилота; не выбирайте их по одному числу параметров. Запустите совместимый тег в Ollama, проверьте фактическое размещение и принимайте код только после ревью и тестов на своём проекте.

**Проверено 1 октября 2026 года:** три карточки Qwen закреплены на ревизиях `2e1fd397`, `c03e6d35` и `b2cff646`. Теги Ollama и её документация проверены на дату чтения; Modelium не запускал модели и не измерял их качество. [s1](#src-s1) [s2](#src-s2) [s3](#src-s3) [s4](#src-s4) [s5](#src-s5)

## Какую именно задачу решает локальная модель для кода?

Вход пилота — небольшой разрешённый репозиторий, описание одной ошибки, существующий тест и ограничение «менять только указанный файл». Выход — предложенный патч и объяснение, какие строки изменены; подтверждение результата даёт **не ответ модели**, а просмотр diff и прохождение теста. Не давайте модели доступ к секретам, производственным данным и записи в основной репозиторий. Это протокол проверки, предложенный редакцией, а не проведённый нами эксперимент.

Различайте три сценария: объяснить или дополнить функцию, исправить воспроизводимую ошибку, выполнить агентную последовательность с инструментами. Третья задача требует отдельной настройки доступа и контроля действий: одна удачная генерация текста не доказывает работоспособность coding-agent. Путь агентного подключения описан [отдельно](/zhurnal/lokalnyy-koding-agent-cherez-ollama/).

## Как выбирать между 1.5B, 7B и 30B?

**Для первого прогона на ограниченном устройстве** начните с `Qwen2.5-Coder-1.5B-Instruct`: по карточке это instruction-tuned checkpoint с 1.54 млрд параметров и контекстом 32768 токенов. В библиотеке Ollama есть тег `qwen2.5-coder:1.5b` и артефакт около 986 МБ. Размер артефакта — объём загрузки, **не** минимум оперативной памяти или VRAM; не обещайте качество на сложном исправлении только потому, что файл помещается на диск. [s1](#src-s1) [s4](#src-s4)

**Для сопоставления с компактным вариантом** используйте `Qwen2.5-Coder-7B-Instruct`: авторская карточка указывает 7.61 млрд параметров, а Ollama предлагает `qwen2.5-coder:7b` с файлом около 4.7 ГБ. Карточка одновременно заявляет поддержку до 131072 токенов и уточняет, что текущий `config.json` настроен на 32768; длинный ввод сверх этого требует отдельной конфигурации YaRN. Не переносите рекламируемый максимум на конкретный тег Ollama без проверки его конфигурации и свободной памяти. [s2](#src-s2) [s4](#src-s4) [s8](#src-s8)

**Для отдельного теста более крупной MoE-модели** рассмотрите `Qwen3-Coder-30B-A3B-Instruct`: 30.5 млрд параметров всего, 3.3 млрд активных и нативный контекст 262144 по карточке автора. Ollama публикует локальный тег `qwen3-coder:30b` и файл около 19 ГБ. Число активных параметров не означает, что на устройстве нужно разместить только их; размер файла опять же не доказывает достаточность RAM/VRAM. Автор характеризует агентные способности как высокие, но это **заявление Qwen**, а не тест Modelium и не гарантированный результат на вашем коде. [s3](#src-s3) [s5](#src-s5)

Карточки трёх *конкретных* checkpoints отмечают Apache-2.0; проверяйте текст лицензии выбранного веса и зависимостей для своего сценария отдельно. Метка лицензии не означает автоматически, что иной GGUF, код проекта и загруженный из другого каталога файл имеют одинаковые условия. [s1](#src-s1) [s2](#src-s2) [s3](#src-s3)

## Как собрать один проверяемый локальный coding-стек?

Если [Ollama уже установлена](/zapusk/ollama/), команда каталога `ollama run qwen2.5-coder:1.5b` получает конкретный тег и открывает диалог. Для второго прогона на том же тесте используйте `ollama run qwen2.5-coder:7b`; для более крупного варианта — `ollama run qwen3-coder:30b`, но сначала убедитесь, что доступные ресурсы подходят вашей конфигурации. Первое обращение к отсутствующему тегу скачивает веса: это **не** офлайн-шаг. Не запускайте все три модели ради «рейтинга», если задача решается первым кандидатом. [s4](#src-s4) [s5](#src-s5)

Передавайте одинаковое описание ошибки, одинаковый минимальный фрагмент кода и ожидаемое поведение; сохраняйте точный тег, настройки и ответ. Ollama Chat API принимает массив `messages` и параметр `stream`; если вам нужен машинно-обрабатываемый конечный ответ для тестового клиента, задавайте `stream: false` и проверяйте поле ответа, а не считайте частичный поток законченным патчем. Документированное локальное API не предоставляет модели права самостоятельно править репозиторий: это отдельное решение о подключении инструмента и разрешениях. [s6](#src-s6)

После запроса посмотрите `ollama ps` или `/api/ps`: API возвращает загруженные модели и `size_vram`. Сверьте наблюдаемое размещение с вашим устройством и задержкой, а при длинном вводе отдельно контролируйте настройки контекста: его увеличение повышает потребность в памяти. Если модель не влезает или ответ слишком медленный, уменьшите ввод/контекст либо вернитесь к меньшему кандидату; не объявляйте формулу «размер файла = минимум VRAM». Подробнее — [проверка видеокарты](/zhurnal/videokarta-dlya-llm/) и [контекста Ollama](/zhurnal/ollama-kontekst-dlya-agenta/). [s7](#src-s7) [s8](#src-s8)

## Как принимать результат и что пока не известно?

Сохраните исходный failing test, diff предложенного исправления и результат повторного запуска в изолированной копии проекта. Сверяйте не только зелёный тест, но и побочные изменения, границы доступа, обработку ошибочного ввода и соответствие исходной задаче. Если теста нет, сначала сформулируйте проверяемый вход/ожидаемый выход и передайте патч человеку на ревью. Это редакционный протокол; ни один из трёх кандидатов Modelium в рамках материала не запускал.

Нельзя заранее назвать «лучшую» модель по числу параметров, авторскому benchmark или размеру загружаемого файла: качество, задержка, память и пригодность русского запроса остаются не измеренными на вашем проекте. Основной следующий шаг после выбора и проверки модели — [открыть отдельный гайд coding-agent с Ollama](/zhurnal/lokalnyy-koding-agent-cherez-ollama/) и только затем разрешать инструментальные действия в тестовом репозитории. [s1](#src-s1) [s2](#src-s2) [s3](#src-s3)

## Источники

1. [Qwen — Qwen2.5-Coder-1.5B-Instruct, закреплённая карточка](https://huggingface.co/Qwen/Qwen2.5-Coder-1.5B-Instruct/blob/2e1fd397ee46e1388853d2af2c993145b0f1098a/README.md) — получено 2026-10-01
2. [Qwen — Qwen2.5-Coder-7B-Instruct, закреплённая карточка](https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct/blob/c03e6d358207e414f1eca0bb1891e29f1db0e242/README.md) — получено 2026-10-01
3. [Qwen — Qwen3-Coder-30B-A3B-Instruct, закреплённая карточка](https://huggingface.co/Qwen/Qwen3-Coder-30B-A3B-Instruct/blob/b2cff646eb4bb1d68355c01b18ae02e7cf42d120/README.md) — получено 2026-10-01
4. [Ollama — библиотека qwen2.5-coder, теги и размеры файлов](https://ollama.com/library/qwen2.5-coder) — получено 2026-10-01
5. [Ollama — библиотека qwen3-coder, локальный тег 30b](https://ollama.com/library/qwen3-coder) — получено 2026-10-01
6. [Ollama — Chat API, параметры запроса и потоковый ответ](https://docs.ollama.com/api/chat) — получено 2026-10-01
7. [Ollama — List running models (/api/ps)](https://docs.ollama.com/api/ps) — получено 2026-10-01
8. [Ollama — Context length и память при длинном вводе](https://docs.ollama.com/context-length) — получено 2026-10-01
