Почему это важно
Агенты, работающие в циклах, имеют две составляющие затрат, которые быстро накапливаются. Стоимость квоты: каждый вызов инструмента MCP засчитывается в ваш еженедельный лимит. Стоимость токенов: каждый фрагмент данных в окне контекста увеличивает стоимость обработки и снижает качество рассуждений.
Тонкий блок контекста решает обе проблемы: одно краткое сканирование тикеров, суммированное в нескольких строках, один раз в начале разговора. У агента есть ситуационная осведомленность без шторма вызовов инструментов или инфляции токенов.
Предварительные требования
Cryptohopper MCP настроен в MCP-клиенте — см. обзор настройки.
Рабочий процесс агента, который запускается периодически или непрерывно. Одноразовые запросы не извлекают выгоды из этого метода.
Тариф Pioneer достаточен — вызовы тикеров дешевы на всех тарифах. См. тарифы подписки.
Шаги настройки
Определи, что входит в блок
Четыре-шесть строк, все из тикеров — около 100 токенов. Типичный блок охватывает: цену и 24-часовое изменение для ваших основных токенов, лидера роста и падения по всей вашей вселенной сканирования, любую пару с необычным объемом и односложное определение рыночного режима.
BTC 66,120 (+1.1%, vol normal)
ETH 3,240 (+2.8%, vol elevated)
SOL 148.50 (+1.9%, vol normal)
Top gainer: ARB +8.2% (vol 2.4x)
Top loser: DOGE -3.5% (vol normal)
Unusual volume: LINK (flat price, vol 3.1x)
Market regime: risk-on, moderate breadthСгенерируй блок с помощью цикла по символам
Нет инструмента для пакетного получения тикеров — каждый тикер — это отдельный вызов MCP. Функция ниже делает один вызов на символ. Сканирование 3 основных + 10 символов стоит 13 вызовов за запуск.
def build_thin_context() -> str:
exchange = "binance"
# Фиксированные основные тикеры — по одному вызову для каждого
anchors = ["BTC/USDT", "ETH/USDT", "SOL/USDT"]
anchor_tickers = [mcp.get_ticker(exchange, pair) for pair in anchors]
# Вселенная сканирования — по одному вызову для каждого символа
sweep_pairs = [
"ARB/USDT", "OP/USDT", "AVAX/USDT", "LINK/USDT", "AAVE/USDT",
"UNI/USDT", "DOGE/USDT", "MATIC/USDT", "SEI/USDT", "TIA/USDT",
]
sweep_tickers = [mcp.get_ticker(exchange, pair) for pair in sweep_pairs]
# Получаем сводные поля
all_tickers = anchor_tickers + sweep_tickers
top_gainer = max(all_tickers, key=lambda t: t.change_24h_pct)
top_loser = min(all_tickers, key=lambda t: t.change_24h_pct)
unusual = [t for t in all_tickers if t.volume_ratio_vs_baseline > 2.5]
return format_as_context(anchor_tickers, top_gainer, top_loser, unusual)
# Общее количество вызовов = len(anchors) + len(sweep_pairs) = 13 за запускВставь блок в начало первого сообщения агента
Размести блок перед инструкцией по задаче с отметкой времени. Агент сначала читает контекст и не должен повторно извлекать данные, которые уже перечислены.
[КОНТЕКСТ НА 2026-04-24 08:00 UTC]
BTC 66,120 (+1.1%, vol normal)
ETH 3,240 (+2.8%, vol elevated)
SOL 148.50 (+1.9%, vol normal)
Top gainer: ARB +8.2% (vol 2.4x)
Top loser: DOGE -3.5% (vol normal)
Unusual volume: LINK (flat price, vol 3.1x)
Market regime: risk-on, moderate breadth
Твоя задача: [то, что ты на самом деле хочешь, чтобы агент сделал]Позволь агенту эскалировать из тонкого блока, когда ему понадобится больше
Блок — это сводка. Когда что-то выглядит интересно, агент запрашивает MCP для свечей или глубины стакана по этому конкретному инструменту. Большинство запусков завершаются без эскалации — это правильное поведение.
Обновляй с периодичностью, соответствующей рабочему процессу
Агент, работающий ежечасно → перестраивайся в начале каждого часа.
Ежедневный дайджест → один раз в день.
Помощник по запросу → один раз за сеанс.
Не используй повторно блок по истечении границ периодичности — устаревший контекст хуже, чем его отсутствие.
Расчеты
Агент, работающий ежечасно, 16 часов/день, 5 рабочих дней/неделю, с сканированием 13 символов:
Подход | Вызовы за запуск | Еженедельные вызовы |
Наивный (агент запрашивает с нуля) | 20–100 (сильно варьируется) | 1 600–8 000 |
Тонкий контекст + избирательная эскалация | 13 базовых + ~10–30 при эскалации | 1 840–5 040 (стабильно) |
Тонкий контекст не всегда дешевле в совокупности — он обеспечивает предсказуемость. Ты знаешь, как выглядит худшая неделя. На тарифе Pioneer с 6 000 вызовов в неделю он позволяет использовать легкого ежечасно агента на бесплатном тарифе.
Когда не следует использовать этот шаблон
Ситуация | Почему тонкий контекст не помогает |
Одноразовые разговорные исследования | Просто задай вопрос — ассистент разберется |
Рабочие процессы, которым всегда нужны глубокие данные | Генератор параметров сетчатого бота уже нуждается в истории свечей; тонкий контекст избыточен. |
Рабочие процессы, чувствительные к проскальзыванию | Они никогда не должны рассуждать на основе кэшированного контекста — всегда запрашивайте свежие данные. |
Используй тонкий контекст, когда рабочий процесс повторяется, предсказуем и в основном основан на осведомленности. Экономия накапливается; без этих свойств накладные расходы не оправдываются.
Устранение неполадок
Агент игнорирует тонкий контекст и повторно извлекает те же данные
Задай ему явную инструкцию: *"Блок контекста выше — это текущее состояние — не извлекай повторно тикеры для BTC, ETH, SOL или чего-либо из перечисленного. Запрашивай новые данные только в том случае, если тебе нужно что-то, чего нет в блоке."* После того как это будет сформулировано как ограничение, агент будет его соблюдать.
Блок устаревает к тому моменту, как его использует агент
Для рабочих процессов с коротким интервалом (на уровне минут) блок быстро устаревает. Либо обновляй чаще, либо четко укажи временную метку блока, чтобы агент знал, что нужно перепроверить перед принятием решений на основе старых чисел.
Формат блока несогласован от запуска к запуску
Исправь формат как шаблон и заполняй значения — не позволяй модели писать блок. Детерминированный генератор выдает согласованный результат.
Ты хочешь больше данных в блоке
Сопротивляйся искушению. Каждая строка стоит токенов при каждом запуске. Если данные не используются в большинстве запусков, они должны быть в запросе по требованию, а не в блоке.
Блок содержит числа, которые агент игнорирует
Удали их. Блок, который используется на 100%, лучше, чем тот, который используется на 60%.
Контекст по нескольким биржам делает блок слишком большим
Используй одну основную биржу (обычно Binance) для блока. Позволь агенту запрашивать данные с других площадок только тогда, когда требуется сравнение — не предварительно загружай многосетевой контекст для общего случая.
Ты хочешь тонкий контекст, охватывающий несколько временных рамок
Используй один блок для каждой цели агента вместо попытки их унифицировать. Агент, ориентированный на технический анализ, получает блок с 4-часовым трендом; агент, ориентированный на сканирование, получает блок с 24-часовыми дельтами.
