Перейти к содержанию
modelium.
Начать с задачи
←
Абстрактная композиция: тонкие волокна у фактурного края в оливковых тонах.

Локальный coding-agent через Ollama: как подключить и проверить правку кода

Локальный coding-agent — это не одна модель: Ollama обслуживает модель на вашей машине, а кодовый клиент Aider предлагает и применяет правки файлов. Для первого опыта подключите Aider к локальному адресу Ollama, работайте в отдельном чистом Git-репозитории и проверьте изменение через `git diff` и тест. Наличие ответа в чате ещё не означает, что файл исправлен; модель должна поместиться на вашем устройстве, а доступ к коду и командам нужно контролировать.

Проверено по документации 25 сентября 2026 года, не на собственном устройстве Modelium. Команды ниже предназначены для вашего изолированного теста. Частотность «coding agent ollama» не измерена. Модель и Aider не запускались, веса не скачивались; результаты работы агента не обещаются.

Что делает локальный coding-agent, а что — Ollama?

Ollama — сервер модели, Aider — клиент, который получает ответ и может редактировать файлы в вашем проекте. Aider документирует соединение с локальной Ollama через ollama_chat/<model> и переменную OLLAMA_API_BASE; одна только установленная Ollama ничего не меняет в исходном коде s1. У Ollama есть и облачные маршруты: локальный http://localhost:11434/api отличается от прямого https://ollama.com/api, а локальные запросы не требуют API-ключа. Не называйте облачный вызов локальным только потому, что он запускается из терминала s3.

Этот пример решает одну задачу: исправить ошибку в учебной функции, увидеть изменённые строки и получить успешный тест. Это не измерение качества модели, скорости и безопасности вашей кодовой базы. Если нужна архитектура агента для других инструментов, откройте общий гайд; если нужен протокол вызова внешних функций, он описан отдельно. Aider по своей документации может запускать тесты и показывать diff в Git, поэтому здесь проверяется именно правка, а не красивый ответ в чате s6s7.

Что подготовить: модель, железо и чистый проект?

Для конкретного примера в библиотеке Ollama есть локальный тег qwen3-coder:30b; страница модели показывает файл около 19 GB. Это размер весового файла, а не заявленный минимум RAM, VRAM или единственный подходящий объём диска: рабочая память зависит также от контекста и размещения модели. Если этот вариант не подходит вашему железу, сначала выберите другой доступный локальный тег и проверьте его совместимость; не подменяйте тег облачным вариантом и не обещайте одинакового качества разных моделей s5s4s3. Размер файла не является оценкой количества памяти для Aider вместе с моделью.

Понадобятся Ollama, совместимый Python для выбранного способа установки Aider и отдельный Git-репозиторий без секретов, рабочих клиентов и реальных данных. Aider предлагает установку через aider-install для Python 3.8–3.13; это не утверждение о поддержке Python 3.14. Установочный скрипт через curl | sh на той же странице есть, но не исполняйте полученный из сети код без просмотра и согласования в вашей среде s2. Для Ollama начните с инструкции по установке и API. Ни Ollama, ни Aider в рамках этой статьи не установлены Modelium.

Создайте отдельный маленький репозиторий и проверьте git status до старта клиента. Это важно: по документации Aider может автоматически создать коммит со своей правкой и даже предварительно закоммитить уже изменённые файлы; ниже для учебного теста мы отключаем оба автоматических действия. Отдельная ветка и отсутствие незакоммиченных рабочих правок уменьшают риск, но перед любой командой с доступом к коду остаётся нужен собственный просмотр s6.

Как запустить локальную модель и убедиться, что адрес верный?

Первый терминал: убедитесь, что локальная Ollama уже работает; если нет, запустите её по инструкции для вашей ОС. Отдельная команда ollama serve нужна только если сервер ещё не запущен. Официальный пример Aider показывает явный запуск сервера и изменение контекста через переменную окружения; в обычной установке один адрес может быть уже занят действующим процессом s1. Затем после проверки свободного места и модели загрузите выбранный тег (это сетевое скачивание весов, не бесплатная по ресурсам проверка) s1s5:

ollama pull qwen3-coder:30b
ollama list
curl -fsS http://127.0.0.1:11434/api/tags

Проверьте, что список действительно содержит нужный тег, а curl отвечает от 127.0.0.1, не от чужого удалённого сервера. По документации локальный API использует порт 11434; наличие модели в списке означает, что файл скачан, но не доказывает, что достаточно памяти для генерации или что клиент изменит файлы s3s1. Если тег велик для вашей машины, замените во всех дальнейших командах имя модели одним и тем же проверенным локальным тегом; не считайте 19 GB минимумом оперативной памяти s5s4.

Как установить Aider и подключить его к Ollama?

Для поддерживаемого способа установки Aider документирует две команды. Перед установкой стороннего кода примените правила вашей среды; если Python вне заявленного диапазона, выберите другой официальный путь и проверьте его отдельно s2:

python -m pip install aider-install
aider-install

В том же терминале, где будете запускать Aider, задайте именно локальный endpoint. Для Windows у Aider приведён другой способ установки переменной (setx) с повторным открытием оболочки; строки ниже относятся к Unix-подобной shell s1:

export OLLAMA_API_BASE=http://127.0.0.1:11434
cd /путь/к/чистому/учебному-репозиторию
git status --short
aider --model ollama_chat/qwen3-coder:30b --no-auto-commits --no-dirty-commits

