Two-Stage AI Pipeline: как платить вдвое меньше за генерацию
$87 в месяц на дайджесты чата. Посмотрел логи — Pro-модель тратит 80% токенов на поиск тем в JSON. Разделил на два этапа. Теперь $35.
Проблема
Делаю бота для дайджестов чата @vibecod3rs. 200-400 сообщений в день. На выходе — структурированный дайджест с ресурсами, решениями, инструментами.
Первая версия: всё в Pro. Она и темы извлекает, и текст пишет. Работает, но счёт за январь:
- 80-120K токенов на вход (зависит от активности чата)
- $2.5-3.5 за дайджест
- 30 дайджестов → $87
Pro отлично пишет. Но $2/1M токенов за то, чтобы найти в JSON нужные поля и сгруппировать? Дорого.
Решение
Два этапа вместо одного:
Flash стоит $0.50/1M — в 4 раза дешевле Pro. Справляется с extraction без проблем. Structured output через Pydantic гарантирует формат — Gemini API поддерживает response_schema с ноября 2025.
Pro получает готовый список из 10-15 тем вместо сотен сообщений. Контекст сжался с 100K до 8-12K токенов.
Реализация
Написал Claude Code на Opus 4.5:
Агент сделал:
- Создал
TopicsResponseсхему с полями category, title, summary, url - Настроил Gemini API с
response_schema— JSON гарантированно валидный - Разделил
DigestGeneratorна_extract_topics()и финальную генерацию
Retry с эскалацией
Flash иногда обрезает JSON на больших входах. Попросил добавить retry:
За месяц (31 дайджест) retry сработал дважды. Оба раза хватило 32K.
Результат
| Метрика | До | После |
|---|---|---|
| Токены Pro | 80-120K | 8-12K |
| Стоимость/дайджест | $2.5-3.5 | $1.0-1.2 |
| Январь 2026 | $87 | $35 |
Бонус: Pro пишет чище с готовыми данными. Без шума из 300 сообщений — меньше “воды” в итоговом тексте.
Когда применять
Паттерн работает если:
- Extraction отделим от generation — сначала найти, потом написать
- Входные данные большие — сотни документов, логи, чаты
- Структура известна — опишешь Pydantic-моделью
Не подходит для суммаризации (нужен весь контекст) и коротких запросов (overhead не окупится).
Источники
- OverFill: Two-Stage Models for Efficient LLM Decoding — академический подход к разделению prefill и decode
- xRouter: Cost-Aware LLM Orchestration — RL для выбора модели под задачу
- The Economics of RAG: Cost Optimization — стратегии оптимизации затрат в RAG
Подписаться на обновления — @sereja_tech