Ir al contenido
searchingestionarchitecture

Anatomía de un pasaporte de nodo

Título, resumen de sesenta tokens, tags y alias: por qué el pasaporte es donde MonkeyLLM gasta su inteligencia, y cómo BM25 ponderado por campos convierte curaduría en recall@5 = 1.00 a 1.3 ms.

Equipo MonkeyLLM4 min de lectura

Cada nodo de un bosque MonkeyLLM viaja con un pasaporte: un título, un resumen sujeto a sesenta tokens, tags y alias. Parece metadata. Es la decisión de diseño más deliberada del sistema: el lugar exacto donde se gasta inteligencia para que el modelo pueda gastar menos.

Cuatro campos, un trabajo

Un pasaporte existe para que un agente pueda juzgar un nodo sin pagar por abrirlo. Durante una cacería un agente ojea docenas de pasaportes y abre solo unos pocos nodos, así que cada campo tiene que ganarse su lugar.

Título. Un nombre lo bastante específico para decidir a partir de él, del tipo que tendría una wiki bien llevada. "Política de backoff para reintentos de pago", no "Notas (final v2)".

Resumen. El contrato de sesenta tokens. No un adelanto, un veredicto: qué sabe este nodo y cuándo abrirlo paga. Sesenta tokens porque los pasaportes se leen constantemente, y leer uno tiene que ser casi gratis.

Tags. Geografía gruesa: billing, infra, compliance. Suficiente para orientar, nunca un proyecto de taxonomía.

Alias. Los nombres que la gente usa de verdad. "SSO" junto a "single sign-on", el nombre en clave del proyecto, el nombre viejo del servicio que la mitad del equipo todavía dice. Los alias son donde el desajuste de vocabulario va a morir.

Pagado una vez, en tiempo de escritura

Nada de esto es gratis, y el lugar honesto para pagarlo es la ingesta. Medimos el trade de escritura en 100 documentos heterogéneos del mundo real: 1.71 s por documento, con el 100% de los resúmenes pasando el contrato de sesenta tokens y cero enlaces rotos después. La pantalla Ingest (la portada de este post) muestra ese esfuerzo como un trabajo que puedes mirar: archivos, carpetas y clips entrando, pasaportes saliendo.

Este es el Principio del Bosque aplicado a un esquema: gasta inteligencia en el entorno para gastar menos en el modelo. El tiempo de lectura nunca vuelve a pagar el costo de curaduría, y el tiempo de lectura es donde viven cada cacería, cada sesión, cada día. El argumento largo está en el Principio del Bosque.

BM25 ponderado por campos lo cobra

La búsqueda de entrada, la forma en que un agente cae por primera vez en el bosque, es BM25 sobre SQLite. BM25 es la clásica función de ranking por palabras clave detrás de la mayoría de los motores de búsqueda, y SQLite la trae de fábrica: sin embeddings, sin base de datos vectorial, sin GPU en el camino de entrada.

Logo de SQLite

En nuestro corpus de benchmark alcanza recall@5 = 1.00 a 1.3 ms p95. La razón es el pasaporte: ponderar los campos curados, título y alias por encima de todo, cerró por completo la brecha con la búsqueda híbrida. Los desajustes que un embedder suele ser contratado para suavizar ("dunning" versus "reintentos de pago") se resuelven en cambio con un alias deliberado sentado exactamente donde mira la función de ranking.

Gráfico de búsqueda de entrada: recall@5 = 1.00 a 1.3 ms p95 con búsqueda de entrada solo BM25
Gráfico de búsqueda de entrada: recall@5 = 1.00 a 1.3 ms p95 con búsqueda de entrada solo BM25

El embedder es opcional y soportado, no eliminado. Si tu corpus de verdad necesita recall semántico, conecta uno. Solo que ya no es la caseta de peaje en la puerta de entrada.

A qué se siente la disciplina

La curaduría suena preciosista hasta que la reduces a reflejos. Si un resumen no puede decir por qué existe el nodo en sesenta tokens, son dos nodos. Si una cacería falla porque el agente buscó una palabra que el pasaporte nunca usa, el arreglo es un alias de una línea, no un nuevo stack de recuperación. Los tags se mantienen gruesos y pocos. Y los agentes que plantan nodos nuevos quedan sujetos al mismo contrato que el pipeline de ingesta, mecánicamente, para que el bosque no pueda pudrirse en silencio. Cada pasaporte que afilas vuelve más barata cada cacería futura.

Reproduce la tabla

El corpus, los conjuntos de preguntas y el harness están versionados, y cada número de este post se regenera con un comando; el paper es un preprint y lo decimos. Los docs de primitivas describen los campos del pasaporte con precisión. Reproduce la tabla de búsqueda de entrada tú mismo desde https://github.com/JimmyWesley/MonkeyLLM, o lee el preprint vía https://monkeyllm.com.

¿Quieres la versión larga?

El paper trae la arquitectura completa, las tablas del benchmark y los hallazgos que no cumplieron sus criterios.