Búsqueda
Cuatro estrategias de recuperación, fusionadas por posición, con una explicación adjunta a cada resultado.
Cuatro maneras de equivocarse, combinadas
| Estrategia | Encuentra |
|---|---|
| Léxica | las palabras que están realmente en el documento |
| Densa | el significado, cuando tus palabras y las de la nota no coinciden |
| Grafo | lo que está conectado a lo que encontraron las dos primeras |
| Recencia | la versión en la que estabas trabajando esta semana |
Los resultados se fusionan por posición, no por puntuación. Cada estrategia devuelve un número en su propia escala, y normalizar tres escalas incomparables es un ajuste que hay que rehacer cada vez que cambia cualquiera de ellas; combinar posiciones es independiente de la escala.
Los pesos se ajustan según el tipo de consulta — una frase entrecomillada se inclina a lo léxico, una oración a lo denso, un nombre al grafo — y el clasificador es una regla determinista, nunca un modelo. Un modelo en la vía de recuperación cuesta una ida y vuelta y se equivoca de una forma que nadie puede reproducir.
Qué se indexa
Las notas se indexan en fragmentos alineados con los bloques: bloques hermanos bajo el mismo encabezado, agrupados hasta un tamaño objetivo, con un bloque de solapamiento para que un hecho enunciado a caballo de un límite sobreviva entero. Nunca se parte un bloque de código ni una fila de tabla: media función no compila y media fila no es un hecho, y ambas se recuperarían con total confianza.
Cada fragmento se prefija con dónde vive — título de la nota, ruta de encabezados, tipo, entidades enlazadas, fecha — antes de incrustarse. Una app de notas conoce eso estructuralmente, y por eso el prefijo no cuesta nada y no lo genera un modelo.
El texto es buscable en el instante en que se guarda. La búsqueda semántica se pone al día de forma asíncrona; sin un proveedor de incrustaciones configurado, la búsqueda funciona con las otras tres estrategias en lugar de no devolver nada.
¿Por qué he obtenido este resultado?
Cada resultado lleva su propia explicación: qué estrategias contribuyeron, qué puntuaron, qué términos coincidieron, el camino por el grafo que lo alcanzó y cualquier penalización aplicada.
Si una nota ha sido sustituida por otra, el resultado lo dice y nombra a la sucesora. Los agentes siguen la cadena en lugar de citar la nota caducada.
Qué no devolverá la búsqueda
- Notas archivadas, salvo que se pidan explícitamente.
- Notas fuera del alcance resuelto de quien llama.
- Contenido que escribió un agente y nadie revisó, salvo que quien llama baje el umbral de confianza.
- Cualquier cosa alcanzable solo por una arista que afirmó un agente y ninguna persona confirmó.
Esa última es una regla de seguridad, no de calidad. Afirmar un enlace es una escritura barata, así que si una arista inferida fuera recorrible, un agente podría meter contenido arbitrario en el contexto del siguiente agente con solo afirmar una conexión con él.
Hacer una pregunta
fp ask y POST /v1/ask devuelven una respuesta fundamentada con citas a nivel de bloque. Las citas son identificadores extraídos de lo que realmente se recuperó: el modelo elige cuáles citar y no puede inventarse una.
Esta es la única vía que envía texto de tus notas a un tercero. Todo lo que se envía está limitado a lo que puedes leer, se redacta contra secretos mediante reglas deterministas y se encapsula como datos, de modo que una nota que diga «ignora tus instrucciones» se cita en lugar de obedecerse. Un despliegue sin proveedor de modelo configurado rechaza la ruta por completo en vez de fingir.
Cada respuesta es una llamada de pago a un modelo, así que las preguntas están limitadas a 20 por minuto por persona. La cuota se comparte entre tu sesión y todos los tokens de CLI que tengas, así que volver a iniciar sesión no te da una segunda. Un token con un límite de gasto queda sujeto también a ese límite.