La fragmentación convierte el contenido normalizado de las páginas en unidades de recuperación. Las decisiones deficientes inflan el coste (demasiados fragmentos), degradan el recall (bloques demasiado grandes) o diluyen la precisión (fracturas en los límites). No existe un método universalmente mejor; la estrategia se ajusta a la estructura del corpus, su volatilidad y los patrones de consulta. Esta guía traza el espacio de diseño, las compensaciones, el flujo de evaluación y las palancas de optimización para canalizaciones RAG en producción.
Por qué importa la fragmentación
Objetivos:
- Maximizar la probabilidad de que los hechos relevantes aparezcan en la recuperación top‑k.
- Preservar la cohesión semántica para que las respuestas generadas estén fundamentadas.
- Optimizar el uso de tokens (evitar incrustar repetidamente texto de relleno).
- Permitir actualizaciones incrementales deterministas (IDs de fragmento estables).
Una fragmentación mal alineada se manifiesta como: alta redundancia, bajo Recall@k, hechos alucinados en los límites e inflación del gasto en embeddings.
Fragmentación de ventana fija
Ventanas simples de N tokens (p. ej., 500 tokens). Pros: deterministas, fáciles de implementar, comportamiento de actualización estable. Contras: los límites cortan a través de conceptos; se requiere solapamiento redundante para reducir el truncamiento → crecimiento del coste. Úsala con moderación: buena línea base para contenido heterogéneo o poco estructurado donde las señales semánticas no son fiables.
Ventanas deslizantes con solapamiento
Un tamaño de ventana W con solapamiento O (p. ej., 500 / 50 tokens) reduce el truncamiento de hechos en los límites. Un solapamiento superior al ~15 % produce ganancias de recall decrecientes a la vez que aumenta el tamaño del índice. Sigue duplication_ratio = distinct_token_count / total_token_count para ajustar O a la baja.
Detección de límites semánticos
Segmenta según señales estructurales: encabezados H2/H3, agrupaciones de listas, bloques de código, límites de tablas. Aplica límites mínimos/máximos de tokens (fusiona hermanos demasiado pequeños, divide secciones demasiado grandes). Beneficios: mayor cohesión, menos solapamientos. Riesgos: marcado malformado, jerarquía de encabezados inconsistente. Mitígalos con reparación de jerarquía + recurso a la división por párrafos cuando faltan encabezados.
Fragmentación jerárquica
Índice de dos niveles: embeddings de sección gruesos (p. ej., toda una sección de tutorial) + subfragmentos de grano fino. Flujo de recuperación: ANN grueso → filtrar las N secciones superiores → recuperación fina dentro de ellas. Ventajas: reduce el espacio de búsqueda global para corpus grandes, mejora la latencia. Complejidad: más piezas móviles, se necesita lógica de puntuación en cascada.
Fragmentación adaptativa / dinámica
Ajusta los tamaños de fragmento según la densidad semántica local y las pistas estructurales. Ejemplo de lógica: comienza en una sección de encabezado, si tiene >800 tokens → divide por grupos de párrafos puntuados por similitud semántica; si tiene <120 tokens → fusiona con el hermano siguiente salvo que la divergencia temática supere un umbral. Requiere una pasada previa de embeddings o similitud; paga el coste una vez en la ingesta a cambio de una mejor eficiencia de recuperación a largo plazo.
Consideraciones sobre embeddings
Mantén metadatos: token_count, model_version, content_hash. Evita el truncamiento: precalcula los tokens y divide antes de la llamada al modelo. Los modelos densos se degradan con un exceso de texto de relleno; elimina los artefactos de navegación antes de fragmentar. Monitoriza vector_density (términos únicos / tokens) para detectar fragmentos de baja señal (candidatos a refusión).
Métodos de evaluación
Pruebas comparativas por estrategia:
| Métrica | Propósito |
|---|---|
| Recall@k | Retención de hechos |
| Precision@k | Ruido del contexto |
| Recuento de fragmentos | Indicador de coste |
| Ratio de duplicación | Ajuste del solapamiento |
| Tokens medios por fragmento | Aprovechamiento de la ventana |
| Latencia (recuperación) | Eficiencia del índice |
Ejecuta sobre un conjunto de consultas de referencia; adopta una estrategia solo si las ganancias de recall superan los incrementos de coste y latencia.
Manual de implementación
- Línea base: fija 500 + 10 % de solapamiento; recopila pruebas comparativas.
- Introduce límites semánticos: reemplaza las ventanas donde los encabezados son fiables; vuelve a medir.
- Añade una capa jerárquica si el corpus supera los 250k fragmentos o la latencia supera el objetivo.
- Despliega lógica adaptativa para tamaños de sección con alta varianza.
- Reevaluación trimestral: compara el coste por delta de calidad frente a las nuevas capacidades de los modelos.
Guarda el diff del manifiesto de fragmentos por iteración para poder revertir.
Conclusiones clave
- Los límites semánticos suelen superar a las ventanas puramente fijas en precisión/coste.
- El solapamiento es un dial: mide la duplicación, no la adivines.
- La recuperación jerárquica ayuda a escalar sin un crecimiento lineal de la latencia.
- Los IDs de fragmento estables permiten una actualización incremental segura de los embeddings.
- Evalúa los cambios de estrategia como despliegues de código: prueba, compara, registra.