Tokenminning: сокращаем расходы AI-агентов на токенах | AiManual
AiManual Logo Ai / Manual.
02 Июл 2026 Гайд

Tokenminning: как сократить расходы на AI-агентов, минимизируя токены без потери качества

Практическое руководство по оптимизации токенов в AI-агентах. Методы сжатия промптов, кэширование, маршрутизация запросов и реальные кейсы экономии до 60%.

Почему ваш AI-агент тратит больше, чем должен

Если вы когда-нибудь смотрели логи своего агента и видели 4000 токенов на запрос "Привет, как дела?" — вы не одиноки. Большинство AI-агентов сегодня страдают от "токенного ожирения": они передают модельке кучу контекста, который ей не нужен, и платят за это реальные деньги. Tokenminning — это не просто модное слово, а системный подход к выжиманию максимума из каждого токена. В этой статье разберем, как сократить расходы на 40-60% без потери качества ответов, используя проверенные техники.

Но сначала короткая присказка: почему вообще возникла эта проблема? AI-агенты часто проектируются с перестраховкой — "зальем побольше контекста, авось пригодится". В результате модель получает тонны мусора, платит за его переработку, а качество ответа не улучшается. Tokenminning — это искусство отделять зерна от плевел, не давая агентам жировать на вашем бюджете.

Термин tokenminning (от token + mining) — добыча эффективности из каждого токена. В отличие от tokenmaxxing, который гонится за количеством, tokenminning фокусируется на качестве и минимальной достаточности.

Главный враг: токенный мусор

Токенный мусор — это все, что модель получает на вход, но не использует для генерации ответа. Примеры:

  • Системные сообщения, расписывающие биографию агента, его моральные принципы и историю создания. Модель не становится от этого умнее, а токены сгорают.
  • Повторяющиеся префиксы в каждом сообщении (например, "Ты — опытный DevOps инженер, отвечай кратко и по делу..."). Если это не меняется, вынесите в system prompt один раз.
  • Chain-of-thought для простых задач. Когда агент решает "2+2", ему не нужно рассуждать в три шага — достаточно прямого ответа.
  • Длинные куски RAG-контекста, где релевантны только 10% текста.

Посмотрите на свои логи: скорее всего, 30-50% входных токенов — вода. И за каждую каплю вы платите.

Принципы tokenminning

В основе лежат четыре простых принципа. Их комбинация дает максимальный эффект.

1 Сжатие промптов

Удаляйте все, что не влияет на семантику задачи. Переформулируйте инструкции в более краткие формы. Используйте токен-эффективный язык: вместо "Пожалуйста, подумай и дай развернутый ответ" пишите "Ответь кратко (до 3 предложений)".

2 Динамический контекст

Не передавайте всю историю диалога каждый раз. Используйте технику summary: сворачивайте старые сообщения в краткое резюме, добавляя его в контекст только когда нужно. Для длинных сессий — sliding window с вытеснением нерелевантных фрагментов.

3 Маршрутизация запросов

Не гоняйте все запросы через самую мощную модель. Простые вопросы (проверка статуса, извлечение данных) отправляйте на дешевые модели — GPT-4o-mini, Claude Haiku, Llama 3 8B. Сложные рассуждения — на флагманские. Разница в цене может быть в 10-20 раз.

4 Кэширование

Семантический кэш на эмбеддингах: если похожий запрос уже был, возвращайте закэшированный ответ вместо нового вызова модели. Это дает огромную экономию для повторяющихся шаблонов.

Пошаговый план внедрения tokenminning

1 Аудит текущих расходов

Прежде чем резать, надо измерить. Логируйте количество токенов на каждый запрос и ответ. Используйте библиотеку tiktoken (OpenAI) или transformers (Hugging Face) для подсчета. Заведите дашборд с метриками: токены на запрос, токены на ответ, токены на сессию, стоимость за час.

Пример простого логирования на Python:

import tiktoken

def count_tokens(text: str, model="gpt-4") -> int:
    encoding = tiktoken.encoding_for_model(model)
    return len(encoding.encode(text))

# Используйте в обёртке над API
response = openai.chat.completions.create(
    model="gpt-4o-mini",
    messages=messages,
    temperature=0.0
)
tokens_used = response.usage.total_tokens
print(f"Потрачено токенов: {tokens_used}")

2 Оптимизация системного промпта

Сократите системное сообщение до минимума. Уберите истории, роли, развернутые правила. Оставьте только конкретные инструкции. Например:

Как не надо: "Ты — дружелюбный помощник, который всегда вежлив и заботлив. Твоя задача — помочь пользователю. Отвечай развернуто, но по делу..." (120 токенов)

Надо: "Отвечай кратко, на русском, не более 2 предложений." (10 токенов)

Если нужна вежливость, добавьте одно слово "Вежливо" — модель поймет.

3 RAG-оптимизация

