10 puntos por GN⁺ 2024-06-21 | 2 comentarios | Compartir por WhatsApp
  • Octomind usa agentes de IA para generar y corregir automáticamente pruebas end-to-end en Playwright.
  • Al principio usaban el framework LangChain, pero con el tiempo el alto nivel de abstracción de LangChain empezó a causar problemas.

Problemas de LangChain

  • La abstracción de LangChain fue útil al inicio, pero a medida que aparecieron requisitos más complejos, se volvió difícil entender y mantener el código.
  • Entender la estructura interna de LangChain y depurarla consumía mucho tiempo.
  • Por ejemplo, incluso en código que solo traduce una palabra sencilla del inglés al italiano, usar LangChain aumenta la complejidad.

El problema de la abstracción en LangChain

  • LangChain superpone varias abstracciones, lo que incrementa la complejidad del código.
  • Estas abstracciones dificultan la comprensión y la depuración del código.
  • Por ejemplo, incluso en una tarea simple como traer datos JSON desde una API, usar LangChain aumenta la complejidad.

Impacto en el equipo de desarrollo

  • Al intentar implementar una arquitectura de agentes compleja, LangChain terminó actuando como una limitación.
  • Después de eliminar LangChain, pudieron programar con libertad según sus necesidades.

¿Hace falta un framework para construir aplicaciones de IA?

  • LangChain fue útil al principio, pero a largo plazo habría sido mejor desarrollar sin un framework.
  • La mayoría de las aplicaciones de IA pueden implementarse suficientemente con código simple y algunos paquetes externos.
  • Recomiendan un enfoque simple hasta que se establezcan patrones de uso para agentes.

Desarrollo rápido y conciso con bloques de construcción modulares

  • Los frameworks imponen una estructura, pero las aplicaciones de IA todavía no tienen patrones de uso establecidos.
  • El enfoque de bloques de construcción modulares prefiere código simple de bajo nivel y acelera el desarrollo.
  • Usan componentes modulares, como bases de datos vectoriales, para mantener una base de código concisa y adaptable.

Opinión de GN⁺

  • Límites de LangChain: el alto nivel de abstracción de LangChain puede ser útil al principio, pero cuando aparecen requisitos complejos puede convertirse en un obstáculo.
  • Ventajas del enfoque modular: el enfoque de bloques de construcción modulares facilita la comprensión y el mantenimiento del código, y acelera el desarrollo.
  • Replantear la necesidad de frameworks: no todas las aplicaciones de IA necesitan un framework, y muchas pueden implementarse suficientemente con código simple y paquetes externos.
  • Importancia de la velocidad de desarrollo: en el campo de la IA, experimentar y prototipar rápido es clave, y los frameworks pueden limitar eso.
  • Patrones futuros de uso de agentes: hasta que se consoliden los patrones de uso de agentes, conviene mantener un enfoque simple.

2 comentarios

 
yangeok 2024-06-24

Se decía que era una arquitectura fallida, y ahora también lo veo en GeekNews.

 
GN⁺ 2024-06-21
Opinión de Hacker News
  • Construyó su primer agente comercial con LLM en octubre/noviembre del año pasado: obtener mejores resultados fue más fácil al construir el agente desde cero, sin usar LangChain.

  • La complejidad de los frameworks de LLM: los frameworks de LLM como LangChain tienden a introducir una complejidad similar a la de Java o Python.

  • Comparación entre LangChain y ChatGPT: LangChain se creó antes de la aparición de ChatGPT, pero con ChatGPT ofreciendo un mejor modelo conversacional, la necesidad de LangChain se redujo.

  • Debate sobre el valor de LangChain: LangChain intentó ubicarse entre el desarrollador y el LLM, pero no logró aportar un valor real e introdujo abstracciones innecesarias.

  • Buenas y malas abstracciones: una buena abstracción se ocupa de la lógica de la aplicación, mientras que una mala abstrae el trabajo necesario y hace que se pierda visibilidad.

  • Problemas del uso de agentes: para generación de contenido, usar prompts secuenciales es más fácil y efectivo que usar agentes.

  • Introducción del framework Ragged: se presenta Ragged, un conector liviano que permite conectarse fácilmente con LLM. Ofrece una interfaz de integración similar a un ORM.

  • Poca utilidad de LangChain: aunque el enfoque de LangChain es interesante, en la práctica es más eficiente usar directamente una librería de runtime para LLM.

  • Frameworks de agentes que cambian rápido: el framework de agentes en uso cambia con mucha rapidez, y hasta cambios menores de versión pueden romper la configuración actual.

  • Problema de complejidad de LangChain: LangChain es demasiado complejo para casos de uso simples y difícil de adaptar para casos complejos. En muchos casos, escribir el código directamente es una mejor opción.