Portal by Spotify сократил расход токенов Claude Code на 90%

Автор материала (имя и должность в источнике не указаны) заметил, что бо́льшая часть работы ИИ-агента в Claude Code, не рассуждение, а ввод-вывод: прочитать пять файлов, чтобы ответить на вопрос об одном методе, сгенерировать тестовый файл по образцу двадцати соседних, обновить документацию после встречи. Всё это идёт через дорогую топовую модель, которая для такой работы избыточна. По приводимым в посте (без ссылки на источник) оценкам, четверть руководителей разработки уже тратят $200, 500 на ИИ-токены на одного разработчика в месяц, у части расходы превышают $2000, а к 2028 году расходы на ИИ-кодинг могут превысить среднюю зарплату разработчика.
Решение, платформа Portal by Spotify и её функция AiKA Modes: декларативный агент, который запускается на эфемерном рантайме (по аналогии с AWS Lambda, но для агентов). В нём задаются инструкции, модель, параметры вроде температуры и MCP-инструменты; вызывать такой «мод» можно из CLI или API, публично или приватно. Автор создал два мода на базе Gemini 2.5 Flash: bulk-reader, читает несколько файлов и отвечает на вопрос структурированными буллетами без предисловий, и code-writer, генерирует код (тесты, конфиги, заглушки типов) строго по образцу переданного референс-файла, без пояснений и markdown-обёртки.
Первая версия была просто блоком правил маршрутизации в CLAUDE.md, Claude мог их проигнорировать, и каждый проект требовал свою копию инструкций. Поэтому автор оформил механизм как плагин Claude Code shunt, работающий через Portal CLI против любого инстанса Portal с включённым AiKA. У плагина три слоя. Хуки: check-file-size блокирует вызов Read для файлов длиннее 350 строк (порог настраивается переменной SHUNT_MIN_LINES) и направляет Claude на bulk-reader, точечные чтения нужного участка проходят напрямую; check-bash-read аналогично перехватывает cat/head/tail/less/more на больших файлах, пропуская конвейеры вида cat file | grep. Скрипты: bulk-read оборачивает файлы в XML-теги и отправляет их вместе с вопросом в bulk-reader; code-write отправляет спецификацию и референс-файл в code-writer, убирает markdown-обёртку и может сразу писать результат на диск, сгенерированный код Claude вообще не видит. Скиллы, markdown-файлы с описанием и примерами вызова скриптов, на которые хук ссылается при блокировке чтения.
На тестах на Java-монорепозитории по четырём сценариям среднее снижение токенов на массовом чтении файлов составило около 90%; экономию на генерации кода в токенах посчитать сложнее, так как без shunt Claude тратит токены и на чтение референсов, и на сам вывод кода, а со shunt код уходит сразу на диск. Автор перечисляет и ограничения: делегировать редактирование нельзя, сводки воркер-модели не содержат надёжных номеров строк, поэтому для правок Claude всё равно приходится читать нужный участок напрямую; делегировать рассуждение тоже нельзя, Gemini 2.5 Flash нашёл только поверхностные паттерны и пропустил тонкий баг потокобезопасности, который Claude мгновенно заметил при наличии нужного контекста, поэтому маршрутизация исключает отладку, архитектурные решения и безопасность-критичный код. Каждая делегированная операция, это сетевой круговой рейс (обычно 10, 30 секунд), а Portal ограничивает один вызов 30 секундами, так что крупную генерацию приходится дробить; на мелких чтениях задержка съедает выигрыш, отсюда и порог в 350 строк.
Автор подчёркивает, что ценность не в самом плагине, а в идее маршрутизации моделей через AiKA-моды: они переиспользуемы в любом проекте, публичны (bulk-reader и code-writer уже доступны всем), составляемы (можно завести моды для документации, ревью кода, перевода) и отделяют решение о делегировании (в плагине) от того, как именно отвечает воркер-модель (в моде), сменить Gemini Flash на другую модель или добавить MCP-инструменты можно, не трогая плагин. Установка: маркетплейс plugin spotify/portal-ai-plugins, установка плагинов portal и shunt, затем команда /portal:setup для авторизации CLI против своего инстанса Portal; сами моды bulk-reader и code-writer уже публичны, создавать их заново не нужно.
Ключевые факты
- Плагин Claude Code shunt делегирует два типа задач модели Gemini 2.5 Flash: bulk-reader, чтение нескольких файлов ради ответа на один вопрос, code-writer, генерация шаблонного кода (тесты, конфиги, заглушки типов) по образцу референс-файла.
- На тестах на Java-монорепозитории (4 сценария) среднее снижение расхода токенов на массовом чтении файлов, около 90%; выигрыш на генерации кода автор не смог выразить в сопоставимых токенах.
- Хук check-file-size блокирует прямое чтение файлов длиннее 350 строк (порог меняется переменной SHUNT_MIN_LINES) и перенаправляет Claude на bulk-reader; точечные чтения нужного диапазона строк проходят как обычно.
- Метод не годится для редактирования (сводки воркер-модели не дают надёжных номеров строк) и для рассуждений, Gemini 2.5 Flash пропустил тонкий баг потокобезопасности, который Claude нашёл сам при наличии контекста.
- По приводимым в посте (без указания источника) оценкам, четверть руководителей разработки тратят $200, 500 на ИИ-токены на разработчика в месяц, у части, свыше $2000, а к 2028 году расходы на ИИ-кодинг могут превысить среднюю зарплату разработчика.
Почему это важно
Пост фиксирует конкретный и растущий пробел в экономике ИИ-агентов для кода: значительная часть работы Claude Code, не рассуждение, а массовое чтение файлов и генерация шаблонного кода, за которую платят по цене топовой модели. Автор показывает рабочий пример маршрутизации моделей (model routing), переноса рутинных операций на дешёвую модель (Gemini 2.5 Flash) при сохранении дорогой модели для задач, которые реально требуют рассуждения, и приводит измеримый результат, около 90% экономии токенов на сценарии массового чтения.
Кому это важно
Разработчикам и командам, которые уже используют Claude Code или похожие агентные инструменты и видят растущий счёт за токены, в посте отдельно приводится оценка $200, 2000+ на разработчика в месяц. Инженерным руководителям, которые ищут способ снизить эту статью расходов без отказа от агента. Пользователям платформы Portal by Spotify и её функции AiKA Modes, им доступны уже готовые публичные моды bulk-reader и code-writer, а сам подход (хуки + скрипты + скиллы) переносим и на другие пары «оркестратор + дешёвая модель».
Как это применить
Нужен свой инстанс Portal с включённым AiKA. Дальше: через маркетплейс plugin marketplace add spotify/portal-ai-plugins установить плагины portal и shunt, выполнить /portal:setup для авторизации CLI, и в новой сессии Claude Code задать вопрос, затрагивающий несколько файлов, дальше маршрутизацию берёт на себя плагин. Моды bulk-reader и code-writer уже публичны и не требуют настройки; порог, при котором чтение файла перенаправляется на bulk-reader (по умолчанию 350 строк), можно поднять или понизить переменной окружения SHUNT_MIN_LINES в .claude/settings.json. Для своих задач моды можно форкнуть, сменить рабочую модель, инструкции или добавить MCP-инструменты, тогда собственная версия автоматически получает приоритет над публичной.
Можно ли доверять
Это личный отчёт на инженерном блоге Spotify, имя и должность автора в тексте не указаны. Ключевая цифра, 90% экономии токенов на чтении, получена автором на собственном тесте из четырёх сценариев на одном Java-монорепозитории, без независимой проверки и без детализации по сценариям. Отраслевые цифры о расходах на токены ($200, 500 и свыше $2000 на разработчика в месяц, прогноз про 2028 год) приведены без ссылки на источник или методологию подсчёта, это фон, а не проверяемый факт поста.
Риски и подводные камни
Схема принципиально не покрывает редактирование (сводки воркер-модели не содержат надёжных номеров строк) и рассуждение, в тесте автора Gemini 2.5 Flash пропустил тонкий баг потокобезопасности, который Claude нашёл сразу при наличии контекста, поэтому отладка, архитектурные решения и безопасность-критичный код из маршрутизации исключены явно. Каждый вызов, это сетевой круговой рейс обычно на 10, 30 секунд, а Portal ограничивает одну операцию 30 секундами, так что крупную генерацию приходится дробить на части; на небольших чтениях задержка перевешивает экономию, отсюда и сам порог в 350 строк. Наконец, для работы схемы нужен собственный инстанс Portal с включённым AiKA, плагины portal и shunt публичны на GitHub, но сама платформа Portal, это инфраструктура Spotify, а не готовый общедоступный сервис.
«Бо́льшая часть того, что ИИ-агент для кода делает для меня, это не размышление. Это ввод-вывод.»
— автор поста на инженерном блоге Spotify