Saltar al contenido
Menú

Producto

Soluciones

Integraciones

Desarrolladores

Idioma

Producto

Tus hábitos te siguen al próximo proyecto

Cada proyecto guarda su propia memoria, así que cambias de agente sin volver a explicar nada. El perfil lleva la otra mitad: cómo sueles trabajar, aprendido de tus proyectos y entregado a cada proyecto nuevo al empezar la sesión.

Dos movimientos, una memoria

De lado, de un agente a otro, la memoria del proyecto se queda. Hacia adelante, de un proyecto al siguiente, el perfil te acompaña.

Diagrama: Claude Code, Codex y OpenCode, en fila, comparten un proyecto a través del chip de memoria. Tres proyectos alimentan el chip, que contiene el perfil, y una flecha lleva de él a un proyecto nuevo.
Las páginas del proyecto se quedan en su proyecto. Al perfil solo llegan las preferencias permanentes que se ven en varios proyectos.

Lo primero que oye una sesión nueva

La sesión empieza con un bloque corto y delimitado, antes del traspaso y del resumen del proyecto: una línea por entrada, cada una con la página de la que viene, filtrada por el stack que usa el proyecto. Es idéntico byte a byte entre sesiones, así que cabe en el prompt en caché del harness.

al empezar la sesión
> 🧭 ai-memory: your usual choices (cross-project profile)
> Your usual choices from other projects. Use them as defaults when this
> project's rules and the user say nothing; say which default you applied.
- [javascript] Use pnpm, not npm. (profile/tools/pnpm.md)
- Keep integration tests in tests/suite. (profile/testing/layout.md)

Primero las reglas, la memoria como respaldo

  1. Tus instrucciones en la conversación
  2. El archivo de reglas del repositorio: AGENTS.md, CLAUDE.md o el propio del harness
  3. La memoria del proyecto: sus páginas, reglas y decisiones
  4. El perfil: lo que sueles hacer entre proyectos

Si un archivo de reglas dice npm, un perfil que dice pnpm no se aplica. Si nada dice nada, el agente usa el perfil en lugar de volver a preguntar, e indica qué valor por defecto aplicó.

Cómo aprende, sin LLM

Una pasada del servidor se ejecuta al terminar cada sesión y una vez por hora. Lee lo que es nuevo y nada más.

Diagrama: tus propias palabras pasan por una comprobación de que se vieron en dos proyectos, se convierten en una entrada con su evidencia y llegan al inicio de cada sesión. Un hábito visto en un solo proyecto queda marcado como todavía no.
Un hábito visto en un solo proyecto sigue siendo asunto de ese proyecto hasta que un segundo proyecto lo muestre, o tú lo declares como regla general.
  • Tus propias palabras

    Prompts que suenan a preferencia: siempre, nunca, prefiero X a Y, a partir de ahora, por defecto, y las formas en portugués. Nunca se leen las preguntas, los bloques de código ni nada que haya impreso una herramienta.

  • Páginas curadas y el stack

    También cuentan las reglas, decisiones, gotchas y procedimientos curados del proyecto, y sus lenguajes pasan a ser entradas del stack. Se omiten las páginas que el planificador aprueba automáticamente; las aprobadas por una persona siguen contando.

  • Dos proyectos, o una declaración general

    Una elección entra en el perfil cuando aparece en al menos dos proyectos, o cuando tú mismo lo extiendes más allá del proyecto, por ejemplo con «en todos mis proyectos». Gana la decisión más reciente, y la anterior queda en el historial de la página.

  • Evidencia en cada entrada

    Cada entrada registra los proyectos y las fechas de las que viene, tus palabras, cuántos proyectos la respaldan y su confianza. Con un LLM configurado, la pasada clasifica y reformula las entradas mediante llamadas validadas por esquema, y vuelve a las listas de palabras ante cualquier error.

Un proyecto nuevo arranca con ventaja

Un repositorio que aún no tiene memoria recibe una base más amplia, y un comando convierte tus elecciones habituales en reglas que ve todo el mundo.

