Разработчики платят за мусор в запросах к ИИ. Проект Headroom сэкономил им $700 тыс
NewsMakerИнженер Netflix открыл код Headroom для всех.
Инженеры всё чаще подключают ИИ-агентов к коду, логам, базам данных и внутренним инструментам, а затем компании получают счета за миллионы токенов. Старший инженер Netflix Теджас Чопра предложил способ снизить расходы: перед отправкой в языковую модель вычищать из контекста лишние данные, которые модель всё равно не использует.
Чопра разработал открытый инструмент Project Headroom . Проект не относится к официальным продуктам Netflix, однако несколько команд внутри компании уже используют Headroom. Внешние разработчики тоже подключают инструмент к рабочим процессам.
По оценке Чопры, до 90% токенов в запросах к большим языковым моделям могут не нести полезной информации. Чаще всего расходы раздувают не инструкции разработчика, а служебные данные: слишком подробные JSON-схемы, вложенные шаблоны в ответах API, повторяющиеся колонки баз данных, логи и метаданные.
На Open Source Summit Чопра рассказал , что Headroom уже помог пользователям сэкономить около $700 тыс. и высвободил примерно 200 млрд токенов для других задач. Для проекта, который вышел только в январе, результат заметный: версия пока остаётся ранней, но репозиторий уже собрал около 2000 звёзд на GitHub и больше 120 форков.
Идея появилась после счёта на $287 за использование Claude Sonnet в домашнем проекте. Разработчик занимался отладкой, рефакторингом и запросами к базе данных через MCP-инструменты. На первый взгляд тариф выглядел умеренным: $3 за миллион входных токенов или $6 за миллион при превышении лимита контекстного окна в 200 тыс. токенов. Однако сумма быстро выросла из-за объёма передаваемых данных.
В публикации о Headroom Чопра назвал большую часть контекста сжимаемыми данными, которые только маскируются под текст. В 2025 году группа исследователей оценила , что чтение пользовательского ввода может давать около 76% всего расхода токенов.
Поставщики моделей уже предлагают собственные способы экономии, но настройки часто остаются непрозрачными для конечных пользователей. Например, у Claude кэширование префикса по умолчанию может работать только пять минут, после чего контекст приходится отправлять заново. В документации также доступна настройка времени жизни кэша на один час, но запись в кэш обходится дороже, поэтому разработчику приходится самостоятельно искать выгодный режим.
На рынке появляются и коммерческие сервисы для сжатия токенов, включая Token Company . Среди открытых решений Чопра упоминает RTK и LeanCTX . Headroom отличается тем, что работает внутри обычного процесса разработчика и сохраняет возможность восстановить исходный контекст.
Headroom запускается как локальный прокси на компьютере инженера и перехватывает данные перед отправкой в модель. Инструмент анализирует историю диалога, логи, результаты работы инструментов, файлы, документацию из RAG-поиска и другие фрагменты, которые попадают в контекстное окно.
Сначала модуль CacheAligner ищет изменения в уже переданных данных и отправляет только новые фрагменты, чтобы не обновлять весь кэш провайдера модели. Если системная инструкция содержит дату или случайный UUID, провайдер может каждый раз воспринимать запрос как новый и не использовать кэш. Такой промах резко увеличивает расходы.
Затем Headroom определяет тип данных и отправляет фрагмент подходящему компрессору. Компрессор AST обрабатывает программный код, JSON-компрессор убирает лишние элементы из структурированных данных, DOM-компрессор сокращает веб-разметку. Отдельные модули оценивают текст и JSON статистически, а затем решают, какие части действительно нужны модели.
Финальный механизм Compress Cache and Retrieve оставляет в запросе маркеры сжатых мест. Если модели понадобится исходный фрагмент, агент сможет запросить полную версию через MCP-инструмент Headroom с компьютера пользователя. Оригинальный контекст хранится в Redis или SQLite.
Чопра признаёт, что стек ещё требует доработки, особенно в части проверки точности. Разработчик также планирует добавить компрессоры для новых типов данных, включая финансовую информацию. Для аудио, изображений и видео нужны отдельные подходы, а один из пользователей уже сделал форк проекта для обработки видео.
Сокращение контекста помогает не только экономить деньги. Исследователи Стэнфордского университета показали , что большие языковые модели чаще обращают внимание на начало и конец контекстного окна, а середину могут пропускать. Команда Chroma пришла к похожему выводу : у 18 протестированных моделей качество ответов становилось менее стабильным по мере роста длины входных данных.
Меньший контекст также снижает задержку. Один из пользователей Headroom адаптировал проект для голосового приложения, где даже паузы в речи могут превращаться в токены. Для естественного диалога сервису нужен ответ примерно за 200 миллисекунд, поэтому разработчики пытаются сокращать каждый лишний фрагмент перед отправкой в модель.
Инженеры всё чаще подключают ИИ-агентов к коду, логам, базам данных и внутренним инструментам, а затем компании получают счета за миллионы токенов. Старший инженер Netflix Теджас Чопра предложил способ снизить расходы: перед отправкой в языковую модель вычищать из контекста лишние данные, которые модель всё равно не использует.
Чопра разработал открытый инструмент Project Headroom . Проект не относится к официальным продуктам Netflix, однако несколько команд внутри компании уже используют Headroom. Внешние разработчики тоже подключают инструмент к рабочим процессам.
По оценке Чопры, до 90% токенов в запросах к большим языковым моделям могут не нести полезной информации. Чаще всего расходы раздувают не инструкции разработчика, а служебные данные: слишком подробные JSON-схемы, вложенные шаблоны в ответах API, повторяющиеся колонки баз данных, логи и метаданные.
На Open Source Summit Чопра рассказал , что Headroom уже помог пользователям сэкономить около $700 тыс. и высвободил примерно 200 млрд токенов для других задач. Для проекта, который вышел только в январе, результат заметный: версия пока остаётся ранней, но репозиторий уже собрал около 2000 звёзд на GitHub и больше 120 форков.
Идея появилась после счёта на $287 за использование Claude Sonnet в домашнем проекте. Разработчик занимался отладкой, рефакторингом и запросами к базе данных через MCP-инструменты. На первый взгляд тариф выглядел умеренным: $3 за миллион входных токенов или $6 за миллион при превышении лимита контекстного окна в 200 тыс. токенов. Однако сумма быстро выросла из-за объёма передаваемых данных.
В публикации о Headroom Чопра назвал большую часть контекста сжимаемыми данными, которые только маскируются под текст. В 2025 году группа исследователей оценила , что чтение пользовательского ввода может давать около 76% всего расхода токенов.
Поставщики моделей уже предлагают собственные способы экономии, но настройки часто остаются непрозрачными для конечных пользователей. Например, у Claude кэширование префикса по умолчанию может работать только пять минут, после чего контекст приходится отправлять заново. В документации также доступна настройка времени жизни кэша на один час, но запись в кэш обходится дороже, поэтому разработчику приходится самостоятельно искать выгодный режим.
На рынке появляются и коммерческие сервисы для сжатия токенов, включая Token Company . Среди открытых решений Чопра упоминает RTK и LeanCTX . Headroom отличается тем, что работает внутри обычного процесса разработчика и сохраняет возможность восстановить исходный контекст.
Headroom запускается как локальный прокси на компьютере инженера и перехватывает данные перед отправкой в модель. Инструмент анализирует историю диалога, логи, результаты работы инструментов, файлы, документацию из RAG-поиска и другие фрагменты, которые попадают в контекстное окно.
Сначала модуль CacheAligner ищет изменения в уже переданных данных и отправляет только новые фрагменты, чтобы не обновлять весь кэш провайдера модели. Если системная инструкция содержит дату или случайный UUID, провайдер может каждый раз воспринимать запрос как новый и не использовать кэш. Такой промах резко увеличивает расходы.
Затем Headroom определяет тип данных и отправляет фрагмент подходящему компрессору. Компрессор AST обрабатывает программный код, JSON-компрессор убирает лишние элементы из структурированных данных, DOM-компрессор сокращает веб-разметку. Отдельные модули оценивают текст и JSON статистически, а затем решают, какие части действительно нужны модели.
Финальный механизм Compress Cache and Retrieve оставляет в запросе маркеры сжатых мест. Если модели понадобится исходный фрагмент, агент сможет запросить полную версию через MCP-инструмент Headroom с компьютера пользователя. Оригинальный контекст хранится в Redis или SQLite.
Чопра признаёт, что стек ещё требует доработки, особенно в части проверки точности. Разработчик также планирует добавить компрессоры для новых типов данных, включая финансовую информацию. Для аудио, изображений и видео нужны отдельные подходы, а один из пользователей уже сделал форк проекта для обработки видео.
Сокращение контекста помогает не только экономить деньги. Исследователи Стэнфордского университета показали , что большие языковые модели чаще обращают внимание на начало и конец контекстного окна, а середину могут пропускать. Команда Chroma пришла к похожему выводу : у 18 протестированных моделей качество ответов становилось менее стабильным по мере роста длины входных данных.
Меньший контекст также снижает задержку. Один из пользователей Headroom адаптировал проект для голосового приложения, где даже паузы в речи могут превращаться в токены. Для естественного диалога сервису нужен ответ примерно за 200 миллисекунд, поэтому разработчики пытаются сокращать каждый лишний фрагмент перед отправкой в модель.