Clasificación de resultados
ContextForge aplica cuatro señales de clasificación sobre la similitud semántica. Priorizan conocimiento vivo y anclado sobre deseos obsoletos, sin ocultar nada.
Resumen. Si tienes ítems en memoria, ContextForge los clasifica por relevancia respecto a tu consulta y por su grado de vigencia, actualización reciente, anclaje a código real y concreción. La similitud semántica pura es solo el punto de partida.
Las cuatro señales
Cada señal se aplica sobre la puntuación de similitud coseno base devuelta por el modelo de embeddings. Los bonos son aditivos y están acotados; una penalización es multiplicativa. Nada se filtra: los ítems siguen siendo recuperables, simplemente pierden prioridad cuando existe algo más fiable.
1. Exclusión de datos de prueba
Los ítems etiquetados con test se excluyen de los resultados de búsqueda predeterminados para que los datos de semilla de prueba nunca contaminen una consulta real. Puedes incluirlos pasando filters.tags: ["test"].
Qué cambia:una consulta como "auth flow" ya no devuelve las filas de fixture que tu equipo creó al construir los tests.
2. Bono de recencia (decaimiento temporal)
Los ítems recientes reciben hasta un +15% sobre su puntuación de similitud. El bono decae con una semivida de 60 días usando updated_at (con respaldo en created_at).
Qué cambia: cuando hay dos ítems con relevancia similar, gana el más reciente. Los ítems antiguos no son penalizados: simplemente dejan de recibir el bono gratuito.
3. Correlación con Git
Cuando un ítem referencia una ruta de archivo que ha sido modificada en los últimos 30 días por un repositorio git conectado, recibe hasta un +20% en su puntuación. El bono es proporcional a cuántas de las rutas referenciadas aparecen en commits recientes.
src/lib/auth.ts se clasifica por encima de un plan genérico cuando ese archivo está siendo modificado activamente. Los ítems sin referencias a archivos permanecen neutros: no hay nada que correlacionar.Qué cambia: el conocimiento anclado a código vivo aparece por encima de deseos que no mencionan código concreto. Requiere un repositorio git conectado — configúralo en Integración con Git.
4. Penalización de propuestas
Los ítems cuyo título o contenido empieza por TODO:, FIXME:, WISH:, XXX:, HACK: o IDEA: reciben una penalización multiplicativa del 30%. El prefijo debe estar al inicio del texto (tras espacios en blanco) — las menciones inline no la activan.
Qué cambia: las listas de TODO generadas por IA ya no se clasifican como si fueran hechos establecidos. Una decisión real almacenada como nota normal superará a un deseo con el mismo tema y redacción similar.
Cómo se combinan
La puntuación final se calcula una vez por ítem candidato:
final = min(
1.0,
(cosine + cosine*0.15*recency + cosine*0.20*git) * proposalPenalty
)Los tres bonos se acumulan de forma aditiva (cada uno acotado a su propia contribución) y la penalización de propuestas multiplica el conjunto. Incluso una coincidencia perfecta pierde terreno real cuando está marcada como deseo.
Consejos para ítems bien clasificados
- ✓Referencia rutas de archivo o nombres de función reales en el contenido. Los ítems anclados a código que tu equipo está confirmando activamente reciben un bono medible sobre los que no lo hacen.
- ✓Actualiza los ítems cuando cambie el hecho subyacente en lugar de crear uno nuevo. Actualizar
updated_atmantiene vivo el bono de recencia. - ✓Guarda los deseos como Tasks, no como Knowledge Items. El seguimiento de tareas está en /dashboard/tasks. Si debes conservar un TODO en memoria, el prefijo lo marca como tal, pero se clasificará por debajo de los hechos reales.
- !Evita el patrón de "volcar 30 TODOs generados por IA". Todos coincidirán con consultas similares con puntuaciones parecidas y desplazarán la única respuesta real.
Preguntas frecuentes
¿Se oculta algún ítem de los resultados?
Solo los ítems etiquetados con test se excluyen de forma predeterminada, y vuelven en cuanto los solicitas. Todo lo demás siempre es recuperable, simplemente se clasifica de manera diferente.
¿Puedo desactivar estas señales?
Todavía no desde la API pública. Las señales se aplican en cada consulta. Si tienes un caso de uso que se ve perjudicado por alguna de ellas, escríbenos y valoraremos exponer un parámetro de control.
¿Funciona la correlación con Git sin un repositorio conectado?
No. Si no has conectado un repositorio, el factor git siempre es 0 y los ítems no ganan ni pierden por esta señal. Las otras tres señales siguen aplicándose.
¿Cómo se compara con otras herramientas de memoria?
La mayoría de productos de memoria semántica se detienen en la similitud coseno. La correlación con Git en particular es poco común: requiere que el almacén de memoria también ingiera actividad git, algo que ContextForge hace de forma nativa. Consulta Integración con Git.
Relacionado
- Búsqueda semántica — cómo funciona la coincidencia por embeddings subyacente.
- Integración con Git — conecta un repositorio para que la señal 3 (correlación git) se active.
- Tasks — dónde guardar los deseos en lugar de como Knowledge Items.