Estrategias de chunking para RAG comparadas: por qué tu recuperador encuentra media respuesta
Por Sheela ·
Si tu sistema de recuperación encuentra parte de la respuesta la mayoría de las veces, probablemente falla más a menudo de lo que dice tu panel. Una serie de artículos de octubre sobre chunking, y un experimento cuidadoso que puso cinco de sus ideas una al lado de otra, apuntan a la misma lección: cómo cortas un documento decide qué se puede encontrar, y el mejor corte depende de cuánto contexto te puedes permitir enviar.
Por qué el chunking vuelve a estar en el orden del día
La generación aumentada por recuperación (RAG) corta tus documentos en trozos, encuentra los trozos que encajan con una pregunta y se los pasa a un modelo. El modelo solo puede usar lo que recibe. The Bottleneck Is Retrieval, Not Reading (arXiv, 18 de octubre) probó diez modelos de frontera y tres de pesos abiertos y encontró el mismo patrón en todos: la recuperación saca de forma fiable algunos de los fragmentos que necesita una pregunta con varios datos, pero no todos, y el chunking elimina el contexto a nivel de documento que enlaza un pasaje con otro.
Tres artículos de octubre atacan ese problema desde distintos ángulos.
QESChunker (27 de octubre) trata el chunking como un problema de optimización. Dadas unas preguntas de ejemplo y las frases que las responden, elige los puntos de corte que mantienen recuperable la mayor cantidad de evidencia. Sin solapamiento, la programación dinámica encuentra la mejor respuesta exacta; con solapamiento, el problema es NP-difícil, y una pasada voraz queda dentro de una cota demostrada respecto a la mejor.
StrucChunk (19 de octubre) usa la estructura que el autor ya escribió. Nunca corta a mitad de una cláusula, resuelve referencias cruzadas como "véase la sección 4.2" antes de indexar y combina la búsqueda por palabras clave (BM25) con embeddings densos. En 501 preguntas sobre el Código de Procedimiento Penal de la India, el Recall@5 subió de 0,557 a 0,804, y los autores atribuyen el 88% de esa mejora solo al chunking.
SpectRAG (27 de octubre) deja de tratar los fragmentos como independientes. Construye sobre ellos un grafo ponderado a partir de la adyacencia, la jerarquía de secciones, las entidades compartidas y las citas, propaga la relevancia desde los primeros resultados de búsqueda a través de ese grafo y monta un contexto dentro de un presupuesto fijo de tokens.
Un experimento, cinco chunkers
Vishal Mysore enfrentó estas ideas entre sí en un laboratorio en el navegador que cualquiera puede volver a ejecutar. El documento es el manual ficticio de un observatorio redactado como un manual de normas, con secciones numeradas, definiciones y referencias cruzadas. La recuperación es solo BM25, así que todas las cifras son deterministas. Cada chunker tiene los mismos límites: fragmentos de hasta 450 caracteres y un presupuesto de contexto de 120 palabras.
Los cinco chunkers fueron una ventana fija que corta cada pocos cientos de caracteres, una ventana de frases que agrupa frases completas, un chunker que respeta la estructura al estilo de StrucChunk (un fragmento por sección numerada, con la ruta de encabezados adjunta y las definiciones referenciadas pegadas) y QESChunker en sus versiones exacta y con solapamiento.
Todos los chunkers conservaron intacta en algún sitio cada frase de evidencia. Las diferencias están en si los trozos correctos se pueden encontrar y caben en el presupuesto.
Qué dicen los resultados
El recall parcial halaga. Todas las estrategias encontraron al menos una frase de evidencia en entre el 69 y el 92% de las preguntas. Los chunkers por defecto montaron la respuesta completa menos de una cuarta parte de las veces. Un pipeline evaluado por aciertos parciales parecería sano mientras tres de cada cuatro respuestas con varios datos se construían con la mitad de la evidencia.
Los fragmentos pequeños y estructurados ganan cuando el contexto es escaso. Los fragmentos del tamaño de una sección promediaron 285 caracteres frente a unos 400 de las ventanas, así que caben dos o tres en 120 palabras donde cabe una ventana. Con un presupuesto de 40 palabras, solo el chunker que respeta la estructura superó el 10%. A 300 palabras los chunkers de ventana lo habían alcanzado, y a 400 lo habían superado, mientras que el estructurado se estancó en el 77%. Con un presupuesto generoso, casi cualquier chunker arrastra la evidencia, porque estás enviando una buena parte del documento.
El tamaño de fragmento y el presupuesto deben fijarse juntos. Con fragmentos de 800 caracteres, las ventanas fija y de frases obtuvieron un 0%: una ventana de 800 caracteres son unas 130 palabras, más que el presupuesto de 120 palabras, así que no cupo ni un fragmento. Ese es el fallo que aparece cuando una persona ajusta el chunker y otra ajusta el prompt.
El chunker demostrablemente óptimo quedó el último. La versión exacta de QESChunker obtuvo un 15% en las preguntas reservadas. Es óptimo para su objetivo, que premia mantener enteras las frases de evidencia. La forma más barata de mantener entera una norma es cortar justo antes de ella, y en un manual la línea anterior a una norma es su encabezado. El encabezado acabó al final de un fragmento y la norma al principio del siguiente, así que una búsqueda por palabras clave del encabezado encontraba el fragmento equivocado. Ninguno de sus fragmentos empezaba en un encabezado. La lección es general: un chunker optimiza lo que dejas por escrito, y una evidencia intacta no es lo mismo que una evidencia encontrable. La versión con solapamiento lo hizo mucho mejor, un 46% en las preguntas reservadas y un 83% en las preguntas con las que se ajustó. Esa diferencia es la advertencia para cualquier chunker entrenado con preguntas de ejemplo: el índice se moldea en torno a las preguntas que se te ocurrió hacer.
Un grafo de fragmentos ayuda donde las definiciones son nodos centrales. Pasar el chunking estructurado a recuperación por grafo lo subió del 62% al 69%. Para "¿Se permite la fotografía con flash en la planta de la cúpula?", BM25 a secas puso tercera la definición de la zona de luz roja, y ya no cabía en el presupuesto. En modo grafo, otras dos secciones remiten a esa definición, así que la relevancia fluyó hacia ella y entró. Desactivar la resolución de referencias cruzadas borró la mejora. En los chunkers de ventana el grafo no ayudó, y en las ventanas de frases bajó la puntuación del 23% al 15%.
Algunos fallos no son problemas de chunking. "Viene mi hijo de 8 años. ¿Qué norma se aplica en la terraza?" falló en todos, porque la norma dice "niños menores de 10 años" y no comparte ninguna palabra con la pregunta. Ese hueco necesita recuperación densa o híbrida, reescritura de consultas o un reranker.
Qué cambiar en tu pipeline
Para documentos con estructura real, como contratos, políticas, manuales y especificaciones, divide por secciones, adjunta la ruta de encabezados y resuelve las referencias cruzadas al indexar para que una norma viaje con la definición de la que depende. Herramientas como Docling y Unstructured recuperan esa estructura de los PDF; Chonkie se encarga del chunking en sí.