ollama_chat/ предпочтителен в инструкции Aider перед ollama/; имя после слеша должно совпадать с загруженным локальным тегом. Отключение автокоммитов оставляет проверку изменений вам; запишите исходный чистый git status, а не полагайтесь на подтверждение модели s1s6. Если у вас другой тег, замените qwen3-coder:30b на него и не переносите автоматически заявленные возможности Qwen3-Coder на выбранный вариант s5s8.

Как провести минимальный тест правки, а не просто чат?

В своём учебном Git-репозитории создайте до запуска клиента файл calc.py с ошибкой и тест, который требует add(2, 3) == 5. Например, в пустой директории на Unix-подобной системе (Python 3 и Git должны быть установлены) s6s7:

mkdir coding-agent-smoke && cd coding-agent-smoke
git init
python3 - <<'PY'
from pathlib import Path
Path('calc.py').write_text('def add(a, b):\n return a - b\n')
Path('test_calc.py').write_text('''import unittest
from calc import add

class TestAdd(unittest.TestCase):
def test_positive(self):
self.assertEqual(add(2, 3), 5)
def test_negative(self):
self.assertEqual(add(-2, 2), 0)
''')
PY
python3 -m unittest -q # ожидаемый исходный красный тест
git add calc.py test_calc.py
git commit -m 'Create isolated broken addition example'
git status --short

Исходный тест должен провалиться до работы агента. Если git commit требует настроить имя и адрес автора, задайте их локально для учебного репозитория согласно правилам вашей среды; только после успешного коммита и пустого git status --short запускайте Aider из этой директории с теми же параметрами, что выше. Не копируйте этот сценарий в репозиторий с доступом к продакшену. Aider рассчитан на Git и поддерживает показ diff и запуск тестовой команды из чата s6s7.

Попросите агента: «Исправь только calc.py, чтобы тест add(2, 3) == 5 проходил. Не меняй тест и другие файлы; объясни изменение». Затем в диалоге Aider можно выполнить /diff и /test python -m unittest -q; документация указывает, что /test запускает команду, а при ошибке может передать её модели для исправления. Убедитесь, что тесты в этом репозитории безопасны до их выполнения s6s7. Вне Aider повторите:

git diff -- calc.py
python -m unittest -q
git status --short

Критерий успеха: изменился только разрешённый файл, diff понятен человеку, тест проходит и объяснение не подменяет реальное состояние файлов. Если модель только напечатала исправленный код, а diff пуст, задача не выполнена: Aider предупреждает, что недостаточно способные модели иногда не могут оформить правку для применения s8. Тест на примере 2 + 3 не доказывает корректности всей функции: добавьте крайние случаи и повторите проверку на коде, который можно безопасно показывать модели.

Почему агент не видит файл или зависает на большом проекте?

Сначала сверяйте источник проблемы: ответил ли curl на локальном адресе, совпадает ли тег в ollama list и aider --model, есть ли дифф после задания, запускаются ли безопасные тесты. Облачный адрес https://ollama.com/api — другой endpoint и другой режим авторизации; не используйте облачный тег, если обещаете работу без передачи кода наружу s3s1. Для реальной проверки сетевой изоляции при закрытом контуре нужен отдельный сетевой тест; один localhost в конфигурации Aider не доказывает, что вся система не обращается к сети.

Контекст нельзя угадывать по старым настройкам. Текущая страница Ollama задаёт VRAM-зависимые значения по умолчанию и рекомендует для coding tools крупный контекст, но увеличение окна требует больше памяти; инструкция Aider одновременно содержит историческую фразу о 2k и описывает собственное автоматическое выделение контекста. Не обещайте универсального дефолта и не выставляйте 64k без проверки ресурсов. После обращения к модели запустите ollama ps: документация Ollama показывает столбцы CONTEXT и PROCESSOR — фактически выделенное окно и размещение на CPU/GPU. Разбор настроек — в отдельном гайде по контексту s1s4.

Если тест не прошёл, не разрешайте бесконечную серию автоматических исправлений: остановитесь, прочтите ошибку, diff и верните учебную ветку к исходному состоянию через Git только после проверки, какие файлы изменены. Aider документирует /undo, но действия с коммитами зависят от выбранных Git-флагов; при отключённых автокоммитах опирайтесь на обычный git diff и собственный откат s6. Не исполняйте непроверенные скрипты репозитория с секретами только ради «зелёной» отметки.

Следующий шаг: проверьте контекст и реальное размещение модели в Ollama, затем повторите описанный тест правки на своём изолированном проекте. Только подтверждённые diff, тест и ручная проверка составляют результат; Modelium такого прогона не проводил s4s7.

Источники

  1. Aider — Connecting to Ollama. Получено 25.09.2026.
  2. Aider — Installation. Получено 25.09.2026.
  3. Ollama — API introduction: local and cloud base URLs. Получено 25.09.2026.
  4. Ollama — Context length and allocated memory. Получено 25.09.2026.
  5. Ollama library — qwen3-coder:30b. Получено 25.09.2026.
  6. Aider — Git integration. Получено 25.09.2026.
  7. Aider — Linting and testing. Получено 25.09.2026.
  8. Aider — Connecting to LLMs: limitations of local models. Получено 25.09.2026.