37 puntos por GN⁺ 2026-03-06 | 11 comentarios | Compartir por WhatsApp
  • Para resolver el problema de pérdida de contexto entre sesiones en Claude Code, se construyó un sistema de memoria combinando el motor de búsqueda local QMD con la skill /recall
  • QMD es un motor de búsqueda local que indexa bóvedas de Obsidian y ofrece tres modos de búsqueda: BM25, semántica e híbrida
  • La skill /recall permite restaurar al instante el contexto completo de sesiones pasadas en tres modos: cronológico, por tema y con visualización en grafo
  • Se implementó un pipeline automatizado que analiza, parsea e incrusta automáticamente los registros de conversación JSONL de 700 sesiones en el índice de QMD
  • Se propone un flujo de trabajo centrado en el contexto: aunque cambien las herramientas, mientras se conserve el contexto puede aprovecharse en cualquier agente de IA

Problema: Claude Code se reinicia en cada sesión

  • Todas las conversaciones de Claude Code empiezan desde cero, y tras 700 sesiones durante 3 semanas se volvió difícil rastrear decisiones previas y el contexto de los proyectos
  • Cuando a mitad de sesión se alcanza el límite de contexto (60%), hace falta usar compact o hand off, y en ese proceso se pierde la mitad de las decisiones tomadas
  • Al intentar retomar el trabajo al día siguiente, se repetía la molestia de no recordar qué se había hecho
  • El método anterior, la búsqueda basada en grep sobre archivos, no escala

QMD: motor de búsqueda local especializado para bóvedas

  • QMD es un motor de búsqueda local creado por el CEO de Shopify Tobias Lutke que indexa bóvedas de Obsidian y devuelve resultados en menos de 1 segundo
  • Es posible mapear una collection de QMD por carpeta de la bóveda (notas, registros diarios, sesiones, transcripciones, etc.) para hacer búsquedas más enfocadas
  • Funciona con un solo comando, por ejemplo: qmd collection list, qmd search "video workflow" -c notes -n 3
  • La búsqueda predeterminada de Claude Code usa un enfoque de fuerza bruta en el que un subagente Haiku hace grep sobre todos los archivos; en pruebas tardó 3 minutos y devolvió 300 archivos, además de ofrecer baja calidad en los resultados
  • La búsqueda con QMD es inmediata, más precisa y consume menos tokens — no requiere subagentes

Grep vs BM25 vs búsqueda semántica

  • BM25 (qmd search): búsqueda determinista de texto completo que hace match por palabras clave como grep, pero además asigna una puntuación a cada archivo
    — se basa en la frecuencia de aparición de palabras y su rareza respecto del total de documentos, usando solo operaciones matemáticas, sin IA ni embeddings
    • una nota corta donde se menciona "sleep" 5 veces recibe más puntuación que un archivo de 10,000 palabras donde aparece una sola vez
  • Semántica (qmd vsearch): basada en embeddings, permite buscar por significado incluso si no aparece la palabra exacta
  • Híbrida (qmd query): combina BM25 y búsqueda semántica
  • Comparación del benchmark de búsqueda de "sleep":
    • grep: devuelve 200 archivos, con mucho ruido incluyendo incluso el comando de programación sleep()
    • BM25: en menos de 2 segundos devuelve resultados relevantes como experimentos sobre calidad del sueño y registros de interrupciones del sueño
    • sin embargo, qmd search "insomnia" devuelve 0 resultados porque esa palabra no existe en la bóveda
    • semántica: al buscar "couldn't sleep, bad night" encontró incluso una meta de hábitos de sueño fijada años atrás — 4 de los 5 resultados no contenían la consulta
    • híbrida: ofrece el mejor ranking, con sleep quality improvement 89%, sleep interrupted at 3am 51%, health sleep optimization 42%
  • Patrón de uso recomendado: el 80% de las búsquedas se resuelven con BM25 (ideal para notas estructuradas), y en transcripciones o notas no estructuradas se añade búsqueda semántica

Casos reales de descubrimiento con búsqueda semántica

  • Ante una consulta no estructurada como "find the days when I was happy and what was the reason", Claude combina automáticamente varias búsquedas:
    • ejecuta múltiples consultas como qmd vsearch "happy, grateful, excited", "energy, great day, feeling good", "satisfaction, accomplishment", etc.
  • Encuentra conexiones semánticas en notas diarias de varios meses y detecta un patrón: "los días más felices eran aquellos en los que se lanzaba algo y luego había buena recuperación con sauna o 9 horas de sueño"

