Vai al contenuto principale

alimentare un agente con il contesto di mercato senza bruciare token

Scopri come creare un "thin context block" per agenti AI crypto con MCP di Cryptohopper — taglia sprechi token, stabilizza quota e mantieni efficienti agenti loop-based.

Scritto da Isaac

Perché è importante

Gli agenti che operano in loop comportano due costi che si accumulano rapidamente. Costo quota: ogni chiamata agli strumenti MCP viene conteggiata nel tuo limite settimanale. Costo token: ogni pezzo di dati nella finestra di contesto aumenta il costo di elaborazione e peggiora la qualità del ragionamento.

Un blocco di contesto "leggero" interviene su entrambi: una singola scansione di ticker, riassunta in poche righe, iniettata una volta all'inizio della conversazione. L'agente ha consapevolezza situazionale senza la tempesta di chiamate agli strumenti o l'inflazione dei token.


Prerequisiti

  • Cryptohopper MCP configurato in un client MCP — vedi la panoramica della configurazione.

  • Un flusso di lavoro dell'agente che si esegue periodicamente o continuamente. I prompt "single-shot" non beneficiano di questa tecnica.

  • Il piano Pioneer è sufficiente — le chiamate ai ticker sono economiche su tutti i piani. Vedi piani di abbonamento.


