OpenAI ha lanzado recientemente una guía práctica para la creación de agentes («A practical guide to building agents»), ¡una auténtica guía para la formación de «trabajadores AI»! Hoy, te mostraré de forma sencilla y divertida los secretos de esta guía oficial para que puedas crear tu propio agente de IA. ¿Preparado? ¡Empezamos!

image.png

Espera, ¿qué es exactamente un agente? ¿En qué se diferencia del software normal?

Primero, aclaremos que un agente no es una aplicación que ejecuta comandos de forma mecánica, ni un simple chatbot. OpenAI lo define como:

Un agente es un sistema que puede completar tareas específicas de forma independiente y en tu representación.

Lo importante: ¡Independencia!

Piensa en las aplicaciones que usas habitualmente, como una app para reservar billetes. Debes indicarle paso a paso el destino, la fecha, la clase, etc., para obtener un resultado. Pero, ¿un agente? Podrías simplemente decir: «Reserva el billete de avión más barato para ir a Pekín la semana que viene, asiento de ventanilla, y busca también un hotel adecuado». ¡Y él mismo buscará vuelos, comparará precios, revisará opiniones e incluso te confirmará algunas opciones antes de completar la tarea!

image.png

En resumen, un agente es como un súper empleado con un «cerebro» (LLM, modelo de lenguaje grande), un «cajón de herramientas» (Tools) y «instrucciones» (Instructions). Puede:

Tomar decisiones inteligentes (Leverages an LLM): Analiza situaciones como una persona inteligente, decide el siguiente paso e incluso detecta errores y los corrige. Si no puede resolver un problema, sabe cuándo pedir ayuda al usuario.

Utilizar herramientas (Access to tools): Se conecta al mundo exterior, buscando información en internet, utilizando bases de datos, enviando correos electrónicos, operando APIs de otros softwares, etc. Y es inteligente, sabe qué herramienta usar en cada momento.

Por lo tanto, las aplicaciones de IA que solo chatean, clasifican textos o ejecutan flujos de trabajo fijos no son, estrictamente hablando, agentes. ¡Los agentes son los auténticos pesos pesados que te ayudan a «hacer cosas»!

¿Cuándo es el momento de que actúe un agente? ¡No uses «cañones para cazar moscas»!

Aunque los agentes son poderosos, no son omnipotentes. Si el problema se puede resolver con herramientas de automatización tradicionales o escribiendo unas pocas líneas de código, no es necesario crear un agente. OpenAI recomienda utilizar agentes para los siguientes problemas complejos:

Toma de decisiones complejas que requieren «intuición» (Complex decision-making): Por ejemplo, en el servicio de atención al cliente, determinar si una solicitud de reembolso es válida requiere tener en cuenta el historial del usuario, la situación del producto e incluso el tono del usuario. Los motores de reglas tradicionales se atascan en estas «zonas grises», pero un agente puede sopesar los pros y los contras como un gerente experimentado.

Reglas numerosas y difíciles de mantener (Difficult-to-maintain rules): Algunos sistemas antiguos tienen reglas sobre reglas, y modificar una parte puede provocar una serie de errores. El mantenimiento es muy costoso. Por ejemplo, la revisión de la seguridad de los proveedores, con un banco de reglas extenso y complejo. Un agente puede comprender y ejecutar las intenciones de forma más flexible, evitando el «infierno de las reglas».

Manejo frecuente de datos «no estructurados» (Heavy reliance on unstructured data): ¿Necesitas extraer información clave de un contrato? ¿Comprender las instrucciones del usuario en lenguaje natural? ¿Procesar grabaciones de voz de reclamaciones de seguros? Estas tareas que implican grandes cantidades de texto y voz son el fuerte de los agentes.

En resumen, cuando creas que las herramientas existentes son «poco inteligentes», «poco flexibles» o «demasiado rígidas», es el momento de llamar a un agente.

Los tres componentes esenciales de un agente: cerebro, herramientas e instrucciones

Basta de teoría, pasemos a la práctica. Para construir un agente, necesitas estos tres componentes principales:

Modelo (Model) - El «cerebro» del agente:

Este es el núcleo inteligente del agente, normalmente un potente LLM (como la serie GPT de OpenAI).

¿Qué modelo elegir? Depende de la dificultad de la tarea y de los requisitos de velocidad y coste. OpenAI recomienda:

Empezar con el mejor: Comienza con el modelo más potente (como GPT-4) para crear un prototipo y determinar el rendimiento de referencia.

Reducir gradualmente: Luego, prueba con modelos más pequeños, rápidos y económicos (como GPT-3.5 Turbo o modelos futuros más pequeños) para ver si el resultado sigue siendo aceptable.

Combinar: Incluso puedes utilizar un modelo pequeño para pasos sencillos y un modelo grande para decisiones cruciales en un flujo de trabajo complejo, para optimizar los recursos. ¡No te limites desde el principio!

Herramientas (Tools) - Las «manos y los ojos» del agente:

Un cerebro solo no basta, también necesita poder trabajar. Las herramientas son el puente entre el agente y el mundo exterior, normalmente APIs u otras funciones.

