Оффлайн агент IDE Continue за 15 минут
Я расскажу, как реализовать локального LLM, который будет генерировать текст, код, тесты и сам вставлять результат прямо в ваш проект, если это требуется.
⚠️ Важно: это не полноценный «агент» в современном понимании (с планированием, памятью и т.д.). Но плагин Continue именно так его называет, и я буду придерживаться этой терминологии.
Конечно, возможности локального ИИ напрямую зависят от вашего железа. Чем мощнее машина — тем больше контекст и лучше качество. Но подобрать модель можно практически под любой ПК, просто она будет иметь меньше памяти, токенов и более скромные возможности.
Давайте сразу договоримся: никаких «это только для избранных» — я покажу, как всё настроить, а вы уже подберёте модель под свои ресурсы.
Подписывайся на наши соц сети:
Что потребуется
- Ollama (или LM Studio — настройка LM Studio описана в моей предыдущей статье).
- IntelliJ IDEA (Community или Ultimate — без разницы).
- Плагин Continue для IDE.
По сути — всё. Теперь пройдёмся по каждому пункту подробно.
Шаг 1: Установка Ollama
- Скачайте установщик с официального сайта.
- Запустите и установите (все настройки по умолчанию — подойдут).
Проверка установки
- Нажмите
Win + R, введитеpowershell, нажмите Enter. - В открывшемся окне выполните:
ollama --version
Если показана версия — Ollama установлена успешно.
Шаг 2: Загрузка моделей
Нам понадобятся две модели:
- Генеративная LLM (будет писать код и отвечать на вопросы).
- Embedding-модель (будет индексировать ваш проект, разбивать на чанки и позволит искать контекст).
Embedding-модель нужна для функции Index — она делает код проекта доступным для поиска по смыслу.
Вводим в PowerShell следующие команды (по очереди):
ollama pull nomic-embed-text:latest
ollama pull qwen3-coder:30b
Пример из жизни автора: на скриншоте в оригинале использовался qwen2.5-coder:14b, потому что 30b уже была скачана.
Системные требования (пример автора)
- 32 ГБ DDR5
- Intel 12900K
- NVIDIA RTX 4090 24 ГБ
Если у вас скромнее — выбирайте модель поменьше, например:
qwen2.5-coder:7bcodellama:13bdeepseek-coder:6.7b
После загрузки модель автоматически запустится в интерактивном режиме (вы попадёте в чат с LLM).
Чтобы выйти, введите /exit.
Проверьте, что обе модели загружены:
ollama list
Вы должны увидеть nomic-embed-text и выбранную вами coder-модель.
Теперь PowerShell можно закрыть.
Шаг 3: Установка IntelliJ IDEA и плагина Continue
3.1. Установка IDE
Если IntelliJ IDEA ещё не установлена — скачайте с официального сайта и установите. Любая версия подойдёт.
3.2. Установка плагина Continue
Способ 1 (через Marketplace)File → Settings → Plugins → Marketplace → найти Continue → установить.
Способ 2 (вручную, если Marketplace недоступен)
- Скачайте последнюю версию плагина (файл
.jar) с официального релиза. - В IDE:
Settings → Plugins → ⚙️ → Install plugin from disk…→ выберите.jar-файл. - Перезапустите IDE.
После успешной установки в правом верхнем углу появится иконка виджета Continue.
Шаг 4: Настройка config.yaml
Это самый ответственный этап. Откройте конфигурационный файл Continue:
- В виджете Continue нажмите на шестерёнку →
config.yaml. - Скопируйте туда содержимое ниже, адаптировав под свои модели (замените
qwen3-coder:30bна ту модель, которую скачали).
name: Qwen Big Context Config
version: 1.0.0
schema: v1
models:
- name: qwen3-coder
provider: ollama
model: qwen3-coder:30b # замените на вашу модель
roles:
- chat
- edit
- apply
defaultCompletionOptions:
contextLength: 80000 # размер контекста (чем больше, тем тяжелее для GPU)
maxTokens: 8192 # максимальная длина ответа
temperature: 0.2 # 0.0–0.5 — низкая креативность, 0.7+ — высокая
- name: nomic-embed # embedding-модель
provider: ollama
model: nomic-embed-text
roles:
- embed
embedOptions:
maxChunkSize: 500 # размер одного чанка (у меня 700 выдавал ошибки)
chunkOverlap: 50 # перекрытие между соседними чанками
maxBatchSize: 16 # чанков за один пакет
retrieval:
maxChunks: 40 # сколько чанков извлекать из индекса по запросу
context:
- provider: code
- provider: file
- provider: diff
- provider: terminal
- provider: problems
# Дополнительные правила (можно дописать свои)
rules:
- Всегда сначала ищи код в workspace
- Используй несколько файлов для анализа
- При рефакторинге сохраняй структуру проекта
- Не придумывай код, если он не найден
💡 Пояснение параметров
contextLength— максимальная длина контекста (токенов). У каждой модели есть свой потолок; слишком большое значение вызовет ошибку.temperature— при 0.2 модель будет довольно «серьёзной», почти без выдумок.chunkOverlap— помогает не терять смысл на границах чанков.
После редактирования сохраните файл.
Шаг 5: Индексация проекта и первый запуск
5.1. Перезапустите IDE с очисткой кеша
File → Invalidate Caches... → Invalidate and Restart
5.2. Запустите индексацию проекта
В виджете Continue нажмите Index → Click to re-index.
Если возникли ошибки, полностью удалите папки index и logs из директории:C:\Users\<Ваше_имя_пользователя>\.continueПосле этого Continue сам пересоздаст их при повторной попытке.
5.3. Переключите режим с «Chat» на «Agent»
В виджете найдите переключатель внизу (или в выпадающем меню) и выберите Agent вместо Chat.
В режиме Agent Continue может сам применять изменения к файлам (создавать, редактировать, удалять). Для этого используется кнопка Apply.
Пример работы: генерация сортировки пузырьком
- Откройте файл, в который хотите вставить код (или создайте новый).
- В чате Continue напишите:
text
Реализуй в классе @Ваш класс пузырьковый метод сортировки. Просто добавь его без анализа.
Чтобы привязать конкретный файл (или несколько), используйте @ и выберите нужные файлы из подсказок. Например:@src/main/java/MyClass.java
- Модель сгенерирует ответ. Если вас устраивает код, нажмите Apply — IDE сама вставит код в указанные файлы и подсветит изменения.
Заключение
Теперь у вас есть локальный LLM, который:
- видит весь ваш проект (благодаря эмбеддингам и индексации),
- может писать тесты, рефакторить код, отвечать на вопросы по кодовой базе,
- сам вставляет код в нужные файлы (одним кликом).
Конечно, это не замена облачным гигантам вроде GPT-4 или Claude. Но это идеальное решение, если:
- вы работаете с закрытым кодом и не можете отправлять его в облако,
- у вас нет доступа к интернету,
- вы просто любите экспериментировать с локальными моделями.
Успешной кодировки!
