Trocea bien los documentos para la recuperación
La recuperación es solo tan buena como sus trozos. Así se dividen los documentos para que el pasaje correcto vuelva entero y en contexto.
Cuando un sistema de recuperación falla, la causa a menudo no es el modelo ni el algoritmo de búsqueda, sino los trozos. Un trozo (chunk) es la unidad que indexas y recuperas: la pieza de un documento que se empareja con una consulta y se entrega al modelo como contexto. Si tus trozos están mal cortados, incluso una recuperación perfecta devuelve fragmentos demasiado pequeños para ser útiles, demasiado grandes para ser relevantes, o partidos justo por la mitad de la respuesta. Acertar con el troceado es poco glamoroso y determina lo bien que funciona todo lo que viene después.
Por qué el tamaño del trozo decide todo aguas abajo
Por lo general no puedes alimentar un documento entero al modelo en cada consulta: es un desperdicio, y enterrar el pasaje relevante en páginas de texto irrelevante empeora la respuesta, no la mejora. Así que divides los documentos en trozos, incrustas cada uno y recuperas solo los trozos que coinciden con la consulta. El trozo es, por tanto, a la vez la unidad de búsqueda y la unidad de contexto. Su tamaño y sus fronteras deciden lo que el modelo llega a ver.
Este doble papel crea tensión. Un trozo lo bastante pequeño para ser una coincidencia de búsqueda precisa puede ser demasiado pequeño para cargar suficiente contexto y que el modelo responda. Un trozo lo bastante grande para ser autónomo puede ser demasiado amplio para coincidir limpiamente con una consulta específica, porque mezcla varios temas y diluye la señal. Un buen troceado es el oficio de resolver esta tensión: hacer trozos lo bastante específicos para recuperarse con precisión y lo bastante completos para responder desde ellos.
Respeta la estructura del documento
La peor forma de trocear es cortar cada N caracteres sin importar el contenido. Eso garantiza fronteras que caen a mitad de frase, a mitad de tabla, a mitad de idea, partiendo una respuesta entre dos trozos de modo que ninguno la contiene entera. El mejor valor por defecto es cortar siguiendo la propia estructura del documento: párrafos, secciones, encabezados, elementos de lista. Estas fronteras existen porque el autor ya agrupó ideas relacionadas, y un trozo que las respeta tiende a ser una unidad coherente de significado.
Distintos documentos tienen distintas costuras naturales. La prosa se rompe limpiamente en párrafos y secciones. El código se rompe en funciones o bloques lógicos. Un FAQ se rompe en cada par de pregunta y respuesta. Las tablas y listas quieren quedarse intactas, porque media tabla suele ser inútil. El principio es el mismo en todos: deja que el documento te diga dónde están las articulaciones, y corta en las articulaciones en vez de en desplazamientos arbitrarios. Los trozos conscientes de la estructura son trozos coherentes.
Dimensiona los trozos según la pregunta, no un número fijo
No hay un tamaño de trozo universalmente correcto, porque el tamaño correcto depende del tipo de pregunta que esperas. Si los usuarios hacen preguntas estrechas, a nivel de hecho, los trozos más pequeños recuperan con más precisión: el pasaje coincidente no se diluye con material circundante. Si los usuarios hacen preguntas amplias que requieren sintetizar una sección entera, los trozos necesitan ser lo bastante grandes para cargar esa amplitud, o el modelo recibe un fragmento y pierde el sentido.
La jugada práctica es pensar en qué necesita una respuesta completa y dimensionar los trozos para contenerla. Un trozo debería idealmente contener suficiente contexto circundante para que, leído por sí solo, tenga sentido: un pasaje que depende por completo de la frase anterior, que vive en otro trozo, se recuperará mal y responderá peor. Apunta a trozos que sean unidades de significado autosuficientes para las preguntas que de verdad recibes, y deja que eso guíe el tamaño en vez de elegir un número redondo y cruzar los dedos.
Usa solapamiento para no cortar la respuesta por la mitad
Incluso con fronteras conscientes de la estructura, una respuesta a veces queda a caballo de una frontera: el contexto de la pregunta está al final de un trozo y su conclusión al inicio del siguiente. El solapamiento es el remedio estándar: deja que trozos consecutivos compartan un poco de texto en sus bordes, para que un pasaje cercano a una frontera aparezca, intacto, en al menos un trozo. Un solapamiento pequeño es un seguro barato contra partir una respuesta por la mitad.
No te excedas. Un solapamiento pesado infla tu índice, devuelve trozos casi duplicados para la misma consulta y desperdicia presupuesto de contexto en repetición. El objetivo es solo el texto compartido justo para mantener enteras las respuestas que cruzan fronteras: una cola modesta arrastrada al siguiente trozo, no una ventana grande y redundante. Como con el tamaño del trozo, la cantidad correcta depende de tu contenido; el principio es usar el menor solapamiento que impida que las respuestas se corten por la mitad.
Conserva el contexto que un trozo necesita para tener sentido
Un trozo arrancado de su documento pierde información que el documento proveía implícitamente: de qué sección vino, de qué trata el documento, a qué se refiere "esto" tres párrafos atrás. Cuando ese trozo se recupera de forma aislada, el modelo ve el texto pero no el marco, y la respuesta sufre. Llevar un poco de ese marco con cada trozo —el título del documento, el encabezado de la sección, una nota breve sobre de qué trata el trozo— restaura el contexto que el corte descartó.
Esto importa sobre todo para la precisión de la recuperación y para los pasajes ambiguos. Un trozo que dice "el límite se eleva al doble del valor anterior" es casi inútil sin saber qué límite y qué valor anterior; un trozo que lleva su encabezado de sección le da al modelo y al índice de búsqueda algo en lo que anclarse. El arreglo es pequeño —una línea de encabezado o una frase de contexto adjunta a cada trozo— y mejora de forma consistente tanto lo que se recupera como lo que el modelo hace con ello.
Evalúa el troceado contra consultas reales
No puedes saber si tu troceado es bueno mirando los trozos. Solo puedes saberlo ejecutando consultas reales y comprobando si el pasaje correcto vuelve entero y utilizable. Reúne un conjunto de preguntas representativas para las que conoces el pasaje fuente correcto, ejecuta la recuperación e inspecciona lo que vuelve: ¿afloró el trozo relevante? ¿Estaba completo, o partido? ¿Lo desplazaron trozos irrelevantes?
Trata el troceado como un parámetro que ajustas contra ese conjunto, no como una decisión que tomas una vez. Cambia la estrategia de frontera, el tamaño objetivo o el solapamiento, luego ejecuta las mismas consultas y compara qué configuración recupera más a menudo el pasaje correcto y completo. La mejor estrategia de troceado para tu corpus es una pregunta empírica, y la respuesta difiere según el tipo de documento y el estilo de consulta. Los equipos cuya recuperación funciona son los que midieron, no los que adivinaron un tamaño de trozo y siguieron adelante.
En resumen
La recuperación vive o muere por sus trozos. Corta siguiendo la propia estructura del documento en vez de en desplazamientos arbitrarios, dimensiona los trozos para contener una respuesta completa a las preguntas que de verdad recibes, y usa un solapamiento modesto para que las respuestas cercanas a una frontera queden enteras. Lleva un poco de contexto —el título, el encabezado— con cada trozo para que tenga sentido aislado. Luego comprueba todo el conjunto contra consultas reales con respuestas conocidas, y ajusta empíricamente las fronteras, el tamaño y el solapamiento. Un buen troceado es invisible cuando funciona y la causa raíz cuando no; gasta tu esfuerzo aquí y el resto del pipeline se vuelve más fácil.
