Локальный AI-кодинг-агент на Gemma 4 и OpenCode: настройка за 15 минут | AiManual
AiManual Logo Ai / Manual.
23 Июн 2026 Гайд

Локальный AI-кодинг-агент на Gemma 4 и OpenCode: пошаговая настройка

Пошаговый гайд по развертыванию приватного AI-ассистента для кода на Gemma 4, OpenCode и Ollama. Защитите свой код, экономьте на API — всё инструкции внутри.

Реклама
partv1

Мой код не должен покидать мой комп

Сколько раз вы ловили себя на мысли, что отправляете коммерческую кодовую базу в ChatGPT или Copilot, а потом нервно жмете F5 проверяя, не появилось ли в логах утечки? А если вы фрилансер или работаете с NDA, то каждый промпт с приватным кодом — это игра в русскую рулетку. Я сам однажды случайно вставил в чат строку подключения к продакшн-базе. Хорошо, заметил вовремя, но осадочек остался.

С 2026 года вариантов стало больше. Google выпустила Gemma 4 — модель, которая на малом размере (12B параметров!) почти не уступает большим моделям в задачах код-генерации. А фреймворк OpenCode (релиз 2.5.1 в мае 2026) превращает любую локальную LLM в полноценного агента с tool calling, файловым контекстом и памятью. И главное — ваш код остается на вашем SSD.

В этой статье я шаг за шагом соберу локального coding agent на связке Ollama + Gemma 4 + OpenCode. Заодно разберу, где подводные камни и почему я все равно держу под рукой Qwen3 Coder для сложных запросов.

💡
Перед началом: вам понадобится машина с видеокартой от 8 ГБ VRAM (для квантованной версии GGUF) или 16 ГБ оперативки, если планируете запускать на CPU.

Почему не Copilot? Проблема конфиденциальности и денег

Давайте честно: платить $20 в месяц за GitHub Copilot или $10 за ChatGPT Plus — это еще полбеды. Беда — когда вы отправляете в облако куски завтрашнего IPO-стартапа. Корпоративные клиенты, банки, медицинские софты — они давно требуют локальных решений. А еще есть расходы API: каждый запрос к GPT-4o стоит копейку, но если агенту нужно 20 вызовов для рефакторинга, набегает прилично.

Локальный agent на Gemma 4 решает обе проблемы разом. Модель бесплатна, код не уходит за периметр, а скорость генерации на RTX 4090 — около 40 токенов/с. Не хватает только удобной обвязки. OpenCode эту обвязку дает: он умеет читать файлы проекта, запускать команды, редактировать код и даже делать commit.

⚠️ Важное предупреждение: Gemma 4 (даже последняя версия) имеет проблемы с tool calling — модель часто путает имена функций или галлюцинирует аргументы. В OpenCode это частично исправляется системным промптом, но если увидите странные вызовы — знайте, это болезнь модели, а не ваша кривая настройка.

Что мы собираем

  • Ollama 0.6.3 (последняя стабильная) — раннер для LLM, умеет скачивать и оптимизировать модели.
  • Gemma 4 12B (Instruct, Q4_K_M) — самая свежая версия на июнь 2026, доступна через ollama pull gemma4:12b-instruct-q4_K_M.
  • OpenCode 2.5.1 — Python-библиотека для автономных coding agents. Ставится через pip.
  • Дополнительно (опционально): Node.js 22, если хотите использовать встроенный терминал OpenCode.

Пошаговая настройка

1Установка Ollama

Если у вас Windows — качаете установщик с официального сайта (ollama.com). Для Linux — одна команда:

curl -fsSL https://ollama.com/install.sh | sh

После установки проверяем:

ollama --version

Должно показать 0.6.3 или новее. Если Ollama не запускается как сервис (особенно на Windows), проверьте, что порт 11434 свободен и не заблокирован брандмауэром.

2Загрузка Gemma 4

Теперь тянем модель. Я рекомендую 4-битную квантованную версию — она умещается в 8 ГБ VRAM:

ollama pull gemma4:12b-instruct-q4_K_M

Ждем, пока скачается ~7 ГБ. Если у вас карта с 24+ ГБ, можно взять полную 16-битную версию gemma4:12b-instruct — она точнее, но жрет больше памяти.

Проверяем, что модель отвечает: ollama run gemma4:12b-instruct-q4_K_M и пишем "Hello, write a Python function to reverse a string". Если видите текст — всё ок.

3Установка OpenCode

OpenCode ставится как обычный Python-пакет. Желательно создать отдельное виртуальное окружение:

python -m venv opencode-env
source opencode-env/bin/activate  # На Windows: opencode-env\Scripts\activate
pip install opencode