image.png

Las herramientas se dividen en tres categorías:

Datos (Data): Ayudan al agente a obtener información, como consultar bases de datos, leer archivos PDF o buscar en la web.

Acciones (Action): Ayudan al agente a realizar operaciones, como enviar correos electrónicos, actualizar registros de CRM o notificar al servicio de atención al cliente.

Orquestación (Orchestration): ¡Esto es increíble! Un agente puede utilizar otro agente como «herramienta». Hablaremos de esto más adelante.

Importante: La definición de las herramientas debe ser clara y estandarizada, la documentación debe ser completa y las pruebas deben ser exhaustivas. De esta manera, el agente no utilizará las herramientas de forma incorrecta y será más fácil administrarlas y reutilizarlas.

Instrucciones (Instructions) - La «guía de actuación» del agente:

Son las reglas y el flujo de trabajo que estableces para el agente, indicándole «quién es», «qué debe hacer», «cómo hacerlo» y «qué hacer en caso de problemas». Unas instrucciones bien escritas evitarán que el agente se desvíe.

Consejos para escribir buenas instrucciones:

Utilizar la documentación existente: Convertir los manuales de operación, los guiones de atención al cliente y los documentos de políticas de la empresa en instrucciones claras que la IA pueda comprender.

Desglosar las tareas: Descomponer las tareas complejas en pequeñas instrucciones paso a paso, cuanto más específicas, mejor.

Definir las acciones: Cada instrucción debe corresponder a una acción clara (como «pedir el número de pedido al usuario» o «llamar a la API de inventario»), reduciendo la ambigüedad.

Considerar las excepciones: Prever las posibles situaciones inesperadas (como información incompleta del usuario o preguntas extrañas) e indicar al agente cómo manejarlas, como seguir un flujo de trabajo alternativo o solicitar ayuda.

Método avanzado: Puedes utilizar modelos avanzados como o1 u o3-mini para convertir automáticamente tus documentos en instrucciones estructuradas para el agente. ¡Una bendición para los perezosos!

El arte de dirigir agentes: ¿trabajo individual o en equipo?

Una vez que hayas preparado los tres componentes, el agente podrá funcionar. Pero, ¿cómo hacerlo de forma más eficiente y para gestionar tareas más complejas? Esto implica el arte de la orquestación (Orchestration). OpenAI presenta dos modos principales:

Sistemas de un solo agente (Single-agent systems):

Concepto: Un solo agente lo hace todo. Ampliando sus capacidades añadiendo nuevas herramientas.

Ventajas: Estructura sencilla, fácil de usar, mantenimiento y evaluación relativamente fáciles.

Escenarios adecuados: Punto de partida para la mayoría de las tareas. Prioriza la explotación del potencial de un solo agente.

Implementación: Normalmente se utiliza un bucle (loop) para ejecutar el agente, permitiéndole pensar, utilizar herramientas y obtener resultados hasta que se cumplan las condiciones de salida (como la finalización de la tarea, la necesidad de intervención humana o el número máximo de pasos).

Técnicas avanzadas: Cuando la tarea se vuelve compleja, se pueden utilizar «plantillas de indicaciones (prompt templates)» + variables para que un agente básico se adapte a diferentes escenarios, en lugar de escribir un conjunto de instrucciones independiente para cada escenario.

Sistemas multiagente (Multi-agent systems):

Concepto: Cuando un solo agente no es suficiente (por ejemplo, la lógica es demasiado compleja o hay demasiadas herramientas que pueden causar confusión), es necesario formar un equipo de agentes.

Cuándo considerarlos:

Lógica demasiado compleja (Complex logic): Cuando hay demasiadas ramificaciones if-else en las instrucciones y la plantilla se vuelve demasiado compleja y difícil de mantener.

Sobrecarga de herramientas (Tool overload): La cantidad de herramientas no es un problema, el problema es que las herramientas tienen funciones similares y pueden causar confusión. Si la optimización de la descripción y los parámetros de las herramientas no es suficiente, hay que considerar la división. (Experiencia: más de 10-15 herramientas claramente definidas suelen estar bien, pero si la definición de las herramientas es vaga, incluso unas pocas pueden confundir al agente).

Dos modos de colaboración principales:

Modelo de gerente (Manager Pattern - agents as tools):

Analogía: Un agente «gestor de proyectos» con un grupo de agentes «expertos» (como «agente de traducción», «agente de investigación», «agente de redacción»). El gerente se encarga de la coordinación general, utilizando los agentes expertos (como herramientas) para completar tareas complejas. El usuario solo interactúa con el gerente.

Ventajas: Control del flujo de trabajo claro, experiencia de usuario unificada.

Escenarios: Tareas que requieren control centralizado e integración de resultados.

Modelo descentralizado (Decentralized Pattern - agents handing off to agents):

Analogía: Como una línea de montaje o una sala de urgencias de un hospital. Un agente completa su parte y «pasa el testigo» al siguiente agente especializado. El control se transfiere directamente.

Ventajas: Cada agente está más concentrado, la estructura es flexible.

