Las técnicas avanzadas de RAG no son mejores. Son mejores a veces.

Las técnicas avanzadas de RAG no son actualizaciones gratuitas. Son herramientas con sus contrapartidas.

Añadí cinco técnicas de recuperación a un pipeline de RAG para probarlas. El resultado más importante fue la técnica que falló.

Esperaba que HyDE mejorara la recuperación. En cambio, tuvo el efecto contrario en ciertas consultas. El recall bajó de 0.80 a 0.17. La técnica no solo no ayudó; activamente trajo los datos incorrectos a los resultados.

Cada técnica avanzada que probé funciona de esta manera:

  • Hybrid search (BM25 + dense): Excelente para términos exactos. Úsala cuando tu consulta dependa de parámetros específicos.
  • HyDE: Excelente para preguntas informales que no coinciden con el vocabulario de los documentos. Falla cuando la consulta ya coincide bien con el corpus.
  • Reranking: Excelente cuando el fragmento correcto está en los resultados pero aparece demasiado abajo en la lista.
  • Contextual retrieval: Excelente para fragmentos cortos que carecen de contexto. Añade costes porque debes usar un LLM para cada fragmento.

Construí este pipeline utilizando la documentación de Anthropic. Usé Postgres con pgvector y un índice HNSW. Lo abordé como un ingeniero de backend. No me pregunté si una técnica era el estado del arte; me pregunté si justificaba su complejidad.

Cada componente que añades es algo que debes operar, depurar y pagar.

Antes de añadir herramientas complejas, medí una línea base utilizando una recuperación densa simple.

Los resultados mostraron dos métricas diferentes:

  • Faithfulness: 0.96
  • Context precision: 0.60

Estos datos cambiaron todo mi enfoque. La mayoría de las técnicas se centran en la recuperación. Mi recuperación era la parte que fallaba. Si la fidelidad (faithfulness) hubiera sido baja, habría ajustado los prompts. Como la recuperación era baja, tuve que ajustar la búsqueda.

También aprendí una lección sobre las herramientas de evaluación. Intenté usar Ragas, pero era demasiado lento. Reintentaba las llamadas fallidas y tardaba horas. En su lugar, construí mi propio entorno asíncrono. Ejecuté las mismas métricas en 221 segundos en lugar de 11 horas.

La conclusión es sencilla:

No apliques técnicas a ciegas. Usa un query router para elegir el modo adecuado para la pregunta correcta. Mide tus datos primero. Luego, elige la herramienta que resuelva tu modo de fallo específico.

El modelo es nuevo. La disciplina de ingeniería no lo es.

Fuente: https://dev.to/yogesh23012001/advanced-rag-techniques-arent-better-theyre-better-sometimes-4m2o