ai-memory profile apply escribe las entradas que encajan con el repositorio en un bloque gestionado de su archivo de reglas, entre dos marcadores, y no toca nada fuera de ellos. Ejecútalo de nuevo y solo cambia el bloque. Es el único comando que escribe en tu repositorio, y solo se ejecuta cuando tú lo ejecutas.

dentro del repositorio nuevo
# ver el bloque y el archivo al que iría
ai-memory profile apply --dry-run
# escribirlo
ai-memory profile apply
# quitarlo de nuevo
ai-memory profile apply --remove

Tú mantienes el control

Las entradas son páginas de wiki normales: markdown en git, con una versión en cada cambio.

  • Olvida, y se queda olvidado

    ai-memory profile forget elimina una entrada, y la pasada no la recreará con la misma evidencia. Solo vuelve si lo dices otra vez.

  • Tus ediciones mandan

    Una entrada que editas a mano es tuya desde ese momento. La pasada nunca reescribe una página que no escribió ella, ni una que cambió después.

  • El trabajo de clientes y bajo NDA queda fuera

    El marcador de un proyecto puede fijar contribute = false para que no se aprenda nada de él, y consume = false para que nunca reciba el digest.

  • Revisar y reconstruir

    profile review muestra cada entrada con su evidencia y los hábitos que aún no llegan al umbral. profile rebuild vuelve a leer cada proyecto desde el principio, nunca elimina una entrada y deja intacto lo que editaste o eliminaste.

.ai-memory.toml en el repositorio de un cliente
# este proyecto ni enseña ni recibe el perfil
[profile]
contribute = false
consume = false

Una persona, un perfil. Un equipo, por consentimiento.

En un servidor de un solo operador, el perfil está activado y lo comparten todos los workspaces. En un servidor multiusuario sigue desactivado hasta que lo actives.

  • Privado por operador

    Si lo activas en un servidor compartido, cada persona tiene un perfil restringido que solo ella y root pueden leer. Nada de lo que aprenden los agentes de una persona llega a los de otra.

  • Un perfil de equipo necesita dos voces

    share = "global" o "workspace" crea un perfil que recibe todo el mundo. Un hábito entra solo con evidencia de al menos dos operadores, y el digest lleva el encabezado de valores por defecto del equipo, para que el agente sepa que son compartidos.

  • Trabajo y vida personal por separado

    share = "workspace" mantiene un perfil por workspace, para dos clientes o para el trabajo y la casa.

configuración del servidor
# un servidor compartido: un perfil privado por operador
[profile]
enabled = true
share = "auto"
min_projects = 2

Lee la guía completa del perfil

Preguntas y respuestas

¿El perfil anula las reglas de mi proyecto?

No. Primero van tus instrucciones, luego el archivo de reglas del repositorio y después la memoria del proyecto. El perfil es el último respaldo, se usa solo cuando nada más específico dice algo, y el agente indica qué valor por defecto aplicó.

¿Necesita un LLM?

No. La recolección y la convergencia funcionan con listas de palabras y la declaración más reciente. Con un proveedor configurado, la pasada lo usa para clasificar y reformular entradas mediante llamadas validadas por esquema, y vuelve a la ruta sin LLM ante cualquier error. Pon llm = false para mantenerlo totalmente sin conexión.

¿Puede aprender algo del código de un cliente?

Lee tus propios prompts y las páginas curadas del proyecto, nunca la salida de las herramientas, así que un texto que un agente solo vio no puede convertirse en preferencia. Un proyecto con contribute = false en su marcador queda fuera por completo, incluida la evidencia reunida antes.

¿Qué pasa en un servidor compartido?

El perfil está desactivado hasta que un operador lo active. Entonces cada persona tiene un perfil privado que solo ella y root pueden leer. Un perfil de equipo es una decisión aparte, y admite un hábito solo con evidencia de dos operadores.

¿Puedo desactivarlo?

Sí. enabled = false o share = "off" en la configuración del servidor lo elimina por completo. inject_on_session_start = false deja el digest fuera del inicio de sesión mientras el perfil sigue respondiendo consultas.

Dale memoria a tus agentes hoy.

Gratis y de código abierto bajo la licencia MIT. No necesitas cuenta ni clave de API.