Для RAG-агентов — самая жирная цель. Не отправляйте в контекст весь найденный документ. Извлекайте только релевантные предложения, сжимайте их, используйте реранкинг. Отличный инструмент — методы сжатия контекста.

Попробуйте динамический top-k: для простых вопросов берите 2-3 чанка, для сложных — 5-7. Так вы не перегружаете модель мусором.

4 Внедрение маршрутизации

Классифицируйте входящие запросы на "простые" и "сложные". Используйте для этого отдельную легкую модель (можно даже эвристики). Простые запросы направляйте на GPT-4o-mini или Claude 3 Haiku (стоят около $0.15 за 1M токенов ввода), сложные — на GPT-4o или Claude 3.5 Sonnet (~$3 за 1M токенов). Разница в 20 раз.

Модель Цена за 1M токенов (ввод) Когда использовать
GPT-4o-mini $0.15 Простые QA, извлечение данных, триггеры
Claude 3 Haiku $0.25 Короткие ответы, классификация
GPT-4o $2.50 Сложные рассуждения, генерация кода
Claude 3.5 Sonnet $3.00 Креативные задачи, длинные ответы

Подробнее о метриках продуктивности по токенам читайте в статье про план по гвоздям — там разбирается, когда гонка за токенами вредит.

5 Семантическое кэширование

Если агент получает много похожих запросов (например, проверка статуса заказа), кэшируйте ответы. Используйте эмбеддинги для поиска ближайшего соседа. Если косинусное расстояние < 0.05, отдавайте кэш вместо вызова LLM.

Простая реализация на Python:

import numpy as np
from openai import OpenAI

client = OpenAI()

def get_embedding(text: str) -> list:
    resp = client.embeddings.create(input=[text], model="text-embedding-3-small")
    return resp.data[0].embedding

cache = {}  # embedding -> response

def cached_completion(user_query: str) -> str:
    emb = get_embedding(user_query)
    for key in cache:
        if np.dot(emb, key) > 0.95:  # threshold
            return cache[key]
    # иначе реальный вызов
    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": user_query}],
        temperature=0
    )
    result = response.choices[0].message.content
    cache[tuple(emb)] = result
    return result

В реальных продакшен-системах используйте Redis или векторную БД. Не забывайте про инвалидацию кэша при изменении данных.

6 Мониторинг и алерты

Поставьте пороги: если токены на запрос превышают N, логируйте предупреждение или отправляйте в отдельный канал. Настройте дашборды в Grafana или Datadog. Следите за трендами — если расход резко вырос, возможно, баг или новый тип запросов.

Типичные ошибки (как НЕ надо делать)

Ошибка 1. Пещерный стиль (caveman prompting). Некоторые радикально сокращают промпты до "Ответь. Кратко." — это часто ломает качество. Модель может начать отвечать односложно, теряя смысл. Хороший баланс — эксперимент с пещерным стилем показал, что экономия 30% токенов возможна, но для сложных задач качество падает.

Ошибка 2. Игнорирование середины контекста. Многие модели (особенно основанные на трансформерах) лучше помнят начало и конец. Если вы просто нарезаете сообщения, не структурируя их, важная информация может потеряться. Используйте "recursive summarization" или "sliding window" с приоритетом последних сообщений.

Ошибка 3. Оптимизация только входных токенов. Выходные токены часто стоят дороже (у многих провайдеров в 3-4 раза). Если вы заставляете модель отвечать кратко, но она при этом делает много retry или генерирует мусор, экономия на входе оборачивается перерасходом на выходе. Лучше потратить 50 токенов на четкую инструкцию, чтобы сэкономить 500 токенов на выходе.

Инструменты и ресурсы

Для внедрения tokenminning используйте:

  • LangSmith или Weights & Biases — трекинг токенов и стоимости.
  • LangChain с модулями text-splitter и context-compressor.
  • OpenAI's Tokenizer или tiktoken для точного подсчета.
  • Chroma / Pinecone для кэша эмбеддингов.

Полезные статьи по теме: 4 принципа экономии токенов с калькуляторами и разбор мульти-агентной симуляции с разными LLM, где на практике показан баланс между стоимостью и качеством.

Прогноз: следующая ступень — агенты-экономисты

Уже сейчас появляются AI-агенты, которые сами оптимизируют свои расходы: динамически выбирают модель, сжимают контекст, решают, что кэшировать. Эксперименты показывают, что агенты с бюджетными ограничениями спонтанно изобретают кредитные системы — они учатся договариваться о перераспределении ресурсов. Это будущее, где tokenminning встроен прямо в архитектуру.

Но пока что задача лежит на вас. Начните с малого: залогируйте свои расходы, удалите из промптов всю воду, поставьте роутер. За месяц вы увидите разницу не только в счете, но и в скорости ответов. Tokenminning — это дисциплина, а не разовая акция.

💡
Попробуйте начать с одного агента: оптимизируйте его, замерьте экономию, затем масштабируйте на остальных. И не забывайте про выходные токены — они самые дорогие.

Подписаться на канал