Локальная агентская разработка
Можно ли программировать с AI-агентом полностью локально?
Программировать с Codex или Claude Code легко и приятно. Даёшь агенту задачу, он читает проект, меняет несколько файлов, запускает тесты, видит ошибку, исправляет её и продолжает работу, пока не получит результат.
Но у такого подхода есть очевидное ограничение: исходный код отправляется в облачный сервис.
Поэтому у меня возник простой вопрос: можно ли получить примерно такой же опыт разработки, но запустить модель полностью локально?
Причём хотелось проверить это не на специально собранном AI-сервере, а на железе, которое уже было под рукой: MacBook Pro 2021 года с M1 Pro и 32 GB unified memory.
Модель действительно помещается
Первое приятное открытие: современные локальные модели уже вполне помещаются в такое железо.
Я попробовал несколько вариантов Qwen 3.6 через Ollama:
-
Qwen 3.6 27B Coding;
-
Qwen 3.6 35B-A3B;
-
несколько разных агентских оболочек.
Особенно любопытным оказался Qwen 3.6 35B-A3B. Несмотря на 35 миллиардов параметров, это MoE-модель: на каждом токене активно только около 3 миллиардов параметров. Поэтому она неожиданно оказалась быстрее dense-модели 27B.
То есть довольно быстро выяснилось, что проблема не в том, можно ли вообще запустить современную coding-модель локально.
Можно.
Гораздо интереснее оказалось то, что происходит после запуска.
Эксперимент 1: Codex + Ollama
Codex умеет работать не только с моделями OpenAI, но и с локальным OpenAI-compatible endpoint. Поэтому схема получилась довольно естественная:
Codex → Ollama → Qwen
Inference при этом выполнялся на старом MacBook, а сам Codex и исходный код могли находиться на другой машине.
Технически всё заработало.
Практически — не очень.
Первый ответ однажды занял около семи минут. Кроме того, длинный агентский цикл оказался нестабильным: агент мог выполнить несколько действий, а затем просто остановиться, хотя задача очевидно ещё не была закончена.
И это оказалось важным наблюдением.
Для обычного чат-бота скорость генерации — одна из основных характеристик. Для coding agent этого недостаточно.
Хороший агент должен уметь сделать:
прочитать код → изменить → запустить тест → увидеть ошибку → исправить → снова запустить тест → продолжать до результата
Если после третьего шага он решает, что работа закончена, количество tokens per second уже не особенно важно.
Эксперименты с другими агентами и моделями
Дальше я попробовал несколько комбинаций агентов и локальных моделей.
Qwen 3.6 35B-A3B, например, на M1 Pro генерирует заметно быстрее 27B Coding. Я также попробовал Gemma и OpenCode.
Но постоянно возникала одна и та же проблема: агент начинал работать вполне разумно, выполнял несколько действий, а потом как будто “засыпал” посередине задачи.
Иногда его можно было подтолкнуть ещё одним сообщением. Но тогда исчезает сама идея агентской разработки.
Если мне нужно постоянно следить за агентом и говорить ему «продолжай», то часто быстрее просто сделать изменение самому.
Эксперимент 4: Pi + Qwen 3.6 27B Coding
Самый практичный результат неожиданно дала самая простая связка:
Pi + Qwen 3.6 27B Coding.
Она оказалась не самой быстрой.
Но это пока единственная из проверенных мной комбинаций, которая достаточно стабильно доводит агентский цикл до конца.
Pi читает файлы, вносит изменения, запускает команды, получает результат и продолжает работать, вместо того чтобы остановиться посередине.
И результаты оказываются вполне приемлемыми.
Это довольно сильно изменило мой взгляд на локальные coding-модели.
Оказалось, что вопрос уже не звучит как:
Может ли небольшая локальная модель программировать?
Может.
Более интересный вопрос:
Может ли агентская оболочка достаточно хорошо использовать эту модель, чтобы она самостоятельно дошла от задачи до результата?
И здесь разница между агентами оказалась, возможно, даже важнее разницы между моделями.
Так можно ли заниматься локальной агентской разработкой? Да.
На MacBook Pro 2021 года с 32 GB памяти я могу запустить полноценную coding-модель и дать ей реальную задачу в существующем проекте. Агент может читать репозиторий, менять код, запускать тесты и самостоятельно получать рабочий результат.
Ещё несколько лет назад это само по себе звучало бы довольно фантастически.
Но есть вторая часть ответа:
на моём железе это пока практически не имеет смысла.
Qwen 3.6 27B Coding работает достаточно хорошо, но слишком медленно. Некоторые операции занимают минуты. В результате работу, которую агент делает локально, я зачастую могу быстрее выполнить руками.
Облачные Codex и Claude Code ощущаются быстрее на порядок.
Поэтому эксперимент одновременно дал два результата:
локальная агентская разработка уже работает; потребительский ноутбук пятилетней давности для неё уже недостаточно быстр.
Следующий эксперимент — железо
Поэтому следующий шаг будет не очередная модель.
Я хочу оставить ту комбинацию, которая уже показала себя рабочей:
Pi + Qwen 3.6 27B Coding
и заменить только hardware.
В идеале — взять на некоторое время workstation с RTX 5090 32 GB и повторить те же реальные задачи.
Это даст гораздо более интересный ответ:
Что произойдёт, если убрать главный недостаток локального агента — скорость?
Если одна consumer GPU сможет сделать локальный Qwen достаточно быстрым, а Pi сохранит способность стабильно доводить задачи до конца, то полностью offline agentic development перестанет быть техническим экспериментом и превратится во вполне практичный рабочий инструмент.
И вот это уже хочется проверить.
Одиссея
Посмотрел «Одиссею» Нолана. Мне понравилось.
Удивительно, IMAX — это не обязательно 3D. Нолан снял фильм в 2D, и это нисколько не убавило зрелищности.
Мы взяли билеты не на самые удачные места, поэтому пришлось смотреть, задрав голову. Но более хорошие места были уже забронированы: в зале был полный аншлаг. Похоже, если хочешь нормально выбрать места, билеты надо брать сильно заранее.
Кажется, фильм вышел в очень удачное время и попал в какие-то струны, которые особенно актуальны именно сейчас. Это история о возвращении домой с войны. И что сегодня, что во времена Гомера эта тема, кажется, всегда была и остаётся очень актуальной.
Солнечное затмение
Вчера было солнечное затмение. Чтобы наблюдать его без помех специально поехал в Темпельхоф, где, кажется собрался, для этого весь Берлин. Многие приносили с собой самодельные камеры Обскура, многие были со специальными очками, фильтрами, закопчеными стеклами и даже дуршлаками. Я его наблюдал через два поляризационных стекла, свандаленных со старого монитора. И это сработало очень хорошо. Когда поляризаторы стоят перпендикулярно, они почти не пропускают свет. И этого света как раз достаточно, чтобы рассмотреть солнце. Пожалуй, лучше видно только через специальные очки для просмотра солнечного затмения. Моё решение всем, кто был рядом, очень понравилось. Сказали, что я непременно должен его запатентовать.

Следующее такое затмение будет через 50 лет, поэтому я очень рад, что мне удалось его наблюдать вживую.
26 лет со дня гибели Курска
Сегодня исполняется 26 лет с момента катастрофы. Все материалы по этому делу до сих пор засекречены.