Passaggi di configurazione

  1. Definisci cosa inserire nel blocco

    Quattro o sei righe, tutte derivate dai ticker — circa 100 token. Un blocco tipico copre: prezzo e variazione 24h per i tuoi anchor token, il maggior guadagno e la maggior perdita nell'universo della tua scansione, qualsiasi coppia con volume insolito e un'etichetta di regime di mercato di una parola.

    BTC  66.120   (+1,1%, vol normale)
    ETH 3.240 (+2,8%, vol elevato)
    SOL 148,50 (+1,9%, vol normale)

    Maggior guadagno: ARB +8,2% (vol 2,4x)
    Maggior perdita: DOGE -3,5% (vol normale)
    Volume insolito: LINK (prezzo piatto, vol 3,1x)

    Regime di mercato: risk-on, ampiezza moderata

  2. Genera il blocco con un ciclo per simbolo

    Non esiste uno strumento ticker di massa — ogni ticker è una singola chiamata MCP. La funzione seguente effettua una chiamata per simbolo. Una scansione con 3 ancoraggi + 10 simboli costa 13 chiamate per esecuzione.

    def build_thin_context() -> str:
    exchange = "binance"

    # Ticker di ancoraggio fissi — una chiamata ciascuno
    anchors = ["BTC/USDT", "ETH/USDT", "SOL/USDT"]
    anchor_tickers = [mcp.get_ticker(exchange, pair) for pair in anchors]

    # Universo di scansione — una chiamata per simbolo
    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]

    # Deriva i campi di riepilogo
    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)


    # Chiamate totali = len(anchors) + len(sweep_pairs) = 13 per esecuzione

  3. Inietta il blocco all'inizio del messaggio di apertura dell'agente

    Posiziona il blocco prima dell'istruzione del task con un timestamp. L'agente legge prima il contesto e non dovrebbe recuperare nulla che sia già elencato.

    [CONTESTO ALLA DATA 2026-04-24 08:00 UTC]

    BTC 66.120 (+1,1%, vol normale)
    ETH 3.240 (+2,8%, vol elevato)
    SOL 148,50 (+1,9%, vol normale)

    Maggior guadagno: ARB +8,2% (vol 2,4x)
    Maggior perdita: DOGE -3,5% (vol normale)
    Volume insolito: LINK (prezzo piatto, vol 3,1x)

    Regime di mercato: risk-on, ampiezza moderata

    Il tuo task: [la cosa effettiva che vuoi che l'agente faccia]

  4. Lascia che l'agente esegua l'escalation dal blocco leggero quando ha bisogno di più

    Il blocco è il riepilogo. Quando qualcosa sembra interessante, l'agente chiama l'MCP per ottenere candele o profondità dell'orderbook su quella specifica coppia. La maggior parte delle esecuzioni termina senza escalation — questo è il comportamento corretto.

  5. Ricarica a una cadenza che corrisponde al flusso di lavoro

    Agente orario → ricostruisci all'inizio di ogni ora.

    Riepilogo giornaliero → una volta al giorno.

    Assistente su richiesta → una volta per sessione.

    Non riutilizzare un blocco oltre i confini della cadenza — un contesto obsoleto è peggio di nessun contesto.



La matematica

Un agente che opera ogni ora, 16 ore al giorno, 5 giorni alla settimana, con una scansione di 13 simboli:

Approccio

Chiamate per esecuzione

Chiamate settimanali

Naïf (l'agente recupera da zero)

20–100 (varia notevolmente)

1.600–8.000

Contesto leggero + escalation selettiva

13 di base + ~10–30 con escalation

1.840–5.040 (stabile)

Il contesto leggero non è sempre più economico in aggregato — quello che acquista è la prevedibilità. Sai come appare la settimana peggiore. Sui 6.000 chiamate settimanali del piano Pioneer, mantiene fattibile un agente orario leggero nel piano gratuito.


Quando non usare questo schema

Situazione

Perché il contesto leggero non aiuta

Ricerca conversazionale "single-shot"

Fai semplicemente la domanda — l'assistente se ne occupa

Flussi di lavoro che richiedono sempre dati approfonditi

Un generatore di parametri per bot a griglia necessita già della cronologia delle candele; il contesto leggero è ridondante

Flussi di esecuzione sensibili allo slippage

Questi non dovrebbero mai ragionare da un contesto memorizzato nella cache — recupera sempre dati freschi

Usa il contesto leggero quando il flusso di lavoro è ripetuto, prevedibile e basato principalmente sulla consapevolezza. I risparmi si accumulano; senza queste proprietà, l'overhead non ne vale la pena.


Risoluzione dei problemi

L'agente ignora il contesto leggero e ripesca gli stessi dati

Promptalo esplicitamente: "Il blocco di contesto sopra è lo stato attuale — non recuperare nuovamente i ticker per BTC, ETH, SOL, o qualsiasi cosa elencata. Recupera nuovi dati solo se hai bisogno di qualcosa che non sia nel blocco." Una volta inquadrato come un vincolo, l'agente lo rispetta.

Il blocco è obsoleto al momento in cui l'agente lo utilizza

Per flussi di lavoro a cadenza breve (a livello di minuto), il blocco diventa obsoleto rapidamente. O aggiorna più spesso, o contrassegna chiaramente il timestamp del blocco in modo che l'agente sappia di ricontrollare prima di prendere decisioni basate su numeri vecchi.

Il formato del blocco è incoerente da un'esecuzione all'altra

Correggi il formato come un template e inserisci i valori — non lasciare che il modello scriva il blocco. Un generatore deterministico produce un output coerente.

Vuoi più dati nel blocco

Resisti all'impulso. Ogni riga costa token ad ogni esecuzione. Se un punto dati non viene fatto riferimento dalla maggior parte delle esecuzioni, appartiene a una chiamata su richiesta, non al blocco.

Il blocco include numeri che l'agente ignora

Tagliali. Un blocco utilizzato al 100% è meglio di uno utilizzato al 60%.

Il contesto multi-exchange rende il blocco troppo grande

Utilizza un exchange primario (solitamente Binance) per il blocco. Fai recuperare all'agente altri mercati solo quando è necessario un confronto — non pre-popolare il contesto multi-mercato per il caso generale.

Vuoi un contesto leggero che copra più timeframe

Utilizza un blocco per scopo dell'agente invece di cercare di unificarli. L'agente focalizzato sulla TA ottiene un blocco con trend a 4h; l'agente focalizzato sulla scansione ottiene un blocco con variazioni a 24h.

Hai ricevuto la risposta alla tua domanda?