En los artículos anteriores de esta serie pasamos de los conceptos fundamentales de los agentes de inteligencia artificial hasta la construcción de nuestro primer agente. Ya sabemos que un agente puede utilizar un modelo de IA, seguir instrucciones, utilizar herramientas, consultar información y conservar memoria para completar diferentes tareas.
Sin embargo, cuando intentamos construir un agente más completo, rápidamente aparecen nuevas necesidades. Tenemos que administrar las herramientas que puede utilizar, controlar el flujo de ejecución, manejar la memoria, gestionar errores y, en algunos casos, coordinar varios agentes al mismo tiempo.
Hacer todo esto desde cero es posible, pero puede requerir una gran cantidad de código y tiempo. Para facilitar este trabajo existen los llamados frameworks para agentes de IA.
Un framework proporciona componentes y estructuras que permiten desarrollar aplicaciones de inteligencia artificial sin tener que implementar manualmente cada una de sus partes. Entre las opciones más conocidas se encuentran LangChain y CrewAI, aunque actualmente existen muchas otras alternativas.
En este artículo conoceremos qué son estos frameworks, para qué sirven, cuáles son sus diferencias y qué debemos considerar antes de elegir uno para nuestro proyecto.
1. ¿Qué es un framework para agentes de IA?
Un framework es un conjunto de herramientas, bibliotecas y estructuras de programación que facilitan el desarrollo de una aplicación.
En lugar de construir todo desde cero, el desarrollador puede utilizar componentes previamente preparados.
Imaginemos que queremos construir una casa. Teóricamente podríamos fabricar cada ladrillo, cada ventana y cada puerta desde cero. Sin embargo, sería mucho más práctico comprar esos elementos y concentrarnos en diseñar y construir la casa.
Un framework funciona de manera similar.
En lugar de programar manualmente todos los mecanismos necesarios para conectar un modelo de lenguaje con herramientas, memoria y diferentes procesos, podemos utilizar componentes proporcionados por el framework.
Esto no significa que el framework haga todo automáticamente. El desarrollador sigue siendo responsable de diseñar el comportamiento del agente, configurar sus herramientas y establecer las reglas del sistema.
El framework simplemente proporciona una estructura que hace más sencillo el desarrollo.
2. ¿Por qué utilizar un framework?
Cuando un agente es muy sencillo, puede ser suficiente utilizar directamente un lenguaje como Python y conectarse con la API del modelo de IA.
Por ejemplo, podemos tener una aplicación que recibe una pregunta, la envía al modelo y muestra la respuesta.
El problema aparece cuando queremos añadir más funcionalidades.
Supongamos que nuestro agente necesita memoria, acceso a una base de datos, búsqueda en internet, ejecución de código y varias herramientas externas.
Ahora debemos controlar muchos elementos diferentes.
También necesitamos manejar errores y decidir qué ocurre cuando una herramienta falla.
En este punto, un framework puede ayudarnos a organizar el proyecto.
Además, los frameworks suelen proporcionar componentes reutilizables, integraciones con diferentes modelos y herramientas para crear flujos de trabajo más complejos.
Por eso son especialmente útiles cuando pasamos de un prototipo sencillo a una aplicación más estructurada.
3. LangChain: uno de los frameworks más conocidos
LangChain es uno de los proyectos más conocidos dentro del ecosistema de desarrollo de aplicaciones basadas en modelos de lenguaje.
Su objetivo principal es facilitar la construcción de aplicaciones que conectan modelos de IA con diferentes fuentes de información, herramientas y procesos.
LangChain permite trabajar con diferentes modelos y construir aplicaciones donde el modelo no está aislado.
Por ejemplo, podemos crear un sistema que conecte un modelo de lenguaje con una base de datos.
También podemos conectar herramientas externas, recuperar información de documentos o construir flujos de trabajo en los que el modelo participe en diferentes etapas.
Una de las razones por las que LangChain se hizo popular fue precisamente su enfoque hacia las aplicaciones que utilizan modelos de lenguaje como parte de sistemas más grandes.
4. ¿Qué podemos hacer con LangChain?
LangChain proporciona componentes para diferentes necesidades.
Podemos utilizarlo para conectar modelos de lenguaje con herramientas.
También permite trabajar con información externa y construir sistemas de recuperación de información.
Otra posibilidad es crear agentes capaces de seleccionar herramientas según la tarea que estén realizando.
Por ejemplo, podemos tener un agente con una calculadora, una herramienta de búsqueda y una herramienta para consultar una base de datos.
El agente puede determinar cuál necesita utilizar dependiendo de la solicitud.
LangChain también puede utilizarse para construir flujos de trabajo más estructurados.
Esto es importante porque no todas las aplicaciones de IA necesitan comportarse como agentes completamente autónomos.
En algunos casos queremos definir exactamente qué pasos deben ejecutarse.
En otros, queremos permitir que el modelo decida qué herramienta utilizar.
Un framework como LangChain permite trabajar con diferentes niveles de control.
5. LangGraph y los flujos de trabajo con agentes
Dentro del ecosistema de LangChain también existe LangGraph, orientado a construir flujos de trabajo y agentes mediante una estructura basada en estados y pasos.
Esta idea puede resultar especialmente útil cuando el proceso que queremos automatizar tiene varias etapas.
Por ejemplo, imaginemos un agente que recibe una solicitud de análisis.
Primero debe obtener información.
Después debe procesarla.
Posteriormente debe verificar los resultados.
Finalmente debe generar un reporte.
En lugar de permitir que el modelo haga absolutamente todo de manera libre, podemos establecer una estructura que controle cómo se mueve el proceso entre las diferentes etapas.
Este enfoque permite combinar la flexibilidad de los modelos de lenguaje con una mayor capacidad de control.
Esto resulta importante para aplicaciones donde necesitamos saber qué está haciendo el agente en cada momento.
6. CrewAI: trabajar con varios agentes
Otra alternativa muy conocida es CrewAI.
Mientras que muchos sistemas se enfocan en construir un agente individual, CrewAI está orientado especialmente a escenarios donde varios agentes pueden colaborar.
La idea es similar a formar un equipo de trabajo.
Cada agente puede tener un rol diferente.
Por ejemplo, podemos crear un equipo compuesto por:
Un agente investigador.
Un agente analista.
Un agente redactor.
Un agente revisor.
El investigador puede encargarse de recopilar información.
El analista puede estudiar esa información.
El redactor puede convertir los resultados en un documento.
Finalmente, el revisor puede comprobar el contenido.
Este tipo de arquitectura se conoce como sistema multiagente.
En lugar de intentar que un único agente haga absolutamente todo, distribuimos las tareas entre diferentes agentes especializados.
7. ¿Cómo funciona un equipo de agentes?
Imaginemos que queremos generar un artículo sobre una nueva tecnología.
El usuario proporciona el tema.
El primer agente recibe la tarea de investigar.
Después puede entregar los resultados al segundo agente.
El segundo analiza la información y selecciona los puntos más importantes.
Posteriormente un tercer agente redacta el contenido.
Finalmente un cuarto agente revisa el resultado.
Cada agente puede tener instrucciones y herramientas diferentes.
El investigador podría tener acceso a herramientas de búsqueda.
El analista podría tener herramientas para procesar información.
El redactor podría concentrarse en la generación de contenido.
El revisor podría tener instrucciones específicas para detectar errores.
Esta separación permite construir procesos complejos a partir de componentes especializados.
8. LangChain y CrewAI no resuelven exactamente el mismo problema
Aunque ambos frameworks pueden utilizarse para construir aplicaciones con agentes, sus enfoques pueden ser diferentes.
LangChain proporciona una infraestructura amplia para construir aplicaciones basadas en modelos de lenguaje, herramientas, recuperación de información y agentes.
CrewAI pone un énfasis importante en la colaboración entre agentes y en la definición de roles y tareas.
Esto no significa que uno sea necesariamente mejor que el otro.
La elección depende del proyecto.
Si queremos construir una aplicación donde un agente utilice varias herramientas y necesitemos controlar detalladamente su flujo, podemos considerar una solución basada en LangChain o LangGraph.
Si queremos experimentar con varios agentes especializados que colaboran entre sí, CrewAI puede resultar interesante.
Lo importante es comprender primero qué problema queremos resolver.
9. Otras alternativas para crear agentes
LangChain y CrewAI no son las únicas opciones.
El ecosistema de agentes de IA está creciendo rápidamente y existen diferentes proyectos con enfoques distintos.
También podemos utilizar herramientas proporcionadas directamente por los proveedores de modelos de IA.
Otra opción es construir nuestro propio sistema utilizando Python y las APIs necesarias.
Para algunos proyectos, esta última alternativa puede ser incluso la mejor.
Si nuestro agente únicamente necesita recibir una pregunta, llamar a una herramienta y devolver un resultado, utilizar un framework completo podría añadir complejidad innecesaria.
Por eso, antes de elegir una tecnología debemos evaluar las necesidades reales del proyecto.
10. ¿Framework o código desde cero?
Esta es una de las primeras decisiones que debe tomar un desarrollador.
Construir desde cero tiene algunas ventajas.
Tenemos control completo sobre el sistema.
Podemos decidir exactamente cómo funciona cada componente.
También podemos evitar dependencias innecesarias.
Sin embargo, necesitamos escribir y mantener más código.
Un framework reduce parte de ese trabajo.
Podemos aprovechar componentes existentes y concentrarnos en la lógica específica de nuestra aplicación.
La desventaja es que debemos aprender la estructura del framework y aceptar determinadas decisiones arquitectónicas.
También debemos considerar que las bibliotecas evolucionan y que las APIs pueden cambiar.
Por eso, un framework no elimina la necesidad de comprender los conceptos fundamentales.
Al contrario, cuanto mejor comprendamos cómo funcionan los agentes, más fácilmente podremos utilizar cualquier framework.
11. ¿Qué framework debería elegir?
No existe un framework universalmente mejor.
La elección depende de factores como el tipo de agente, la complejidad del proyecto, el lenguaje utilizado, las herramientas necesarias y el nivel de control que queremos tener.
Para comenzar a aprender, Python es una opción muy recomendable porque existe un ecosistema amplio relacionado con inteligencia artificial.
LangChain puede ser una buena opción cuando queremos experimentar con herramientas, modelos, recuperación de información y agentes.
LangGraph puede ser interesante cuando necesitamos controlar flujos de trabajo más complejos.
CrewAI resulta especialmente interesante para experimentar con arquitecturas multiagente.
También podemos utilizar directamente las APIs de diferentes proveedores cuando necesitamos una arquitectura más sencilla.
La mejor forma de elegir es comenzar con un proyecto pequeño y comprobar qué necesidades aparecen.
12. Un ejemplo para comparar enfoques
Supongamos que queremos crear un agente capaz de responder preguntas sobre una empresa.
La aplicación debe consultar una base de datos y proporcionar información al usuario.
Podríamos construir todo directamente en Python.
El programa recibiría la pregunta, consultaría el modelo, ejecutaría una función para acceder a la base de datos y devolvería la respuesta.
Esta solución puede ser suficiente.
Ahora imaginemos que queremos añadir cinco herramientas, memoria, búsqueda web, procesamiento de documentos y diferentes etapas de validación.
La cantidad de lógica aumenta considerablemente.
En este escenario, un framework puede ayudarnos a organizar los componentes.
Finalmente, si queremos crear un sistema donde un agente investigue, otro analice y otro genere el reporte, podemos considerar una arquitectura multiagente.
Este ejemplo demuestra que la elección de la tecnología debe depender del problema y no solamente de cuál framework es más popular.
13. Ventajas y desventajas de utilizar frameworks
Los frameworks ofrecen varias ventajas.
La primera es la velocidad de desarrollo.
En lugar de implementar cada componente desde cero, podemos utilizar funcionalidades existentes.
También pueden facilitar la integración con diferentes modelos y herramientas.
Otra ventaja es que proporcionan estructuras que ayudan a organizar proyectos complejos.
Sin embargo, también existen desventajas.
Una de ellas es la complejidad adicional.
Un proyecto pequeño puede terminar dependiendo de muchas bibliotecas cuando quizá no era necesario.
También existe el riesgo de depender demasiado de una tecnología concreta.
Si una biblioteca cambia considerablemente su arquitectura, nuestro código puede requerir modificaciones.
Por eso es importante no utilizar un framework simplemente porque está de moda.
Debemos utilizarlo cuando realmente aporta valor al proyecto.
14. El problema de aprender demasiadas herramientas
El ecosistema de inteligencia artificial cambia constantemente.
Cada cierto tiempo aparecen nuevos frameworks, bibliotecas y plataformas.
Esto puede generar la sensación de que necesitamos aprender absolutamente todas.
No es necesario.
Los conceptos fundamentales son mucho más importantes que memorizar cada biblioteca.
Si entendemos cómo funcionan los modelos de lenguaje, las herramientas, la memoria, las APIs, los embeddings y los flujos de agentes, podremos aprender nuevas tecnologías con mucha mayor facilidad.
Por eso es recomendable aprender primero los fundamentos y después experimentar con diferentes frameworks.
Un desarrollador que entiende los conceptos puede cambiar de herramienta.
Un desarrollador que solamente conoce una herramienta puede tener más dificultades cuando esa tecnología cambia.
15. Frameworks y producción
Experimentar con un framework durante el aprendizaje es diferente a utilizarlo en producción.
Un prototipo puede funcionar perfectamente en una computadora personal, pero una aplicación real necesita considerar otros aspectos.
Por ejemplo, debemos analizar el rendimiento.
También debemos controlar errores.
Necesitamos proteger las claves de las APIs.
Debemos establecer permisos.
También debemos registrar las operaciones importantes.
Y debemos considerar cuánto cuesta ejecutar el sistema.
Un agente que realiza cientos de llamadas a un modelo puede generar costos considerablemente mayores que un programa convencional.
Por eso, antes de llevar un agente a producción debemos realizar pruebas y establecer límites.
16. Un posible camino para comenzar
Para una persona que está comenzando en el desarrollo de agentes, puede ser útil seguir un proceso gradual.
Primero podemos aprender a utilizar una API de un modelo de lenguaje.
Después podemos crear una aplicación sencilla que envíe preguntas al modelo.
El siguiente paso puede ser agregar una herramienta.
Posteriormente podemos incorporar memoria.
Después podemos experimentar con un framework.
Una vez comprendido el funcionamiento de un agente individual, podemos intentar construir un sistema multiagente.
Este proceso permite aprender progresivamente sin intentar comprender todo el ecosistema de inteligencia artificial al mismo tiempo.
17. ¿Qué viene después de los frameworks?
Los frameworks son solamente una parte del desarrollo de agentes.
Una vez que sabemos utilizarlos, podemos comenzar a construir aplicaciones mucho más interesantes.
Podemos conectar agentes con APIs externas.
Podemos permitir que consulten internet.
Podemos conectarlos con bases de datos.
También podemos permitir que trabajen con documentos, imágenes y archivos.
Incluso podemos crear agentes especializados para tareas empresariales.
En los siguientes artículos de esta serie comenzaremos precisamente a explorar estas capacidades.
18. Conclusiones
Los frameworks para agentes de inteligencia artificial facilitan la construcción de sistemas que combinan modelos de lenguaje, herramientas, memoria y diferentes procesos.
LangChain es una de las alternativas más conocidas para construir aplicaciones basadas en modelos de lenguaje y agentes. LangGraph permite trabajar con flujos de trabajo más estructurados, mientras que CrewAI resulta especialmente interesante cuando queremos experimentar con varios agentes que colaboran entre sí.
Sin embargo, utilizar un framework no siempre es necesario. Para proyectos pequeños puede ser mejor utilizar directamente Python y las APIs correspondientes. La elección debe depender de la complejidad y los objetivos del proyecto.
Lo más importante es aprender primero cómo funcionan los agentes y después utilizar las herramientas que realmente nos ayuden a resolver nuestro problema.
Ahora que conocemos diferentes frameworks para construir agentes, el siguiente paso será aprender a comunicarnos correctamente con ellos. En el próximo artículo hablaremos de cómo escribir prompts efectivos para controlar un agente de IA, y veremos por qué las instrucciones son fundamentales para obtener resultados consistentes.
Anterior Siguiente