El problema
Los agentes con memoria persistente reinterpretan los hechos almacenados a lo largo del tiempo. Una nota de memoria que dice "La empresa X levantó la Serie B" se parafrasea en sesiones posteriores como "La empresa X está bien financiada" y eventualmente muta a "La empresa X es una gran empresa". Cada ciclo de recuperación y reescritura se aleja más del hecho original. El agente se equivoca con confianza y los usuarios pierden la confianza.
La solucion de Scavio
Antes de que el agente utilice una memoria almacenada para responder, valídela con una búsqueda en vivo. Consulte a Scavio para conocer el reclamo original, compare los resultados de la búsqueda con el hecho almacenado y marque o corrija cualquier desviación. Esto agrega una llamada API por recuperación de memoria pero evita errores compuestos entre sesiones.
Antes
Antes de la puesta a tierra, un agente de éxito del cliente almacenó que un cliente potencial utilizó 'Postgres 14 en AWS RDS'. Durante tres sesiones, la memoria pasó a la "base de datos en la nube en AWS". Cuando el agente recomendó una ruta de migración, sugirió DynamoDB en lugar de una opción compatible con RDS, lo que confundió al cliente potencial.
Después
Después de agregar la validación de búsqueda, el agente verifica los datos técnicos almacenados antes de usarlos. Una búsqueda rápida en Google de la pila tecnológica del cliente potencial confirma "Postgres en AWS RDS" y la recomendación sigue siendo precisa. La desviación de la memoria se detecta y corrige en tiempo real.
Para quien es
Desarrolladores de agentes que utilizan sistemas de memoria persistente y necesitan evitar la deriva de datos y mantener la confianza del usuario en interacciones multisesión.
Beneficios clave
- Capte la deriva de la memoria antes de que llegue al usuario
- Una llamada API por validación de memoria a $0,005
- Funciona con cualquier sistema de memoria (almacén de vectores, clave-valor, gráfico)
- Los resultados de la búsqueda proporcionan una cita que respalda el hecho corregido
- Previene errores compuestos entre agentes multisesión
Ejemplo en Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def validate_memory(stored_fact: str, entity: str) -> dict:
"""Check a stored agent memory against live search results."""
r = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': 'google', 'query': entity + ' ' + stored_fact[:60]}, timeout=10).json()
snippets = [o.get('snippet', '') for o in r.get('organic', [])[:3]]
key_terms = [t for t in stored_fact.lower().split() if len(t) > 4]
matches = sum(1 for t in key_terms if any(t in s.lower() for s in snippets))
confidence = matches / max(len(key_terms), 1)
return {
'stored_fact': stored_fact,
'confidence': round(confidence, 2),
'search_snippets': snippets,
'needs_update': confidence < 0.3
}
result = validate_memory('uses Postgres 14 on AWS RDS', 'Acme Corp')
print(result)Ejemplo en JavaScript
const H = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
async function validateMemory(storedFact, entity) {
const r = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST', headers: H,
body: JSON.stringify({ platform: 'google', query: entity + ' ' + storedFact.slice(0, 60) })
}).then(r => r.json());
const snippets = (r.organic || []).slice(0, 3).map(o => o.snippet || '');
const keyTerms = storedFact.toLowerCase().split(' ').filter(t => t.length > 4);
const matches = keyTerms.filter(t => snippets.some(s => s.toLowerCase().includes(t))).length;
const confidence = matches / Math.max(keyTerms.length, 1);
return { storedFact, confidence: Math.round(confidence * 100) / 100, searchSnippets: snippets, needsUpdate: confidence < 0.3 };
}Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA
Comunidad, publicaciones y comentarios en hilos de cualquier subreddit