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
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 moderataGenera 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 esecuzioneInietta 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]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.
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.
