Los agentes de IA repiten consultas más que los humanos. Un equipo de investigación que ejecuta las mismas 30 palabras clave todas las mañanas alcanza una tasa de caché del 60% al 80% después de una semana. Este tutorial conecta el caché.
Requisitos previos
- Python 3.10+
- Clave API de Scavio
- SQLite (integrado)
Guia paso a paso
Paso 1: Definir la clave de caché
Consulta más superficie más modificadores.
import hashlib, json
def key(query, surface='search', **modifiers):
payload = json.dumps({'q': query, 's': surface, **modifiers}, sort_keys=True)
return hashlib.sha1(payload.encode()).hexdigest()Paso 2: Tienda SQLite
clave, carga útil (JSON), marca de tiempo.
import sqlite3, time
conn = sqlite3.connect('search.db')
conn.execute('CREATE TABLE IF NOT EXISTS cache(k TEXT PRIMARY KEY, payload TEXT, ts REAL)')Paso 3: Envoltorio con TTL
1 hora para SERP, 30 min para Reddit, 24 horas para estático.
import os, requests
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def search(query, ttl=3600):
k = key(query, 'search')
row = conn.execute('SELECT payload, ts FROM cache WHERE k=?', (k,)).fetchone()
if row and time.time() - row[1] < ttl:
return json.loads(row[0])
data = requests.post('https://api.scavio.dev/api/v1/search', headers=H, json={'query': query}).json()
conn.execute('INSERT OR REPLACE INTO cache VALUES (?, ?, ?)', (k, json.dumps(data), time.time()))
conn.commit()
return dataPaso 4: Ajuste TTL por superficie
Diferentes superficies necesitan diferente frescura.
TTL = {
'search': 3600,
'reddit_search': 1800,
'amazon_search': 21600,
'extract': 86400
}Paso 5: Supervisar la tasa de aciertos de la caché
Registrar aciertos frente a fallos.
# Every call logs hit/miss to a counter table.
# Daily: SELECT date, hits / (hits+misses) AS rate FROM stats.Ejemplo en Python
# Daily Scavio spend before cache: ~$0.42.
# Daily Scavio spend after 67% hit rate: ~$0.14.
# Tail latency drops from 1.2s to 35ms on hits.Ejemplo en JavaScript
// Same architecture in TS with better-sqlite3.Salida esperada
60-80% cache hit rate after one week. Per-day Scavio cost drops accordingly. Tail latency on repeat queries falls to single-digit ms.