Skill /recall: cargar contexto antes de empezar a trabajar

  • /recall es una skill de Claude Code que funciona sobre QMD y carga automáticamente el contexto antes de comenzar el trabajo
  • Soporta tres modos:
    • temporal: escanea el historial de sesiones por fecha (/recall yesterday, /recall last week)
    • topic: búsqueda BM25 sobre las colecciones objetivo de QMD (/recall topic graph)
    • graph: visualización interactiva de sesiones y archivos (/recall graph last week)
  • Resultado de la prueba con /recall yesterday: reconstruyó en una línea de tiempo 39 sesiones de un día completo, mostrando hora, número de mensajes y contenido del trabajo de cada sesión
  • Resultado de /recall topic "QMD video": devolvió en menos de 1 minuto archivos relacionados de sesiones y notas completas, incluyendo dashboard, plan de producción y lista de pendientes — superó a grep por fuerza bruta en tiempo, tokens y calidad de resultados
  • El modo graph visualiza las sesiones como blobs de colores: las antiguas se ven más apagadas y las recientes se resaltan en púrpura; los archivos se agrupan por tipo en clústeres como goals, research, voice, docs, content y skills
  • Ejemplo: una semana después, se puede encontrar en el grafo una sesión donde se buscó un lugar para almorzar, copiar esa ruta de archivo en Claude Code y seguir trabajando desde la conversación previa

Indexación automática de 700 sesiones

  • Claude Code guarda localmente todas las conversaciones en archivos JSONL — en 3 semanas se acumularon 700 sesiones
  • Como los archivos originales incluyen tool uses, prompts de sistema, roles, etc., se parsean y se convierten a Markdown limpio (mensajes reales del usuario y señales relevantes) antes de incrustarlos en el índice de QMD
  • Al cerrar la terminal se ejecuta un hook automático que exporta e inserta embeddings de la sesión en QMD, manteniendo siempre el índice actualizado sin trabajo manual adicional

Encontrar ideas que nunca se ejecutaron

  • Al buscar "find the ideas that I have never acted on", Claude sintetizó los resultados de QMD y encontró lo siguiente:
    • 19 de octubre — había un plan para construir un dashboard de redacción del PhD, pero nunca se ejecutó
    • existía una idea de una app basada en ilustraciones, pero no hubo seguimiento
    • existía una idea de grabar la pantalla del flujo de trabajo en Obsidian, pero tampoco se llevó a cabo
  • Se redescubrieron cosas escritas meses antes y completamente olvidadas
  • Todos los embeddings se guardan localmente

Flujo de trabajo centrado en el contexto

  • Las notas dejan de quedar atrapadas dentro de Obsidian y se convierten en contexto útil para alcanzar objetivos reales
  • Las herramientas cambian (nuevo modelo, nuevo agente), pero si se conserva el contexto, puede funcionar igual en Claude Code, Codex, Gemini CLI o cualquier otro entorno
  • La capa de memoria opera en toda la pila en forma de skill
  • Configuración real: la bóveda se sincroniza entre una Mac y una Mac Mini siempre encendida mediante Obsidian Sync, y en la Mac Mini OpenClaw corre 24/7 — al conectarse a OpenClaw desde el teléfono, se puede usar en cualquier lugar la misma bóveda, el mismo índice de QMD y las mismas skills
  • Estructura completa de la pila:
    • abajo: Obsidian Vault
    • en medio: QMD Search
    • arriba: Claude Code / OpenClaw
    • el contexto fluye de abajo hacia arriba

11 comentarios

 
mammal 2026-03-06

Últimamente, ¿por qué se está muriendo tanto?

 
pjs102793 2026-03-06

jajajaja

 
t7vonn 2026-03-06

grep murió. Usemos ripgrep.

 
galadbran 2026-03-06

Estaba pensando en probar qmd, así que le pedí a una IA que investigara; me dijo que en la parte de embeddings está bastante bien, pero que no lo recomienda porque el soporte para coreano en BM25 y expansión de consultas no es bueno...

 
alstjr7375 2026-03-07

En casi la gran mayoría de los casos, también pasa con BM25.
Así que es bueno usar también un analizador morfológico.
https://github.com/bab2min/Kiwi

 
cshj55 2026-03-07

Verifiqué los hechos y parece que no hay evidencia precisa de esto. ¿Alguien más ha tenido alguna experiencia al respecto?

 
dalinaum 2026-03-23

Como BM25 es una búsqueda centrada en palabras, la opinión de galadbran parece tener sentido.

 
versionx 2026-03-10

Visto de forma más clásica, parece que las técnicas clásicas de recuperación de información simplemente se están reutilizando a un nivel más local.

 
redmi 2026-03-07

~~está muerto 💀💀💀

 
ppj050 2026-03-06

Es solo RAG;

 
lkaybob 2026-03-06

Como en la página de instalación piden una dirección de correo, pensé que era un repo privado, pero en realidad es un repo público.
Pueden entrar desde el enlace de abajo.

https://github.com/ArtemXTech/personal-os-skills/…