Agentes de IA en 5 pasos
Los Agentes de IA, explicados en más detalle en un artículo previo, son sistemas basados principalmente en LLMs, capaces de realizar tareas de forma autónoma, mediante herramientas, y expanden la utilidad de los modelos de lenguaje más allá de chatbots y sistemas pregunta‑respuesta.
Vamos a explorar 5 pasos para el desarrollo de un Agente enfocado a interactuar con el usuario directamente, permitiéndole interactuar de forma conversacional con las funcionalidades de la aplicación de la que forma parte.
Pasos
1. Casos de Uso
Como en el software convencional, es fundamental definir casos de uso específicos para el agente: ¿Qué tareas debe hacer? ¿Cómo va a interactuar el usuario con el agente?
Sin establecer previamente las características que debe tener el agente, el desarrollo posterior puede derivar en feature creep donde el mismo agente realiza demasiadas tareas diferentes, o demasiado abstractas, y que el LLM puede malinterpretar.
2. Requisitos
Una vez planteado el concepto en sí del agente, es importante determinar los requisitos técnicos que debe cumplir. Se deben considerar la latencia tolerable, cómo debe responder el agente ante errores externos, el coste de la interacción con el LLM, la ventana de contexto, etc.
Las preguntas a responder en este paso permiten determinar si los casos de uso planteados son factibles, o deben revisarse para adecuarlo. Características como la latencia o la gestión de errores son especialmente importantes en agentes que interactúan directamente con el usuario.
3. Prototipos y Ejemplos
Antes de empezar el desarrollo, es importante plantear ejemplos de cómo se va a interactuar con el agente. Esto servirá para probar el agente más adelante, y también permite desarrollar prototipos del System Prompt. El desarrollo de estos ejemplos en una continuación del paso 1.
El agente puede tener muy acotado la forma de interactuar, tanto de pregunta como de respuesta, usar plantillas con placeholders para datos dados por el usuario, o dejar un formato más amplio para aprovechar la capacidad de los LLMs de interpretar el lenguaje natural.
4. Desarrollo
Una vez planteado Qué debe hacer el agente, y las condiciones en las que debe hacerlo, hay que plantear el desarrollo en sí del agente. Desarrollar herramientas en la aplicación host para que pueda interactuar, escribir e iterar el System Prompt que define al agente para el LLM, etc.
El System Prompt recoge los pasos 1, 2 y 3, definiendo el rol del agente en sí, tareas que puede realizar, con ejemplos del formato y ejemplos de prompts, y normas que debe seguir.
5. Ajustes e Iteración
Asumiendo que los LLMs no actúan de forma determinista, es necesario un proceso de iteración para ajustar el comportamiento del agente. El agente tampoco es monolítico, y conforme avanzan los modelos de lenguaje van a ser necesarios ajustes en el System Prompt y la forma de interactuar del asistente, para aprovechar las nuevas capacidades de estos modelos.
Conclusión
El desarrollo efectivo de agentes de IA funcionales, eficientes y capaces de realizar las tareas planteadas de forma confiable, requiere de un desarrollo muy similar a los proyectos de software. Con el rápido desarrollo de los LLMs y la IA generativa en general, es fundamental aprovechar el potencial en bruto de estos modelos, para crear una nueva generación de software confiable, escalable y útil.