Мой блог
Локальный агент для кода на Mac: MTPLX, pi и Qwen3.8-27B
Я хотел, чтобы кодовый агент функционировал исключительно на ноутбуке, без привлечения облачных мощностей: с локальной моделью, запущенным сервером и терминальным интерфейсом. Главной проблемой с первых шагов оказалась скорость генерации. Агент постоянно изучает длинный контекст и выполняет глубокие размышления, что на железе ПК превращается в томительные минуты ожидания каждого этапа.
Для экспериментов я задействовал сервер MTPLX под Apple Silicon, обещающий существенный прирост производительности благодаря MTP-головам в структуре самой модели. Настроил связку с агентом pi и провел серию сложных тестов в разных конфигурациях.





Используемый аппаратный и программный стенд
Для получения объективных результатов я зафиксировал характеристики тестовой среды. Мощности моего компьютера и версии софта напрямую влияют на скорость обработки токенов и общую стабильность работы агента.
Конфигурация оборудования и ПО
В качестве рабочей станции использовался ноутбук MacBook Pro на чипе M4 Max, оснащенный 128 гигабайтами объединенной памяти. Серверная часть работала на базе приложения MTPLX версии 2.11.3 для macOS. В роли языковой модели выступила оптимизированная сборка Youssofal/Qwen3.8-27B-MTPLX-Optimized-Speed в четырехбитном квантовании с весом около 20,7 ГБ. Контекстное окно было выставлено на 262 144 токена при профиле сервера turbo и глубине черновика D3. Агент управления запускался в виде чистой версии pi 0.87.1 без подключения сторонних расширений.

Принцип работы технологии MTPLX
Стандартная генерация текста подразумевает последовательный проход модели для каждого отдельного токена. Спекулятивный подход действует иначе: сначала вспомогательный инструмент быстро прогнозирует серию будущих элементов, после чего крупная модель верифицирует их за один проход. При успешном угадывании удается забрать сразу пачку токенов.
Обычно для предсказания требуется отдельная миниатюрная модель. Однако у Qwen3.8 механизм прогнозирования уже интегрирован в виде MTP-голов, обученных совместно с базовой сетью. Сервер MTPLX взаимодействует с ними напрямую, исключая выделение дополнительных ресурсов под черновик.
Во встроенной утилите MTPLX предусмотрен инструмент калибровки глубины черновика, который на моей системе продемонстрировал впечатляющие показатели прироста скорости генерации на коротких промптах.
Интеграция сервера с агентом pi
Интерфейс MTPLX полностью совместим со стандартами OpenAI и Anthropic. В экосистеме pi подключение прописывается в конфигурационном файле модели как стандартный локальный провайдер с указанием порта и параметров совместимости.
Если для доступа к серверу необходима авторизация, агент pi позволяет передавать ключ через системную команду прямо во время старта, не записывая секретные данные в открытые файлы конфигурации.

Методика тестирования кодового агента
Мне потребовалась комплексная задача, которую невозможно решить мгновенно, но результат которой поддается автоматизированной проверке. В качестве испытания я выбрал создание с нуля интерпретатора выражений minicalc.
Условия и правила проверки
Спецификация проекта требовала разбить код на логические модули — лексер, парсер, вычислитель и обработчик ошибок — а также учесть сложные нюансы вроде приоритета операций, правой ассоциативности, встроенных функций и атомарности выполнения операций.
Для оценки качества я подготовил два набора тестов. Двадцать четыре видимых сценария находились в рабочей директории и запускались самой моделью, а тридцать скрытых проверок оставались изолированными, чтобы исключить простое «подгонивание» кода.
Каждый цикл запускался в абсолютно чистой папке с идентичным промптом через неинтерактивный режим агента. Время фиксировалось по часам, а для предотвращения бесконечных зависаний я внедрил правило принудительного обрыва сессии, если модель превышала лимит размышлений.
Результаты экспериментов и ключевые выводы
Сравнение различных уровней размышлений и параметров кэширования показало неожиданные закономерности в поведении ИИ-агента на сложных задачах программирования.
Анализ поведения модели в разных режимах
Все тестовые прогоны с активными рассуждениями успешно справились со скрытыми проверками, написав качественный код. При этом полностью отключенные размышления привели к хаотичным попыткам отладки и фатальной синтаксической ошибке.

Минимальный уровень reasoning_effort неожиданно не ускорил процесс, а, напротив, увеличил время решения из-за попыток исправить несуществующие ограничения. Максимальный уровень xhigh потребовал больше времени на старт, но выдал самый чистый результат без единой ошибки в инструментах.
Куда расходуется время выполнения
Изучение метрик показало, что в реальных задачах агента скорость генерации падает примерно до 34,5 токенов в секунду из-за работы с раздутым контекстом. Значительная часть времени уходит на первоначальное обдумывание задачи перед написанием первой строки кода.

Технические подводные камни и рекомендации
В процессе настройки и прогонов я столкнулся с несколькими неочевидными проблемами, которые стоит учитывать при развертывании подобных локальных сред.
Распространенные ошибки настройки
Запуск приложения MTPLX прямо из образа диска приводит к разрушению среды выполнения при размонтировании DMG — программу необходимо переносить в системную папку «Программы». Конфликты портов при перезапуске лечатся полным завершением процесса через мониторинг активности.
Режимы размышлений следует перенаправлять непосредственно на стороне серверной части утилиты. Кроме того, важно изолировать рабочие логи агента от основной папки проекта, чтобы модель не тратила ценные такты на анализ собственных отладочных файлов.