После установки проверяем:

opencode --version

Должна выскочить версия 2.5.1.

4Конфигурация агента

Создаем файл config.yaml в папке проекта:

model:
  provider: ollama
  name: gemma4:12b-instruct-q4_K_M
  endpoint: http://localhost:11434
  temperature: 0.2
tools:
  - read_file
  - write_file
  - run_terminal
  - git_commit
max_iterations: 20
system_prompt: "You are an expert software engineer. Generate high-quality, idiomatic code."

Параметр temperature: 0.2 я выбрал не случайно. Gemma 4 при нулевой температуре часто зацикливается, а при высокой — галлюцинирует. 0.2 — золотая середина.

5Запуск первого задания

Создаем скрипт agent.py:

from opencode import Agent

agent = Agent(config_path="config.yaml")
agent.run("Создай простое FastAPI приложение с одним эндпоинтом /health")

Запускаем:

python agent.py

Через несколько секунд агент начнет создавать файл main.py, запустит его через терминал и даже сделает git commit. Если в проекте ничего не меняется, проверьте, что Git инициализирован.

Совет: перед запуском агента откройте отдельный терминал и выполните ollama serve, если сервис не работает в фоне. Иначе получите Connection refused.

Нюансы и типичные ошибки

Проблемы с tool calling у Gemma 4

Как я уже упоминал, tool calling в Gemma 4 — больное место. OpenCode частично обходит это через специальный промпт-инжектинг, но иногда агент вместо вызова write_file начинает писать код текстом в ответе. Решение: добавьте в system_prompt жесткую инструкцию:

system_prompt: "You MUST use the provided tools to perform file operations. Never output code in plain text."

Или используйте гибридную схему: пусть Gemma 4 генерирует план, а за исполнение отвечает второй агент на Qwen3 Coder. Про такой подход я писал в статье Как настроить стек локальных LLM-агентов.

Не хватает памяти

Если Ollama вылетает с ошибкой CUDA out of memory, попробуйте более агрессивное квантование: gemma4:12b-instruct-q3_K_S. Да, качество чуть хуже, но для тестов пойдет. Или переключитесь на CPU-режим (медленно, но стабильно).

Агент не видит файлы проекта

По умолчанию OpenCode работает в директории, откуда запущен скрипт. Если вы хотите, чтобы он видел соседние папки, передайте путь:

agent = Agent(config_path="config.yaml", workspace="/path/to/project")

Медленная генерация на CPU

Если у вас нет GPU, OpenCode можно интегрировать с LocalAI, который умеет распределять нагрузку на CPU через llama.cpp. Но будьте готовы, что один запрос будет обрабатываться минуту.

FAQ: ответы на главные вопросы

Можно ли использовать Gemma 4 с другими фреймворками, кроме OpenCode?

Да, Gemma 4 работает с любым OpenAI-совместимым API. Подключите её к LangChain, AutoGPT или даже к старому доброму llama.cpp. Но OpenCode дает максимально удобный интерфейс именно для кодинг-агентов с инструментами.

Какие альтернативы Gemma 4 для кода?

Лучшая альтернатива — Qwen3 Coder Next (32B, hybrid attention). Он точнее в tool calling, но требует 24 ГБ VRAM. Для слабых машин есть PocketCoder — легковесный агент на базе CodeLlama 7B.

Безопасно ли устанавливать OpenCode из pip?

OpenCode — open-source проект с открытой лицензией Apache 2.0. Код на GitHub, я проверял зависимости — никаких сюрпризов. Но всегда используйте виртуальное окружение.

Итоговый боевой чек-лист

  • Установили Ollama, подняли сервер.
  • Скачали Gemma 4 12B Q4_K_M (проверили ответ через ollama run).
  • Установили OpenCode в venv.
  • Настроили config.yaml с температурой 0.2 и жесткими tool constraints.
  • Создали Python-скрипт для запуска агента.
  • Протестировали на простой задаче (создание FastAPI).
  • Если tool calling глючит — добавили усиленный промпт или переключились на гибрид с Qwen3 Coder.

Теперь у вас есть полностью локальный coding agent, который не отправит ни строчки вашего кода на сервера Google или OpenAI. Да, он не такой умный, как GPT-4o, но для написания рутинных функций, рефакторинга и создания миграций — самое то. А через пару месяцев выйдет Gemma 4.5, и возможно, там исправят tool calling. Тогда будет совсем хорошо.

Пока можно сделать так: пусть Gemma 4 генерирует идеи и каркасы, а Qwen3 Coder — реализует сложные куски. Как настроить такой pipeline — читайте в моем гайде Полностью локальный AI-агент без телеметрии.

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