
Всем привет! Если вы работаете с LLM — ChatGPT, Claude, DeepSeek, Qwen или другими — через API, то знаете: токены стоят денег. Контекстное окно у любой модели не резиновое, и чем больше кода вы отправляете, тем дороже каждый запрос. Новые модели с огромными контекстными окнами выходят каждый месяц и дешевеют, но зачем платить за то, что можно не отправлять?
В этой статье я расскажу про TokenCompress.com — прокси-сервис, который сжимает код перед отправкой в LLM. В среднем он убирает ~78% токенов, при этом качество ответов не падает, а в ряде случаев даже растёт — потому что модель получает только релевантный контекст, без шума.
Как это работает
TokenCompress — это не примитивное удаление комментариев или минификация. Внутри двухэтапный пайплайн:
Этап 1 (первоначальная фильтрация): Код разбирается через Tree-Sitter AST-парсер на структурные блоки (функции, классы, методы). Каждый блок ранжируется — насколько этот фрагмент кода снижает неопределённость модели относительно вашего конкретного вопроса. Нерелевантные блоки отсекаются.
Этап 2 (дополнительная фильтрация): Внутри отобранных блоков происходит построчная оптимизация по принципу задачи о рюкзаке — убираются избыточные строки (шаблонный код, неиспользуемые импорты, тестовые фикстуры), при этом логика и сигнатуры функций сохраняются.
Ключевой момент: сжатие контекстно-зависимое. Один и тот же файл сжимается по-разному в зависимости от вашего вопроса. Если вы спрашиваете про функцию post_groups — именно она и её зависимости останутся, а остальное уйдёт. Сжатие срабатывает, если код обернут в тройные кавычки (“`) и превышает 500 токенов.
Поддержка языков
Поддерживается 24 языка: Python, Rust, JavaScript, TypeScript, Go, Java, C#, C++, C, PHP, Kotlin, Dart, Swift, Scala, Ruby, Haskell, Erlang, Julia, Bash, HTML, CSS, Markdown, SQL, JSON. Для неподдерживаемых языков используется построчное разбиение.
Начинаем за 3 шага
Шаг 1. Регистрируемся
Заходим на https://tokencompress.com и входим через аккаунт GitHub, Google или Apple.

Шаг 2. Создаем API-ключ
Переходим в админку на страницу API-ключей и создаем новый ключ. Сохраните его — повторно он не отобразится, придётся создавать заново.

Шаг 3. Компонуем ключи
Это главный шаг. Вам нужно объединить два ключа в один — ключ TokenCompress и ключ вашего LLM-провайдера, разделённые двойным двоеточием :: например:
api_key = "ak_live_ВАШ_КЛЮЧ_TC::sk-ВАШ_КЛЮЧ_ПРОВАЙДЕРА"
Также замените base_url на адрес TokenCompress с указанием одного из поддерживаемого провайдера:
|
Name |
provider |
base_url |
Auth |
Format |
|
OpenAI |
openai |
Bearer |
openai |
|
|
Anthropic |
anthropic |
Bearer |
anthropic |
|
|
DeepSeek |
deepseek |
Bearer |
openai |
|
|
Google AI (Gemini) |
|
Bearer |
openai |
|
|
LM Studio |
lm-studio |
— |
openai |
|
|
Mistral AI |
mistral |
Bearer |
openai |
|
|
Qwen (Alibaba) |
qwen |
Bearer |
openai |
|
|
Ollama (Local) |
ollama |
— |
openai |
|
|
Ollama (Cloud) |
ollama-cloud |
Bearer |
openai |
|
|
OpenRouter |
openrouter |
Bearer |
openrouter |
|
|
Kilo AI |
kilo |
Bearer |
openai |
Вот и всё. Ваш код автоматически проходит через пайплайн сжатия, а затем отправляется в LLM-провайдер. Ответ приходит как обычно — включая streaming. Также имеется полная документация.
Тестируем на реальном примере
Давайте проверим сжатие на реальном файле из опенсорсного проекта Vaultwarden. Возьмём organizations.rs — увесистый файл на Rust.
Скачиваем его:
curl -o organizations.rs https://raw.githubusercontent.com/dani-garcia/vaultwarden/refs/heads/main/src/api/core/organizations.rs
Устанавливаем зависимости. Если у вас Python новее 3.12, langchain может не работать, поэтому скачиваем нужную версию Python и создаем виртуальное окружение:
python3.12 -m venv venv
venvScriptsactivate # Windows
# source venv/bin/activate # Linux/macOS
pip install langchain-openai
Создаём main.py:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
base_url="https://tokencompress.com/v1/anthropic",
api_key="ak_live_ВАШ_КЛЮЧ::sk-ant-ВАШ_КЛЮЧ_ANTHROPIC",
model="claude-opus-4-5",
)
# читаем ВЕСЬ файл
with open("organizations.rs", "r", encoding="utf-8") as f:
org_rs = f.read()
# формируем промпт с содержимым файла
prompt = f"""Вот содержимое файла organizations.rs:
```rust
{org_rs}
```
Вопрос: what does post_groups do if org_groups_enable() returns false?"""
response = llm.invoke(prompt)
print(response.content)
Запускаем скрипт:
python main.py
Если мы выполним два запроса: один напрямую, другой с использованием TokenCompress, то мы сможем увидеть точную статистику токенов. Зеленым выделен результат сжатия, красным — без сжатия. Результат — токены сократились почти на 70%. Модель получила только релевантные фрагменты кода и корректно ответила на вопрос. Ответ сжатого варианта также короче и точнее.
За 19 тестовых запросов суммарная экономия составила свыше 70 000 токенов.
Бенчмарки
Мы прогнали TokenCompress на 600 опенсорсных файлах на 22 языках программирования. Результаты:
|
Метрика |
Значение |
|
Исходных токенов (суммарно) |
900 556 |
|
После сжатия |
170 616 |
|
Экономия токенов |
80.5% |
|
Средняя задержка на файл |
222 мс |
|
Максимальная задержка |
431 мс |
|
Деградация качества ответов |
Не обнаружена |
Распределение степени сжатия: от 60% (p10) до 97% (p90), медиана — 82%.
Почему точность ответов может расти
Звучит контринтуитивно, но вот логика: когда вы отправляете в LLM огромный файл целиком, модель вынуждена «пробираться» через тысячи строк нерелевантного кода. Это создаёт шум, и модель может потерять фокус — особенно в середине длинного контекста (так называемая проблема «lost in the middle»).
TokenCompress отправляет модели только те фрагменты, которые действительно нужны для ответа на ваш вопрос. Меньше шума — точнее ответ.
Сколько можно сэкономить?
Посчитаем при консервативной оценке 60% сжатия (реально обычно выше):
|
Модель |
Экономия input-токенов в месяц* |
Стоимость подписки |
Чистая выгода |
|
Claude Opus |
~$1 125 |
$5–10 |
~$1 115 |
|
GPT-4o |
~$187 |
$5–10 |
~$177 |
|
DeepSeek V3 |
~$20 |
$5 |
~$15 |
*при объеме ~25 000 запросов/месяц
Даже на самых дешёвых моделях подписка окупается.
Тарифы
|
План |
Стоимость |
Запросов в месяц |
|
Starter |
$5 |
25 000 |
|
Pro |
$10 |
60 000 |
|
Team |
$20/место |
125 000/место |
|
Enterprise |
$199 |
1 500 000 |
|
Agentic |
$299 |
3 000 000 |
Есть бесплатный 3-дневный триал Pro-плана (1 500 запросов) без привязки карты.
А что с безопасностью?
Закономерный вопрос: «Мой код проходит через ваш сервер?»
Да, при использовании облачной версии код проходит через прокси TokenCompress. Вот что важно знать:
-
Код обрабатывается в памяти и не сохраняется на диск
-
Содержимое запросов не логируется
-
Обработка — per-request, без кэширования пользовательского кода
-
После сжатия к LLM-провайдеру уходит только сжатый фрагмент
Для повышенных требований к безопасности имеется тарифный план Enterprise: есть возможность self-hosted развертывания локально — в этом случае код вообще не покидает вашу инфраструктуру. Полная поддержка LM Studio, Ollama и vLLM.
Интеграция с Continue (VS Code)
Пример конфигурации для Continue:
name: Local Config
version: 1.0.0
schema: v1
models:
- name: TokenCompress - Deepseek
provider: openai
model: deepseek-chat
apiKey: ak_live_ВАШ_КЛЮЧ::sk-ВАШ_КЛЮЧ_DEEPSEEK
apiBase: https://tokencompress.com/v1/deepseek
roles:
- chat
- edit
- apply
defaultCompletionOptions:
stream: true
- name: TokenCompress Claude 4.5 Opus
provider: openai
model: claude-opus-4-5
apiKey: ak_live_ВАШ_КЛЮЧ::sk-ant-api-ВАШ_КЛЮЧ
apiBase: https://tokencompress.com/v1/anthropic
roles:
- chat
- edit
- apply
defaultCompletionOptions:
stream: true
Также работает с LangChain, LangGraph, OpenClaw, Codex, Claude Code, Continue и любым инструментом, который поддерживает OpenAI-совместимый API.
Итого
-
Экономия 60–80% токенов на каждом запросе к LLM
-
AST-парсинг + ML-ранжирование — это не программная минификация, а интеллектуальное сжатие с учетом вашего вопроса
-
24 языка, streaming, поддержка всех основных провайдеров
-
Подключение за 5 минут — меняете base_url и компонуете ключи
-
От $5/мес — окупается за один рабочий день
Попробовать бесплатно и без банковской карты: https://tokencompress.com/
Если есть вопросы — пишите https://t.me/TokenCompress, отвечу.
Автор: SpecOpss