Mide respuestas completas, no aciertos parciales. Una pregunta con varios datos respondida con la mitad de su evidencia es una respuesta incorrecta que parece correcta. Ragas puede puntuar el context recall por pregunta.
Fija el tamaño de fragmento y el presupuesto de contexto en el mismo sitio, y prueba con el presupuesto que realmente envías. El mejor chunker a 120 palabras no fue el mejor a 400.
Si pruebas un método supervisado o basado en grafos, comprueba que su objetivo encaja con el recuperador que usas. Dos artículos de septiembre lo respaldan desde otros ángulos: un estudio de 54 configuraciones encontró que las elecciones de parser y de chunker interactúan, sin un recuperador que sea el mejor en todo, y una comparación de seis pipelines sobre unos 464.000 artículos encontró que el reranking y la late interaction mueven la calidad más que los ajustes de la primera etapa. Un tercero, sobre profundidad de recuperación adaptativa, informa de más de un 36% de mejora en F1 y un 14% menos de tokens en consultas fáciles al elegir cuántos fragmentos recuperar según el tipo de pregunta.
Nuestra opinión: el chunking decide qué se puede recuperar; el recuperador decide qué se recupera. Arregla lo primero con estructura, lo segundo con búsqueda híbrida y un reranker como Cohere Rerank 5 o Jina Reranker v3.5, y juzga ambos por si llega la respuesta entera.