Всем привет! Если вы работаете с 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

https://tokencompress.com/v1/openai

Bearer

openai

Anthropic

anthropic

https://tokencompress.com/v1/anthropic

Bearer

anthropic

DeepSeek

deepseek

https://tokencompress.com/v1/deepseek

Bearer

openai

Google AI (Gemini)

google

https://tokencompress.com/v1/google

Bearer

openai

LM Studio

lm-studio

https://tokencompress.com/v1/lm-studio

openai

Mistral AI

mistral

https://tokencompress.com/v1/mistral

Bearer

openai

Qwen (Alibaba)

qwen

https://tokencompress.com/v1/qwen

Bearer

openai

Ollama (Local)

ollama

https://tokencompress.com/v1/ollama

openai

Ollama (Cloud)

ollama-cloud

https://tokencompress.com/v1/ollama-cloud

Bearer

openai

OpenRouter

openrouter

https://tokencompress.com/v1/openrouter

Bearer

openrouter

Kilo AI

kilo

https://tokencompress.com/v1/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
venv\Scripts\activate       # 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
Claude позволяет просмотреть журнал запросов на странице: https://platform.claude.com/workspaces/default/logs
Claude позволяет просмотреть журнал запросов на странице: https://platform.claude.com/workspaces/default/logs

Если мы выполним два запроса: один напрямую, другой с использованием TokenCompress, то мы сможем увидеть точную статистику токенов. Зеленым выделен результат сжатия, красным — без сжатия. Результат — токены сократились почти на 70%. Модель получила только релевантные фрагменты кода и корректно ответила на вопрос. Ответ сжатого варианта также короче и точнее.

За 19 тестовых запросов суммарная экономия составила свыше 70 000 токенов.

Страница Compression Stats
Страница Compression Stats

Бенчмарки

Мы прогнали 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, отвечу.