Escenarios: Distribución de conversaciones, tareas que requieren el procesamiento secuencial por diferentes expertos (como un sistema de atención al cliente, donde un agente de triaje determina el tipo de problema y luego lo transfiere a un «agente de pedidos» o un «agente de soporte técnico»).

Ventajas del SDK de OpenAI: A diferencia de algunos frameworks que requieren diagramas de flujo predefinidos, el SDK de agentes de OpenAI admite un enfoque más flexible de «prioridad de código», lo que permite expresar la compleja colaboración de agentes mediante la lógica de programación, de forma más dinámica y adaptable al cambio.

Quinta etapa: Equipar al agente con «casco» y «amuleto» — Barreras de seguridad (Guardrails)

La capacidad del agente es buena, pero si se descontrola, puede causar problemas. Por ejemplo, puede filtrar datos privados, decir cosas inapropiadas o ser manipulado por personas malintencionadas (inyección de indicaciones). Por lo tanto, las barreras de seguridad (Guardrails) son esenciales.

Las barreras de seguridad son como una serie de «redes de seguridad» para el agente, garantizando su funcionamiento seguro y fiable dentro de los límites controlados. Los tipos comunes de barreras de seguridad son:

Clasificador de relevancia (Relevance classifier): Evita que el agente responda a preguntas fuera de tema (por ejemplo, si le pides que procese un pedido, no empieza a hablar de chismes).

Clasificador de seguridad (Safety classifier): Detecta e intercepta entradas maliciosas, como indicaciones de «escape» que intentan obtener instrucciones del sistema.

Filtro de información de identificación personal (PII filter): Evita que el agente genere contenido que incluya información de identificación personal (como nombre, teléfono, dirección).

Moderación de contenido (Moderation): Filtra los discursos de odio, el acoso, la violencia y otros contenidos inapropiados.

Protecciones de seguridad de las herramientas (Tool safeguards): Evalúa el nivel de riesgo de cada herramienta (como lectura frente a escritura, reversibilidad, impacto financiero), las operaciones de alto riesgo pueden requerir una confirmación adicional o una aprobación manual.

Protecciones basadas en reglas (Rules-based protections): Sencillo pero eficaz, como listas negras, límites de longitud de entrada, expresiones regulares para filtrar inyecciones SQL, etc.

Validación de la salida (Output validation): Comprueba si la respuesta del agente cumple con la identidad y los valores de la marca, evitando declaraciones «desastrosas».

Estrategias para construir barreras de seguridad:

Sentar las bases: Priorizar la privacidad de los datos y la seguridad del contenido.

Reparar los errores: Añadir nuevas barreras de seguridad en función de los problemas y fallos encontrados durante la ejecución.

Optimización continua: Encontrar un equilibrio entre la seguridad y la experiencia del usuario, ajustando las estrategias de las barreras de seguridad a medida que el agente evoluciona.

No olvides el «Plan B»: Intervención humana (Human Intervention)

Incluso con barreras de seguridad, el agente puede encontrar situaciones que no puede resolver. En este caso, un mecanismo de «solicitud de ayuda» es importante. Se debe activar la intervención humana en los siguientes casos:

Fracasos repetidos (Exceeding failure thresholds): El agente no puede comprender las intenciones del usuario o completar la tarea después de varios intentos.

Acciones de alto riesgo (High-risk actions): Al realizar operaciones sensibles, irreversibles o de gran impacto (como cancelar un pedido, realizar un reembolso importante o realizar un pago), especialmente cuando la fiabilidad del agente no es lo suficientemente alta, se requiere una confirmación manual.

Esto no solo es una garantía de seguridad, sino también un paso importante para recopilar comentarios y mejorar el agente.

¡Tu primer agente, de 0 a 1, ya está en camino!

¡Uf! Después de todo esto, ¿no te parece que tienes una nueva perspectiva sobre los agentes?

La idea principal de esta guía de OpenAI es sencilla:

Los agentes representan una nueva era de automatización: pueden gestionar la ambigüedad, utilizar herramientas y completar tareas complejas de forma autónoma.

Sentar las bases es fundamental: un modelo potente + herramientas claras + instrucciones precisas = un agente fiable.

Elegir el modo de orquestación adecuado: Empezar con un solo agente y evolucionar a la colaboración multiagente según sea necesario.

La seguridad es lo primero, las barreras de seguridad son primordiales: desde el filtrado de entradas hasta la intervención humana, varias capas de protección para garantizar la seguridad y el control.

Avanzar paso a paso e iterar continuamente: No intentes hacerlo todo de una vez, empieza con escenarios sencillos, verifica, aprende y mejora.

El proceso de creación de agentes no es inalcanzable. Con esta guía, un poco de espíritu explorador y práctica, puedes crear un compañero de IA que te ayude a resolver problemas.

¿A qué esperas? ¡Empieza a crear tu primer agente de IA y ponlo en marcha! Si tienes alguna idea o duda durante el proceso de exploración, deja un comentario.

Documento oficial: https://cdn.openai.com/business-guides-and-resources/a-practical-guide-to-building-agents.pdf