Dale memoria a tus agentes de código: cómo funes mantiene el contexto entre máquinas

Los agentes de codificación pierden contexto al cambiar de máquina o sesión. Funes transforma los rastros de esas interacciones en una memoria recuperable, con búsqueda semántica, trazabilidad y control de privacidad.

Por Redaccion TD
Dale memoria a tus agentes de código: cómo funes mantiene el contexto entre máquinas

El problema: los agentes como extraños

Muchos equipos y desarrolladores trabajan en varios equipos y usan distintos agentes de programación según la tarea. El resultado común: cada nuevo agente recibe el proyecto como si fuera la primera vez. La lógica, las decisiones y el razonamiento de sesiones previas se pierden cuando termina la sesión, y reconstruir el “por qué” suele ser lento o imposible.

Investigaciones recientes han señalado que los propios agentes generan el material necesario para recordar: mientras exploran el código, prueban enfoques, enfrentan errores y ajustan la dirección, dejan rastros que documentan no solo qué cambió, sino por qué. Pero esos registros, en bruto, son sólo potencial memoria: archivos de sesión que no son fáciles de consultar ni de enlazar con preguntas del workflow.

Qué es funes y qué resuelve

Funes es una capa de memoria durable diseñada para agentes de codificación (Claude Code, Codex, pi y Hermes). Toma las sesiones que ya existen en su máquina y las convierte en una memoria activa que los agentes pueden consultar durante la conversación, sin necesidad de pegar contextos antiguos manualmente.

Sus promesas clave:

  • Transformar trazas de sesiones en una memoria indexada y recuperable.
  • Mantener la evidencia en bruto: los resultados pueden siempre vincularse de vuelta al turno original con agente, marca de tiempo y contexto.
  • Operar localmente por defecto, con embedding y reranking en la máquina del usuario, sin enviar sesiones a un servicio externo para su procesamiento.

Instalación e integración mínima

Funes se distribuye como un único binario que pretende integrarse en el flujo normal de trabajo de un agente con un solo comando. La instalación y la integración que se muestran en la documentación oficial incluyen comandos sencillos, por ejemplo:

curl -fsSL https://huggingface.co/buckets/huggingface/funes/resolve/install.sh | sh
funes add claude   # también: codex, pi, hermes

Ese funes add inicial construye el primer índice, proporciona al agente herramientas de recall y get, y activa la automatización que indexa cada turno completado. La indexación es incremental: las nuevas ejecuciones añaden nuevos turnos sin re-embedir todo el historial, y el contenido más antiguo puede respaldarse en pasos acotados.

Cómo funciona por debajo (resumen técnico)

Funes normaliza las trazas admitidas en una estructura uniforme de “turno y bloque”, las fragmenta, las transforma en embeddings con un modelo local fijado (pinned), y escribe todo en un dataset Lance local. Las consultas combinan búsqueda vectorial y BM25, fusionan las clasificaciones, reordenan candidatos con un cross-encoder, reponderan por recencia y adjuntan fragmentos vecinos.

El resultado es una memoria que prioritiza precisión y trazabilidad: recall devuelve el texto original y la procedencia exacta; además get abre el turno completo con su contexto.

Memoria compartida: un dataset, no un servicio

Para que la memoria acompañe su trabajo entre máquinas, funes permite “vincular” la memoria a un dataset en Hugging Face al agregar un agente:

funes add codex acme/funes-memory

Ese comando publica la memoria actual y mantiene sincronizada la versión en el Hub, indexando localmente cada turno y publicando en los límites de sesión. La memoria compartida es un dataset Lance local que se sincroniza con un dataset de Hugging Face (privado por defecto). Antes de publicar, funes aplica una redacción de credenciales durante la indexación y reescanea los fragmentos para retener lo que pueda ser secreto; el comportamiento del escáner está documentado en SECURITY.md.

Cuando un agente lee una memoria remota, funes cachea los archivos localmente para acelerar consultas posteriores. Esto permite que la memoria siga al desarrollador sin convertirla en una cuenta externa ni en un servicio de pago al que se renta el acceso.

Uso interactivo: ask y recall

Funes está pensado para que los agentes usen la memoria de forma natural en la conversación. Si quieren hacer una consulta directa, existe funes ask, que es la versión de solo lectura y de una pregunta:

funes ask claude "que decidimos sobre el parser por streaming"
# o apuntando a una memoria compartida
funes ask claude "por que funes es append-only" --memory huggingface/funes-memory

funes ask recupera pasajes, los pasa al agente y devuelve una respuesta fundamentada que nombra sus fuentes. Si la memoria no contiene evidencia suficiente, el agente lo indica en lugar de inventar una respuesta.

Beneficios para equipos y desarrolladores en América Latina

  • Continuidad del trabajo: equipos distribuidos y profesionales que alternan entre máquinas dejarán de perder contexto clave entre sesiones.
  • Control y privacidad: la indexación y el reranking ocurren localmente por defecto; la opción de compartir con Hugging Face añade control de acceso y versionado sin exponer automáticamente información sensible.
  • Trazabilidad en auditorías y revisiones: al mantener la evidencia en bruto y enlazable, las decisiones de ingeniería quedan documentadas de manera utilizable para revisiones posteriores.

Para empresas y proyectos en la región que buscan equilibrar productividad y cumplimiento, este enfoque reduce la necesidad de centralizar registros en servicios externos, manteniendo la opción de colaboración cuando se necesite.

Consideraciones y límites

Funes documenta su escaneo de secretos en SECURITY.md; aun así, es recomendable revisar políticas internas de manejo de datos y pruebas de la herramienta en entornos controlados antes de integrar un flujo de publicación automática. Además, si bien el pipeline prioriza trazabilidad, una recuperación fallida no se debe tergiversar: el agente puede señalar que no hay evidencia en la memoria y el flujo propone reintentos o integrar funes al agente para búsquedas iterativas durante la tarea.

Conclusión

El problema de que los agentes aparezcan como “extraños” ante un proyecto es real y costoso en tiempo. Funes propone convertir los rastros que los agentes ya generan en una memoria útil, local por defecto y compartible cuando conviene, manteniendo la evidencia original y ofreciendo trazabilidad en cada respuesta. Para equipos de desarrollo y responsables de producto en América Latina, representa una alternativa práctica para conservar contexto entre sesiones y reducir fricciones al cambiar de herramientas o máquinas, sin renunciar al control de datos y la privacidad.

Fuente original: Hugging Face Blog