DEV Community

Cover image for Cómo Memory y Knowledge Base de osFoundry guardan lo que aprendió tu IA y se lo devuelven como contexto
tauchiii for tauchi Español

Posted on

Cómo Memory y Knowledge Base de osFoundry guardan lo que aprendió tu IA y se lo devuelven como contexto

Son las 9:40 de un lunes y abres un chat nuevo con tu agente de código. El jueves pasado se pasó una hora averiguando que el servicio de facturación corre sobre Postgres 16 y que la suite completa de tests tarda cuatro minutos. Hoy te vuelve a hacer las dos preguntas. Le respondes, asiente, y en algún rincón de tu cabeza empiezas a apuntar una lista de cosas que tendrás que repetir el viernes.

Qué son las funciones de Knowledge

osFoundry tiene un grupo de funciones pensadas para acabar con esa repetición: Note, Knowledge Base, Memory con sus Memory Groups, Lessons, Chat History e Indexed Folders. Dicho de forma sencilla, son los sitios donde se guarda lo que tú escribes y lo que tus agentes van descubriendo, junto con los controles que deciden qué parte de todo eso se le devuelve a la IA como contexto en la siguiente ejecución. En la app de escritorio no forman un único panel enorme, sino pantallas separadas: Notes para tus propios documentos, Knowledge Base para artículos compartidos, Memory (con el subtítulo "What Maestro knows & reads") para todo lo que recuerdan el asistente y tus agentes, e Indexes para las carpetas que decides incluir en la búsqueda. Si alguna vez has usado una wiki junto a un asistente de chat, imagina que la wiki y el cuaderno del asistente viven en la misma app, con un interruptor en cada estante que indica si la IA puede leerlo o no.

Un primer vistazo a la pantalla Memory

La pantalla Memory de osFoundry con la vista Agents, mostrando lo que @code-agent sabe y lo que aprendió (datos de ejemplo)

Esto es Memory con Agents seleccionado, con datos de ejemplo. Lo que ves:

  • La barra lateral izquierda: Memory Groups, Memory Browser, Chat History, Agents, Sessions y Lessons. Bajo "Indexing" están Chunking Station, Indexed Folders y Embeddings, que abren la pantalla Indexes.
  • La lista de agentes ("Agents with memory"): cada agente con cuántas memorias y lecciones lleva encima; aquí, @code-agent y @research-agent.
  • "What it knows": hechos guardados a partir de pasos completados y turnos de chat, que se vuelven a leer en las siguientes ejecuciones del agente. En el ejemplo: la versión de Postgres, el comando de tests y que prefieres pull requests pequeñas.
  • "What it learned": reglas que solo se escriben después de que un revisor rechazara el trabajo o de que fallara un paso.
  • "Move what it learned": Save to a file e Import from a file, porque las memorias y las lecciones se quedan en el dispositivo y no siguen por sí solas a un agente a otra máquina. Arriba, Settings y Turn off controlan la memoria de agentes en su conjunto.

Tres formas en que la gente lo usa

Una desarrolladora en solitario que no para de volver a explicar el código

Maya mantiene ella sola una API de tamaño medio y usa un agente para la mayoría de los cambios. Su problema no es que el agente sea malo, sino que cada sesión empieza de cero.

Abre Indexes, se queda en la pestaña Sources y hace clic en Add folder para elegir el repositorio. El escaneo es gratuito y muestra qué se va a indexar antes de generar ningún embedding. Elige "Index locally", que genera los embeddings en su propia máquina con un modelo local, y activa "Re-index automatically when files change" para que el índice siga el ritmo de sus cambios.

La pantalla Indexes con una carpeta indexada marcada como Ready, motor local y el interruptor de reindexado automático (datos de ejemplo)

Ahora, cuando le pregunta a Maestro con sus propias palabras dónde está la lógica de bloqueo de cuentas, el agente puede lanzar una búsqueda en la carpeta que combina palabras clave y significado, y vuelve con rutas de archivo y rangos de líneas en lugar de una suposición. A lo largo de unos días, los datos que el agente va recogiendo aparecen en Memory → Agents → "What it knows", así que la siguiente conversación ya empieza con ellos.

Un chat de Maestro respondiendo con los archivos y rangos de líneas exactos tras buscar en una carpeta indexada (datos de ejemplo)

Con qué se queda: un agente capaz de buscar en su código por significado y una lista corta y legible de lo que recuerda sobre su proyecto, que puede revisar cuando quiera.

Un líder de equipo que quiere que el agente deje de repetir un error

Daniel lleva un equipo pequeño en el que los agentes preparan cambios y una etapa de revisión los comprueba. Hace dos semanas, un agente "arregló" un test que fallaba borrándolo. El revisor rechazó esa ejecución y osFoundry escribió una lección a partir del rechazo.

