Локальный ИИ-помощник по программированию с Ollama

В этой главе настраивается специализированная локальная модель для программирования example-coder и подключается к VS Code и Claude Code, создавая полностью офлайн-ассистента для программирования, не требующего токенов.

Основная работа включает три вещи: выбор подходящей модели для кода, написание надёжного Modelfile для программирования и интеграция её в удобный инструмент.


Шаг 1: Выбор модели для кода — VRAM решает

Модели для кода демонстрируют более заметные различия в возможностях, чем чат-модели, но и порог входа выше. Выбирайте в соответствии с вашей VRAM:

Ваше оборудованиеРекомендуемая модельОжидаемая производительность
24GB+ VRAMqwen3-coderСпециализированные модели для кода обеспечивают наилучшее понимание в рамках нескольких файлов; параметры уровня 30B требуют большого объёма VRAM, а длинные контексты — ещё большего запаса.
16GB RAM без дискретного GPUqwen3.5:9b, кастомная версияДостаточно для повседневного автодополнения, объяснения кода и написания модульных тестов
Старый компьютер с 8GB RAMqwen3.5:4b / 0.8b, кастомная версияЛёгкие вопросы и ответы; сложные задачи оставьте облаку

Если вашего объёма VRAM недостаточно для запуска qwen3-coder, не стоит сожалеть: используйте тег :cloud, чтобы напрямую вызвать облачную версию. Командам с чувствительным кодом следует сначала провести проверку на соответствие требованиям.

Выполните pull в соответствии с вашим оборудованием:

ollama pull qwen3-coder        # 24GB+ 显存
ollama pull qwen3.5:9b         # 16GB 内存

Шаг 2: Напишите Modelfile для сценариев программирования

Базовая модель умеет писать код, но она не «профессиональна»: нет комментариев, легко уходит от темы и неаккуратное форматирование. Используйте Modelfile, чтобы закрепить стандарты кодирования:

Пример

# Путь к файлу: Modelfile
# Если у вас 24GB+ VRAM, замените базовую модель на qwen3-coder
FROM qwen3.5:9b

СИСТЕМА """
Вы — ассистент по программированию команды EXAMPLE. Следуйте этим правилам:
1. Предпочитайте полный, непосредственно запускаемый код фрагментам
2. Пишите комментарии на китайском для каждого ключевого шага, объясняя
"почему""
3. Следуйте PEP 8 (Python) или официальному стилю языка
4. Когда задействованы незнакомые API, напоминайте сверяться с официальной документацией; не выдумывайте интерфейсы
5. Структура ответа: идея одним предложением — код — примечания
"
""

# Для сценариев с кодом сохраняйте стабильность; уменьшите случайность
PARAMETER temperature 0.2

# Сценарии Agent/редактора имеют большой контекст кода; обеспечьте достаточное окно
PARAMETER num_ctx 65536

Соберите свою специализированную модель для программирования:

ollama create example-coder -f Modelfile

Чтобы проверить, была ли она "правильно настроена", протестируйте её на трёх стандартных задачах: сделайте функцию сразу пригодной к использованию (проверка полноты), объясните фрагмент устаревшего кода с подводными камнями (проверка понимания) и попросите её написать модульные тесты (проверка соответствия стандартам). Подключайте её к редактору только после того, как все три будут пройдены.

num_ctx 65536 предназначен для сценариев редактора и Agent: в них в контекст помещается целый файл или даже несколько файлов. При нехватке VRAM уменьшите его до 32768 и с помощью ollama ps проверьте, по-прежнему ли PROCESSOR использует 100% GPU.


Шаг 3: Подключите его к вашему редактору

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

编码助手三层结构:工具层、协议层、模型层

Интеграция с чатом VS Code

После установки официального расширения Ollama выберите example-coder в селекторе модели чата. Никакой другой настройки не требуется.

Интеграция Claude Code

Пример

# Способ в один клик
ollama launch claude --model example-coder

# Ручной способ: укажите в переменных окружения локальный адрес и используйте имя пользовательской модели
export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_BASE_URL=http://localhost:11434
claude --model example-coder

После интеграции возможности Claude Code по редактированию файлов, выполнению команд и многораундовому рефакторингу обеспечиваются локальной моделью. Перед запуском длительных задач не забудьте проверить, что контекстное окно настроено так, как описано выше.


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

Для разных задач следует использовать модели разных размеров. Закрепите стратегию выбора, чтобы не спорить каждый раз:

Тип задачиРекомендуемая модельПричина
Автодополнение функций, объяснение кода, написание модульных тестовexample-coder (локальный)Быстрый, бесплатный, приватный
Межфайловый рефакторинг, сложная отладкаqwen3-coder или облачный флагманТребует более сильного понимания длинного контекста
Пакетная генерация, скриптовая обработкаЛокальная небольшая модель + APIБольшой объём при нулевой стоимости

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

Пример

# В терминальном чате переключайте модели напрямую, не выходя
/load qwen3-coder

# В VS Code просто нажмите на селектор модели
# Укажите с помощью --model при запуске Claude Code

Практичная комбинированная стратегия: позвольте локальной небольшой модели обрабатывать 90% повседневных запросов, а переключайтесь на большую модель или облачную модель только при столкновении с действительно сложными задачами. Сосуществование нескольких тегов в Ollama делает эту «многоуровневую» стратегию полностью свободной от затрат на переключение.

Другие расширения