Введение: зачем сравнивать AI-хабы для кода
Рынок AI-инструментов для разработки перегрет. Каждую неделю появляются новые агенты, CLI-утилиты и плагины для IDE. Разработчик тратит часы на выбор, но не на работу. Мы провели контролируемый эксперимент: взяли три популярных AI-хаба - Claude Code, OpenCode и Pi - и прогнали их через идентичную задачу на одной модели. Результат: качество правок совпадает, а время выполнения различается почти в четыре раза.
Claude Code оказался самым медленным. Pi - самым быстрым. OpenCode занял промежуточную позицию. Все три хаба работали с DeepSeek V4 Flash через vLLM на скорости ~180 токенов/с. Тестовая среда - реальная кодовая база с антогенной нагрузкой. Единственная переменная - scaffolding: инструменты вызова и система промптов. Именно она определяет, сколько времени и токенов потратит хаб на одно и то же изменение.
Ключевые выводы
- Качество кода идентично — все три хаба предложили функционально эквивалентные решения на одной модели.
- Claude Code в 4 раза медленнее — избыточные проверки и повторные чтения файлов увеличивают время и затраты токенов.
- Pi — самый быстрый и дешёвый — минималистичный scaffolding и пакетная обработка правок.
- OpenCode — сбалансированный вариант — быстрее Claude Code, но аккуратнее Pi.
- Scaffolding определяет эффективность, модель — качество — разделяйте эти два слоя при выборе инструмента.
Методология теста: как мы сравнивали
Тестовый стенд собран с прицелом на чистоту эксперимента. Модель DeepSeek V4 Flash развёрнута через vLLM с фиксированной пропускной способностью ~180 токенов/с. Кодовая база - крупный проект с антогенной работой: правки затрагивают множество файлов, требуют чтения контекста и последовательных изменений. Метрики: общее время выполнения задачи, суммарные затраты токенов, количество и структура вызовов инструментов.
Все три хаба получили одинаковое описание задачи. Различался только scaffolding - обвязка вокруг модели: как хаб формирует промпты, какие инструменты вызывает, в каком порядке читает и пишет файлы. Сама модель не менялась. Это ключевое условие: мы изолировали влияние архитектуры хаба от качества генерации.
Почему DeepSeek V4 Flash и vLLM
DeepSeek V4 Flash - быстрая MoE-модель с 284B параметров и 13B активных. На момент тестов она входит в топ открытых решений для кодинга. В нашем сравнении с Qwen 3.6 27B модель показала стабильные результаты на агентных задачах и генерации кода. vLLM обеспечивает предсказуемую скорость инференса - это исключает артефакты, связанные с перегрузкой API или троттлингом. Мы замеряли чистое влияние scaffolding, а не вариативность облачного сервиса.
Что такое scaffolding и почему он важен
Scaffolding - это всё, что окружает модель: системный промпт, логика вызова инструментов, стратегия чтения файлов, форматирование ответа. Модель генерирует текст. Scaffolding решает, что с этим текстом делать дальше: записать в файл, прочитать соседний модуль, запустить тесты, переспросить.
Разные хабы реализуют scaffolding по-разному. Claude Code, например, склонен к избыточным проверкам: перед каждым изменением перечитывает файл, даже если контекст уже загружен. Pi действует агрессивнее: применяет правку сразу, полагаясь на кэш. Эти различия не влияют на качество конечного кода, но радикально меняют затраты времени и токенов.
Результаты: время, токены и вызовы инструментов
Все три хаба успешно выполнили задачу. Разница - в эффективности. Pi завершил работу быстрее всех. OpenCode отстал незначительно. Claude Code потратил почти в 4 раза больше времени при идентичном качестве правок.
| Метрика | Claude Code | OpenCode | Pi |
|---|---|---|---|
| Время выполнения | ~4x (медленный) | ~1.5x (средний) | 1x (быстрый) |
| Затраты токенов | Высокие | Средние | Низкие |
| Вызовы инструментов | Много | Умеренно | Минимум |
| Качество кода | Идентично | Идентично | Идентично |
Затраты токенов коррелируют со временем: Claude Code сгенерировал и обработал кратно больше токенов на ту же задачу. Количество вызовов инструментов у Claude Code выше: больше чтений файлов, больше повторных запросов к модели. Структура вызовов различается качественно, а не только количественно.
Claude Code: почему так медленно
Claude Code спроектирован с приоритетом безопасности и консервативности. Перед каждой записью он перечитывает целевой файл - даже если только что прочитал его на предыдущем шаге. Системный промпт Claude Code более многословен: модель получает развёрнутые инструкции по форматированию и проверке, что увеличивает объём входного контекста.
Дополнительный фактор - двойные проверки. Claude Code часто запрашивает подтверждение перед применением правки: генерирует diff, затем отдельным вызовом просит модель верифицировать изменение. Это повышает надёжность, но удваивает затраты токенов на каждую операцию записи. На крупной кодовой базе с десятками файлов эффект накапливается и даёт четырёхкратное отставание по времени.
OpenCode: промежуточная позиция
OpenCode занимает сбалансированную позицию между Claude Code и Pi. Его scaffolding менее консервативен, чем у Claude Code: меньше повторных чтений и подтверждений, но при этом сохраняется аккуратная обработка изменений. OpenCode не перечитывает файлы без необходимости, однако и не применяет правки столь агрессивно, как Pi.
По времени выполнения OpenCode отстал от Pi незначительно, но обошёл Claude Code с большим отрывом. Затраты токенов также находятся на среднем уровне. Для задач, где важна и скорость, и предсказуемость процесса, OpenCode выглядит разумным компромиссом.
Pi: секрет скорости
Pi использует минималистичный scaffolding. Системный промпт короче и жёстче: модель получает директиву сразу выдавать готовый код без пояснений. Инструменты вызываются реже: Pi кэширует прочитанные файлы и не перечитывает их без необходимости. Правки применяются одним блоком, без промежуточных подтверждений.
Стратегия Pi ближе к пакетной обработке: хаб собирает контекст за минимальное число вызовов, генерирует полный набор изменений и применяет их. Холостых обращений к файловой системе практически нет. Результат - минимальное время выполнения и самые низкие затраты токенов среди трёх протестированных хабов.
Качество кода: действительно ли разницы нет
Мы сравнили сгенерированные правки построчно. Все три хаба предложили функционально эквивалентные решения. Код проходил одни и те же тесты. Стилистические различия минимальны: Claude Code иногда добавлял более подробные комментарии, Pi - более лаконичный код. На логику и корректность это не влияло.
Вывод однозначен: при фиксированной модели выбор хаба не определяет качество результата. Он определяет только процесс - сколько времени и денег вы потратите на получение этого результата. Это важно для production-сценариев, где время CI/CD пайплайна и затраты на инференс прямо влияют на экономику проекта.
Практические выводы: какой хаб выбрать
Выбор зависит от приоритетов. Если критична скорость и стоимость - берите Pi. Он даёт то же качество правок за минимальное время и с наименьшим расходом токенов. Подходит для быстрых итераций, массовой автогенерации кода и сценариев с жёсткими бюджетами.
Если важна интеграция с экосистемой Anthropic и максимальная осторожность - Claude Code остаётся вариантом. Его консервативный scaffolding снижает риск случайной порчи кодовой базы. Для проектов с высокими требованиями к безопасности и аудиту изменений это может перевесить затраты времени.
OpenCode - сбалансированный вариант. Быстрее Claude Code, но с более аккуратной обработкой, чем Pi. Хороший выбор, когда нужно компромиссное решение без крайностей.
Оговорка: тесты проводились на одной модели - DeepSeek V4 Flash. Для других моделей, особенно более медленных или более «разговорчивых», соотношение может измениться. Рекомендуем воспроизвести эксперимент на своём стеке. Методология ниже.
Итоговое резюме
Сравнение Claude Code, OpenCode и Pi на одной модели DeepSeek V4 Flash показало: качество кода не зависит от выбора хаба, а скорость и затраты — зависят радикально. Claude Code тратит в 4 раза больше времени из-за консервативного scaffolding с повторными чтениями и двойными проверками. Pi выигрывает за счёт минималистичной обвязки и пакетной обработки правок. OpenCode предлагает компромисс между скоростью и аккуратностью.
Главный практический вывод: при выборе AI-хаба для кода сначала определите приоритеты — скорость и стоимость или безопасность и аудит. Модель отвечает за качество, scaffolding — за эффективность процесса. Разделяйте эти два слоя, и выбор станет очевидным.
Где взять сырые данные и повторить тест
Полные данные эксперимента - метрики по каждому запуску, логи вызовов инструментов, сырые результаты - доступны в репозитории проекта. Вы можете самостоятельно проанализировать структуру вызовов и проверить выводы.
Для воспроизведения теста в своём окружении: разверните DeepSeek V4 Flash через vLLM с ограничением ~180 токенов/с, выберите крупную кодовую базу с антогенной нагрузкой, зафиксируйте описание задачи и прогоните через все три хаба с дефолтными настройками. Сравните время выполнения, затраты токенов и количество вызовов инструментов. Результаты могут отличаться для других моделей - например, Laguna S 2.1 показывает другие цифры на агентных бенчмарках, а сравнение Minimax 2.7, DeepSeek V4 Flash и Laguna S 2.1 на 192 ГБ VRAM даёт иное распределение по стоимости инференса.
Главный инсайт теста: scaffolding определяет эффективность, модель - качество. Разделяйте эти два слоя при выборе инструмента.