Локальный ИИ · программирование · coding agents
Локальный ИИ для программирования: Codex CLI с Ollama и LM Studio
Локальная LLM умеет не только писать отдельные функции. Через Codex CLI её можно превратить в coding-agent, который читает проект, предлагает изменения, редактирует файлы и запускает команды в рабочем каталоге. Но для этого одной «умной модели» мало: нужны совместимый API, большой контекст, корректный tool calling и достаточная память.
codex --oss. Codex подключится к локальному inference backend и сможет работать с файлами проекта через собственный агентный слой. Для LM Studio схема похожая: запускается локальный сервер на порту 1234, после чего Codex также стартует с --oss. Для серьёзной работы желательно иметь контекст не менее 25–32K токенов, а для длительных coding-сессий — больше.
Локальная LLM и coding-agent — это не одно и то же
Обычная локальная LLM получает текст и возвращает текст. Она не может сама открыть ваш каталог, прочитать файл или выполнить тесты только потому, что «умеет программировать».
Coding-agent добавляет поверх модели инструментальный слой:
Видит рабочий каталог и описывает модели доступные инструменты.
Решает, какой файл прочитать или какую команду вызвать.
Codex выполняет разрешённое действие на компьютере.
Вывод команды или содержимое файла возвращается модели.
Агент продолжает работу, пока задача не завершена.
Что меняется при переходе с облачной модели на локальную
| Параметр | Облачная модель | Локальная модель |
|---|---|---|
| Вычисления | На сервере провайдера | На вашем ПК или сервере |
| Исходный код | Может передаваться внешнему API | Может остаться внутри вашей сети |
| Стоимость запросов | Подписка, лимиты или токены | Железо, электричество и время |
| Максимальная модель | Ограничена тарифом провайдера | Ограничена RAM, VRAM и скоростью железа |
| Agentic quality | Обычно выше на топовых моделях | Сильно зависит от модели и размера контекста |
| Работа без интернета | Обычно нет | Да, если backend и модель полностью локальные |
Поэтому локальный coding-agent — не бесплатная копия облачного Codex. Это другой компромисс: больше контроля и приватности, но жёсткие ограничения железа.
Что понадобится
- Codex CLI;
- локальный inference backend: Ollama или LM Studio;
- модель с хорошим coding и tool-use поведением;
- достаточная RAM/VRAM;
- контекст хотя бы около 25–32K для нормального agentic coding;
- Git-репозиторий для безопасного контроля изменений.
Если пока непонятно, что выбрать как backend, смотрите сравнение Ollama, LM Studio и llama.cpp.
Как установить Codex CLI
Codex CLI распространяется как пакет npm. Для Windows, Linux и macOS нужен установленный Node.js/npm.
npm install -g @openai/codex
Проверить запуск:
codex --help
@openai/codex, а не ресурсный CLI для вызова REST API.
Вариант 1: Codex CLI + Ollama
Ollama официально поддерживает запуск open models в Codex. Базовый сценарий очень короткий.
Шаг 1. Установите Ollama
Отдельная инструкция: Ollama на Windows: установка и первый запуск.
Шаг 2. Скачайте подходящую модель
ollama pull gpt-oss:20b
Шаг 3. Откройте каталог проекта
cd C:\Projects\my-app
Шаг 4. Запустите Codex в OSS-режиме
codex --oss
По документации Ollama, в таком режиме Codex по умолчанию использует gpt-oss:20b.
Использовать другую модель
codex --oss -m MODEL_NAME
Ollama отдельно поддерживает команду ollama launch, которая умеет настраивать coding tools, включая Codex, OpenCode и Claude Code.
ollama launch codex
Вариант 2: Codex CLI + LM Studio
LM Studio поддерживает Codex через OpenAI-compatible /v1/responses. Это полезно, если хочется выбирать и настраивать модель в GUI, а агент запускать в терминале.
Шаг 1. Запустите LM Studio server
В приложении откройте Developer и включите Local Server либо запустите:
lms server start --port 1234
Сервер будет доступен по адресу:
Шаг 2. Загрузите модель
Это можно сделать через GUI или командой lms load.
Шаг 3. Запустите Codex
codex --oss
В актуальной документации LM Studio этот режим напрямую описан как поддерживаемая интеграция. По умолчанию Codex может загрузить/использовать openai/gpt-oss-20b, но можно указать другую совместимую модель.
codex --oss -m ibm/granite-4-micro
Какую локальную модель выбрать для программирования
Для coding-agent важна не только способность писать хороший код. Модель должна:
- стабильно следовать инструкциям;
- корректно вызывать tools;
- понимать многофайловый контекст;
- не ломать формат tool call;
- уметь работать итеративно после ошибок тестов;
- держать длинную историю действий.
gpt-oss-20b
Практичный старт для локального Codex. Ollama и LM Studio используют его в официальных примерах. Модель достаточно компактна для локального железа среднего/высокого уровня и поддерживает reasoning/tool-use сценарии.
Qwen Coder и другие coding-модели
Специализированные coding-модели могут хорошо работать на генерации кода, но обязательно тестируйте именно agentic-сценарий. Высокий benchmark по HumanEval не гарантирует корректных file edits и tool calls.
Большая general-purpose модель
Иногда более крупная универсальная модель с сильным reasoning работает как агент лучше маленькой coding-модели, даже если последняя быстрее пишет отдельные функции.
Почему coding-agent требует намного больше контекста, чем обычный чат
В обычном чате модель видит вопрос и несколько предыдущих сообщений. Coding-agent дополнительно передаёт:
- инструкции агента;
- описания инструментов;
- структуру проекта;
- прочитанные файлы;
- diff;
- вывод компилятора;
- результаты тестов;
- историю предыдущих действий.
Поэтому 4K или 8K контекста быстро становятся узким местом.
Ollama в своём руководстве по Codex рекомендует как минимум около 32K токенов. В интеграции LM Studio отдельно советуется использовать больше примерно 25K, потому что инструменты Codex активно расходуют контекст.
Для длительных coding-сессий 64K может быть заметно практичнее, но это увеличивает требования к памяти. Подробнее: сколько RAM и VRAM нужно локальной LLM.
Почему локальная модель вместо действий просто печатает JSON
Это одна из самых частых проблем в обсуждениях локальных coding-agents. Пользователь просит открыть файл, а модель выводит что-то вроде:
{"tool":"read_file","path":"src/app.js"}
Текст выглядит как tool call, но агент не распознал его как структурированный вызов и поэтому ничего не выполнил.
Почему так происходит
- модель плохо обучена function/tool calling;
- runtime неправильно преобразует tool schema;
- чат-шаблон модели несовместим с ожидаемым форматом;
- модель слишком маленькая для устойчивой agentic работы;
- контекст переполнен и инструкции инструментов потерялись;
- вы используете обычный чат вместо agent-клиента.
Запускается ли задача именно через Codex/OpenCode, а не через простой chat UI?
Поддерживает ли она function/tool calling и agentic use case?
Backend должен корректно передавать tools через Responses или совместимый endpoint.
При слишком маленьком окне модель может потерять описание инструментов.
Как Codex получает доступ к файлам проекта
Локальная модель не получает произвольный доступ ко всему диску. Codex запускается в рабочем каталоге и предоставляет ей контролируемые инструменты.
cd C:\Projects\my-project
codex --oss
Агент видит именно контекст рабочей директории и использует собственные механизмы чтения, редактирования и запуска команд.
Почему Git обязателен для локального coding-agent
Любой агент может сделать неправильное изменение. Локальность не делает его безопаснее.
Минимальный workflow:
git status
git switch -c ai/local-agent-test
git add .
git commit -m "Snapshot before local agent"
После работы:
git status
git diff
git diff --stat
Только после просмотра diff изменения стоит коммитить или переносить в основную ветку.
Какое железо нужно для локального coding-agent
Coding-agent тяжелее обычного чата не только из-за модели, но и из-за большого контекста.
| Конфигурация | Практический сценарий |
|---|---|
| 8 ГБ VRAM | Небольшие coding-модели, короткие задачи, ограниченный agentic workflow. |
| 12–16 ГБ VRAM | Более практичный уровень для локальных coding-моделей и умеренного контекста. |
| 24 ГБ VRAM | Заметно больше свободы по размеру модели и 32K+ контексту. |
| 64–128 ГБ unified memory | Интересный сценарий Apple Silicon для больших локальных agentic-моделей. |
| CPU-only | Технически возможно, но многошаговый агент быстро становится слишком медленным. |
При выборе между огромной моделью, работающей 3 токена/с, и меньшей моделью, выдающей 20–40 токенов/с, для agentic coding второй вариант часто полезнее. Агент делает много последовательных шагов, и задержка умножается на каждый tool call.
Практический workflow для локального Codex
Никогда не начинайте эксперимент прямо в production/main.
Ollama или LM Studio с моделью и достаточным контекстом.
Чтобы агент работал с правильной директорией.
Начните с анализа одного файла, теста или маленького bugfix.
Не доверяйте формулировке «готово» без просмотра фактических изменений.
Проверяйте не только синтаксис, но и поведение приложения.
Какие задачи давать сначала
- объяснить структуру проекта;
- найти конкретный bug;
- добавить один unit-test;
- переименовать API без изменения логики;
- исправить lint warning;
- добавить небольшую функцию в существующем стиле.
Только после успешных малых задач переходите к рефакторингу нескольких модулей или самостоятельному созданию feature.
Может ли локальная модель полностью заменить облачный Codex или Claude Code
Иногда — для конкретного пользователя и проекта. Универсально — пока нет.
В свежих обсуждениях пользователи с мощными Mac и большим объёмом unified memory действительно экспериментируют с полным переходом на local coding. Но отзывы сильно различаются: локальные модели хорошо помогают с рутинным кодом и приватными проектами, а длинные многошаговые agentic-задачи всё ещё чаще выявляют разницу с флагманскими облачными моделями. Это пользовательский опыт, а не универсальный benchmark.
Безопасность локального coding-agent
Agentic tool может выполнять команды. Это принципиально опаснее обычного чата.
- не храните production secrets в доступном рабочем каталоге;
- не запускайте агента от администратора без необходимости;
- используйте Git и резервные копии;
- не разрешайте опасные команды автоматически;
- не подключайте случайные MCP-серверы;
- проверяйте команды установки пакетов;
- не публикуйте локальный inference API напрямую в интернет.
Ollama или LM Studio для Codex: что выбрать
| Если вам нужно | Выбор |
|---|---|
| Минимум GUI и простой backend | Ollama |
| Видеть модель, память и runtime через GUI | LM Studio |
| Быстро менять модели командами | Ollama |
| Тестировать много GGUF вручную | LM Studio |
| Настроить Codex одной командой | Ollama через ollama launch codex |
| OpenAI Responses API на localhost | Оба подходят |
Частые вопросы
Можно ли использовать Codex CLI полностью без OpenAI API?
Да. Codex поддерживает локальные/open-weight модели через совместимые backend. Ollama и LM Studio имеют официальные сценарии интеграции через OSS-режим.
Нужна ли подписка ChatGPT для локального Codex?
Для запуска Codex с локальным OSS-backend модель обслуживается локально, поэтому облачный inference OpenAI не обязателен. Требования самого клиента могут меняться, поэтому проверяйте актуальную документацию версии Codex.
Почему Codex не видит мои файлы?
Запускайте Codex из корня нужного проекта. Если модель просто пишет JSON вместо tool call, проблема может быть в модели, совместимости API или tool-calling.
Какой минимальный контекст нужен?
Для обычного теста можно запуститься и с меньшим окном, но официальный гайд Ollama для Codex рекомендует не менее 32K, а LM Studio советует более примерно 25K. Для больших проектов полезно 64K и больше, если память позволяет.
Что лучше для кодинга: gpt-oss-20b или маленькая Coder-модель?
Зависит от задачи. Для Codex важны не только coding benchmarks, но reasoning и tool calling. Сравнивайте на одном реальном репозитории: чтение файлов, edit, тест, исправление ошибки.
Можно ли использовать локальный Codex на ноутбуке, а модель держать на мощном ПК?
Да. Backend может работать на другой машине в локальной сети. LM Studio, например, отдельно предлагает LM Link для сценария «Codex на ноутбуке — модель на мощной машине».
Можно ли подключить Codex к llama.cpp?
Codex поддерживает совместимые Responses/Chat Completions providers. Но конкретная совместимость зависит от реализованных endpoints и tool-calling. Для наиболее прямого официально документированного локального пути проще начать с Ollama или LM Studio.
Open source
Полезные проекты
Связанные гайды
Что читать дальше
Первичные источники
Документация
Локальный coding-agent

