90% переплаты за ИИ-агентов уходит на одно и то же. Как это починить через OpenRouter
Если вы используете Claude Code, Cline или любого другого агента в цикле, то знаете эту боль: счёт прилетает, а вы не понимаете, за что. За одну сессию рефакторинга может уйти 200–500 тысяч токенов, и большая их часть — это не «умная работа» модели, а одно и то же, отправленное по кругу. Хорошая новость в том, что бóльшую часть этой переплаты можно срезать. Плохая — что почти никто не настраивает прокси-слой так, как надо.
Разберёмся, что за «одно и то же» вы оплачиваете, и как три механики OpenRouter — кэш, свои ключи и роутинг — закрывают этот вопрос.
Сначала — что такое OpenRouter, если вы слышите это впервые
OpenRouter — это единый API-шлюз к моделям ИИ. Вместо того чтобы заводить отдельные ключи в OpenAI, Anthropic, Google, DeepSeek и так далее, вы получаете один ключ и через него обращаетесь к 400+ моделям. Платформа сама занимается фолбэками (если провайдер упал — запрос уходит на резервный), сравнением цен и роутингом. С точки зрения кода это drop-in замена: ставите base URL на https://openrouter.ai/api/v1, и ваш существующий код под OpenAI SDK работает как раньше — только теперь у вас доступ ко всему каталогу.
Больше про LLM и AI — в нашем Telegram-канале (@devgeek_sh). Разбираем новые модели, делимся опытом и полезными находками.
Это удобно само по себе. Но для агентов главная ценность не в удобстве, а в том, что на этом слое можно резать расходы тремя способами, которых нет, если вы ходите к провайдеру напрямую.
Откуда берётся та самая переплата
Цикл агента устроен read-heavy, а не output-heavy. На каждом шаге модель заново перечитывает системный промпт, контекст файлов и вывод предыдущих инструментов. Тридцать шагов в задаче — это примерно тридцать перечитываний одного и того же. Вот где утекает бюджет: не в генерации, а в повторной отправке неизменного контекста.
Чтобы было понятнее, на ценах флагмана. Claude Opus 4.7 стоит $5 за миллион input-токенов и $25 за output — и эти цифры Anthropic держит неизменными ещё с Opus 4.6. Если ваш агент тридцать раз перечитывает 50 тысяч токенов контекста, вы оплачиваете 1,5 миллиона input-токенов почти впустую. И есть нюанс, который легко пропустить: у Opus 4.7 новый токенизатор, который на одном и том же тексте может выдавать до 35% больше токенов, чем 4.6. То есть прайс-лист «не изменился», а реальный счёт за запрос — вырос.
Посчитаем на пальцах
Возьмём типичную сессию: агент решает задачу за 30 шагов, на каждом перечитывает 50 тысяч токенов контекста, генерирует в среднем по 2 тысячи токенов ответа. Это 1,5 миллиона input-токенов и 60 тысяч output за сессию.
На Opus 4.7 без всякой оптимизации: 1,5M × $5 + 0,06M × $25 = $7,5 + $1,5 = $9 за сессию. Гоняете агента десять раз в день — $90 в день, под $1800 в месяц только на одного человека.
Теперь включаем кэш. Контекст между шагами в основном неизменный, и при чтении из кэша Anthropic input-токены считаются по $0.50 вместо $5. Даже если по полной цене проходит только первый шаг, а остальные 29 идут из кэша, input-часть падает с $7,5 до примерно $1,2. Сессия — уже около $2,7 вместо $9. Это и есть та самая «переплата за одно и то же», которую вы только что вернули себе в карман. Добавьте сюда роутинг дешёвой работы на модель уровня DeepSeek V4 Flash ($0.14/$0.28 за миллион) — и часть шагов вообще перестаёт стоить заметных денег.
Цифры тут грубые и зависят от вашего паттерна, но порядок именно такой: основная экономия — не в смене модели, а в том, что вы перестаёте платить за повторную отправку контекста.
Механика №1: кэш — самый жирный рычаг
OpenRouter в этом году выкатил Response Caching, и для агентов это попадание в десятку. Кэширование работает на стороне OpenRouter, ещё до того как запрос уйдёт провайдеру, так что оно совместимо со всеми моделями. TTL настраивается заголовком X-OpenRouter-Cache-TTL — от одной секунды до 24 часов (по умолчанию 5 минут). Заголовки ответа сразу показывают HIT или MISS, плюс возраст кэша, так что видно, как он реально отрабатывает.
Главный сценарий именно ваш: когда агентный воркфлоу падает на середине, при повторе кэшированные шаги возвращаются мгновенно и бесплатно — вы платите только за новую работу. То есть упавший на 20-м шаге рефакторинг при ретрае не сожжёт заново токены за первые 19.
Отдельно стоит знать про prompt caching у самого Anthropic — он живёт на уровне провайдера и даёт до 90% экономии: чтение из кэша стоит $0.50 вместо $5 за миллион input-токенов, то есть 10% от обычной ставки. Закэшированные системные промпты, определения инструментов и справочные документы — это ровно то «одно и то же», что вы иначе оплачиваете по полной.
Механика №2: BYOK — контроль, а не магия экономии
BYOK (Bring Your Own Key) — это когда вы подключаете свои ключи провайдеров, и запросы биллятся напрямую на вашем аккаунте у OpenAI или Anthropic, а OpenRouter остаётся слоем абстракции и роутинга. Первый миллион BYOK-запросов в месяц бесплатный, дальше — 5% комиссии от того, сколько та же модель стоила бы на OpenRouter.
Сразу уберём иллюзию: BYOK — это про контроль, а не про обнуление расходов. Токены вы всё равно оплачиваете провайдеру. Реальная польза — единый слой управления, лимиты на ключи, прозрачный учёт по проектам. В мае платформа добавила приоритизацию BYOK-ключей с drag-and-drop, так что можно вручную задать порядок, в котором ключи пробуются.
Механика №3: роутинг — отправлять дешёвое дешёвым
Самая недооценённая механика. Не всякий вызов агента требует флагмана. Чтение файла, суммаризация функции, простой поиск по коду — это работа для дешёвой модели. Сложную логику и планирование оставляете премиуму.
OpenRouter даёт управлять этим через поле order (приоритет провайдеров) и фолбэки: если первый выбор падает или тормозит — запрос автоматически уходит на следующий. На практике это значит, что вы можете увести основную массу «черновой» агентной нагрузки — правки, простые рефакторы, скаффолдинг тестов — на дешёвую модель, а к Claude или GPT эскалировать только по-настоящему сложные задачи. Один агент, разные «мозги», выбор под каждый запрос.
Свежий бонус для агентных воркфлоу: 13 мая OpenRouter добавил session-ID-стикинесс провайдера — запросы одной сессии липнут к одному провайдеру, что заметно повышает попадание в кэш. Для длинных циклов это прямая экономия.
Как включить кэш за пять минут
Тут нет ничего сложного, и в этом весь смысл. Если вы уже ходите в OpenRouter, кэш включается одним из двух способов.
Первый — заголовком на конкретном запросе. Добавляете X-OpenRouter-Cache: true, и идентичные запросы начинают возвращаться из кэша. Время жизни задаёте X-OpenRouter-Cache-TTL (от секунды до 24 часов). Нужен свежий ответ в обход кэша — шлёте X-OpenRouter-Cache-Clear: true, и кэш для этого запроса сбрасывается.
Второй способ удобнее для агентов — через пресет. Ставите в его конфиге cache_enabled: true, и кэширование применяется ко всем запросам с этим пресетом автоматически, без заголовка на каждом вызове. Для Claude Code, Cline и прочих инструментов, где вы не дёргаете API руками, это единственный практичный путь.
Что со всем этим делать
Если коротко — переплата за агентов почти вся сидит в повторной отправке неизменного контекста. Три рычага закрывают это с трёх сторон: кэш убирает оплату за повторы, BYOK даёт контроль и учёт, роутинг отправляет дешёвую работу дешёвым моделям.
Начать стоит с малого: возьмите непрод-проект, включите кэш на пресете, прогоните один полный цикл агента и посмотрите соотношение HIT/MISS в дашборде. Эта одна цифра честнее любой статьи скажет, сколько вы переплачивали — и сколько теперь нет.
Больше про LLM и AI — в нашем Telegram-канале (@devgeek_sh). Разбираем новые модели, делимся опытом и полезными находками.