Abre Memory → Lessons. Ahí aparecen las lecciones de todos los agentes junto con la ejecución de la que salieron, redactadas como "When … : …". Se queda con las útiles, como "When a test fails after your change: fix the code. Never edit, skip or delete the test to make it pass." Una fila lleva la etiqueta "from outside content": viene de una página de precios que leyó el agente de investigación y dice que siempre hay que recomendar un plan concreto. El agente trata ese tipo de lecciones como sugerencias, no como instrucciones, pero Daniel no la quiere ahí en absoluto, así que hace clic en Retire.

La lista de Lessons con una lección retirada marcada como de contenido externo y un botón Restore (datos de ejemplo)

Con "Show retired" activado, la fila retirada sigue visible, en gris y con un botón Restore, así que no se pierde nada si cambia de opinión. Con qué se queda: agentes que leen las lecciones activas más recientes antes de cada ejecución y un registro revisable de cada regla que han aprendido y de dónde salió.

Una consultora que quiere que la IA use el material del cliente correcto

Aiko es consultora freelance, no ingeniera. Los archivos de sus clientes son unos cuantos cientos de documentos de Word y PDF repartidos en carpetas de su portátil, y quiere que el asistente responda a partir de ellos sin mezclar clientes.

En Notes hace clic en Import… y elige "Import folder…" (el menú lo describe como opción para un vault de Obsidian o una exportación descomprimida; "Import .zip archive…" cubre una exportación de Notion o una copia de seguridad de Bear). La app de escritorio convierte los archivos en notas sin conexión y mantiene la estructura de carpetas en el File Tree.

Un File Tree de Notes tras importar una carpeta, con carpetas de clientes, reuniones e investigación convertidas en notas (datos de ejemplo)

Para las páginas que reutiliza con todos los clientes, como su checklist de onboarding y sus condiciones estándar, crea una Knowledge Base: New Knowledge Base y luego New article, o Import content desde PDF, DOCX, Markdown, una exportación de Notion o Confluence, o el rastreo de un sitio web. Después de editar un artículo pulsa Generate chunks para que la IA recupere la última versión; editar sin más no lo vuelve a indexar.

Luego va a Memory → Memory Groups y crea un grupo por cliente. En el ajuste "When can this be recalled?" de cada grupo deja al cliente actual en Normal (se busca cuando el proyecto lo permite) y pone un proyecto ya terminado en Never, lo que lo saca por completo de la búsqueda aunque siga guardado. Una memoria que debe estar en todas las respuestas, su tarifa, recibe "Pin (always in context)". Con qué se queda: respuestas basadas en el material del cliente correcto y un interruptor de apagado explícito para todo lo demás.

Cómo encaja en el resto de la app

Las funciones de Knowledge sirven sobre todo para alimentar otras partes de osFoundry, más que para usarse por separado. Maestro, el asistente integrado en la app, es su lector principal: busca en los memory groups cuando una pregunta lo requiere y usa Indexed Folders a través de su búsqueda en carpetas. Los agentes de las pantallas Agent team y Single agent llevan su propia memoria y sus lecciones a cada conversación en la que participan. La pestaña Health de la pantalla Indexes reúne Chunking Station y Embeddings, donde ves qué notas, artículos y archivos han cambiado, han fallado o nunca se han dividido en chunks. Chat History guarda las transcripciones que se escriben cuando las conversaciones largas se compactan, para que puedas volver a las palabras originales que hay detrás de un resumen. Y para las conversaciones que tuviste en otras apps de IA de tu ordenador, External agents muestra esas sesiones junto a las de osFoundry. Las páginas de agent memory groups y knowledge bases entran en más detalle en cada una.

Preguntas habituales de quien empieza

¿El asistente lee todas mis notas automáticamente?
No. El asistente no lee las memorias automáticamente: las busca cuando una pregunta lo necesita, y el ajuste de cada memory group (Always on, Normal o Never) decide hasta dónde puede llegar esa búsqueda. Las carpetas solo se indexan después de añadirlas en la pantalla Indexes.

¿Dónde se guarda todo esto?
Las memorias y lecciones de los agentes se guardan en tu dispositivo, y las lecciones nunca se suben. Los memory groups pueden ser personales o de todo el workspace, y estar en este dispositivo o en la nube; la pantalla Memory muestra los recuentos de ambos.

¿Qué diferencia hay entre Chat History, Sessions y Lessons?
Chat History es la transcripción de lo que se dijo, Sessions muestra lo que los agentes guardaron de cada paso y Lessons son las reglas que los agentes siguen la próxima vez. Las dos primeras son evidencias que puedes comprobar; Lessons son pautas que puedes retirar o restaurar.

¿Necesito la app de escritorio?
Para las partes que leen tu propio ordenador, sí: la indexación de carpetas, la importación de archivos a Notes, Chat History y las vistas de memoria de agentes funcionan en la app de escritorio, que puedes conseguir en la página de descarga.

Top comments (0)