DEV Community

vdalhambra
vdalhambra

Posted on

Tu agente de IA se olvidó de todo. Otra vez. Así lo arreglamos.

Hay un problema que nadie habla lo suficiente sobre los agentes de IA.

Se olvidan de todo.

No de forma dramática. De forma silenciosa. Cada vez que abres una sesión nueva, tu agente empieza desde cero. No recuerda el flujo de trabajo que tardaste 40 minutos en enseñarle la semana pasada. No recuerda que page.fill() nunca funciona en ese tipo de formulario. No recuerda en qué paso dejaste esa tarea larga que no terminaste ayer.

Es como contratar a alguien muy inteligente que cada mañana se despierta con amnesia total.

La solución obvia que no es suficiente

Mucha gente usa CLAUDE.md o archivos de memoria organizados para darle contexto al agente. Funciona bien, y es lo que yo mismo hago en Claude Code.

Pero hay dos problemas.

Primero: solo funciona en Claude Code. Si usas Claude Desktop, Cursor, Windsurf, o cualquier otro cliente MCP, esos archivos no existen. Cada sesión: memoria en blanco.

Segundo: es memoria declarativa. Tú escribes las reglas. Pero no hay forma de escribir automáticamente "este método funcionó el 95% de las veces" o "este otro ha fallado 3 veces, no lo intentes". Para eso necesitas algo que aprenda solo, de la experiencia real.

Lo que construimos

axiom-perception-mcp es un servidor MCP que le da a tu agente memoria empírica. No reglas que tú escribes. Patrones que el agente descubre trabajando, con datos reales de cuántas veces funcionó cada cosa.

Funciona así:

# Antes de empezar una tarea:
recall_pattern("publicar tweet")
# → "Botón Post en columna izquierda. Azul para enviar. 95% éxito, 12 usos."

# Después de cada ejecución:
record_outcome("abc12345", success=True, approach="click left sidebar", time_ms=8200)

# Si algo falla:
record_outcome("abc12345", success=False, approach="page.fill()", error="CM editor ignores fill")
# → Queda anotado. Próximo agente no lo vuelve a intentar.
Enter fullscreen mode Exit fullscreen mode

El ejemplo real que más lo explica

Esta semana tuve que configurar un servidor en Glama. El formulario usa CodeMirror v6, un editor de código especial. El método normal para rellenar campos (page.fill()) no funciona en él.

Sin memoria: el agente lo intenta con page.fill(). Falla. Intenta con atajos de teclado. Falla. Intenta con el portapapeles. Falla. 40 minutos, 6 intentos.

Con memoria: recall_pattern("rellenar editor codemirror", context="glama playwright") → "page.fill() ha fallado 3 veces en este tipo de editor. El método que funciona es cmTile.view.dispatch(). Aquí están los pasos exactos." 2 minutos, primer intento.

Esa diferencia es literal. No es marketing.

Lo nuevo en v2.0

Añadimos tres cosas que los archivos de memoria no pueden hacer:

Checkpoints. Tareas largas que se interrumpen. En vez de empezar desde cero, el agente reanuda exactamente donde lo dejó, con las variables que había guardado.

# Sesión 1, paso 8 de 15:
save_checkpoint("enviar a directorios", current_step=8, total_steps=15,
    context="Siguiente: Smithery",
    variables={"submitted_to": ["glama", "mcpize", "pypi"]})

# Sesión 2, días después:
resume_checkpoint("enviar a directorios")
# → "Paso 8/15. Ya enviaste a glama, mcpize, pypi. Siguiente: Smithery."
Enter fullscreen mode Exit fullscreen mode

Coordinación multi-agente. Varios agentes trabajando a la vez pueden compartir resultados y bloquearse mutuamente para no duplicar trabajo.

# Agente 1 deja sus hallazgos:
share_note("result:competitor_research", json.dumps(findings))

# Agente 2 los consume:
read_note("result:competitor_research")
Enter fullscreen mode Exit fullscreen mode

Context-aware recall. Pasa tu entorno actual como contexto y el sistema prioriza los patrones que funcionaron en condiciones similares.

recall_pattern("fill form field", context="codemirror v6 glama admin playwright")
# Boost automático a patrones con context_hints que coincidan
Enter fullscreen mode Exit fullscreen mode

Por qué importa más allá de Claude Code

El diseño es agnóstico al cliente. Funciona en Claude Desktop, Cursor, Windsurf, Cline, o cualquier app que implemente el protocolo MCP. No necesitas Claude Code para tener memoria entre sesiones.

Si tienes Claude Code con CLAUDE.md bien organizado: axiom-perception es un complemento, no un reemplazo. Cubre lo que los archivos no pueden (success rates empíricos, checkpoints, multi-agente).

Si usas cualquier otro cliente MCP: es la única forma de tener memoria persistente entre sesiones.

Instalación

uvx axiom-perception-mcp
Enter fullscreen mode Exit fullscreen mode

O en tu claude_desktop_config.json:

{
  "mcpServers": {
    "axiom-perception": {
      "command": "uvx",
      "args": ["axiom-perception-mcp"]
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Gratis. Sin API keys. Sin configuración.

→ GitHub · → PyPI

La primera vez tarda 40 minutos. La segunda, 2. Eso es todo.

Top comments (0)