Cómo construir agentes de IA efectivos para procesar millones de solicitudes

Conviértase en una forma efectiva de usar LLM para la resolución de problemas. Casi semanalmente, se ve un nuevo LLMS de LLMS de IA Investigación de IA con capacidades de agente específicas. Sin embargo, construir un agente efectivo para la producción es mucho más complicado de lo que parece. Un agente necesita barandas, flujos de trabajo específicos para seguir y el manejo adecuado de errores antes de ser efectivo para el uso de la producción. En este artículo, destaco lo que necesita pensar antes de implementar su agente de IA en la producción y cómo hacer una aplicación de IA efectiva utilizando agentes.

Tabla de contenido

Si desea aprender sobre la ingeniería del contexto, puede leer mi artículo sobre Ingeniería del contexto para sistemas de respuesta de preguntaso Mejora de LLM con ingeniería de contexto.

Motivación

Mi motivación para este artículo es que los agentes de IA se han vuelto increíblemente potentes y efectivos últimamente. Vemos más y más LLM liberados que están especialmente capacitados para un comportamiento de agente, como Qwen 3donde las capacidades de agente mejoradas fueron un punto destacado importante de la nueva liberación de LLM de Alibaba.

Muchos tutoriales en línea resaltan cuán simple es la configuración de un agente ahora, utilizando marcos como Langgraph. Sin embargo, el problema es que estos tutoriales están diseñados para la experimentación de agentes, no para utilizar agentes en la producción. Utilizar efectivamente los agentes de IA en la producción es mucho más difícil y requiere resolver desafíos que realmente no enfrenta cuando se experimenta con los agentes localmente. El enfoque de este artículo se basará en cómo hacer agentes de IA listos para la producción.

Barandas

El primer desafío que debe resolver al implementar agentes de IA para la producción es tener barandillas. Las barandillas son un término vagamente definido en el espacio en línea, por lo que proporcionaré mi propia definición para este artículo.

Las barandillas de LLM se refieren al concepto de garantizar la actuación de LLMS dentro de sus tareas asignadas, se adhieren a las instrucciones y no realiza acciones inesperadas.

La pregunta ahora es: ¿cómo se configuran barandillas para sus agentes de IA? Aquí hay algunos ejemplos de cómo configurar las barandillas:

  • Limitar el número de funciones a las que un agente tiene acceso
  • Limite el tiempo que un agente puede funcionar, o la cantidad de llamadas de herramientas que pueden hacer sin intervención humana
  • Haga que el agente solicite una supervisión humana cuando realice tareas peligrosas, como eliminar objetos

Dichas barandillas garantizarán que su agente actúe dentro de sus responsabilidades diseñadas y no cause problemas como:

  • Tiempos de espera exagerados para los usuarios
  • Grandes facturas de nubes debido al uso de token extremo (puede suceder si un agente está atascado en un bucle, por ejemplo)

Además, las barandillas son importantes para garantizar que el agente permanezca en curso. Si proporciona a su agente de IA demasiadas opciones, es probable que el agente falle en la realización de su tarea. Es por eso que mi próxima sección está sobre el tema de minimizar las opciones de los agentes mediante el uso de flujos de trabajo específicos.

Guiar al agente a través de la resolución de problemas

Otro punto súper importante al utilizar agentes en la producción es minimizar el número de opciones a las que el agente tiene acceso. Puede imaginar que simplemente puede hacer un agente que tenga acceso inmediato a todas sus herramientas y, por lo tanto, crear un agente de IA efectivo.

Desafortunadamente, esto rara vez funciona en la práctica: los agentes se atascan en los bucles, no pueden elegir la función correcta y luchan por recuperarse de errores anteriores. La solución para esto es guiar al agente a través de su resolución de problemas. En Anthrope Building Agents Efection AIesto se conoce como rápido chaen- y se aplica a flujos de trabajo de agente que puede descomponer en diferentes pasos. En mi experiencia, la mayoría de los flujos de trabajo tienen este atributo, y este principio es, por lo tanto, relevante para la mayoría de los problemas que puede resolver con los agentes.

Mejoraré la explicación a través de un ejemplo:

Tarea: Obtenga información sobre la ubicación, el tiempo y la persona de contacto de cada una de una lista de 100 contratos. Luego, presente los cinco últimos contratos en un formato de tabla

Mala solución: Solicite a un agente que realice la tarea en su totalidad, por lo que este agente intenta leer todos los contratos, obtener la información relevante y presentarla en un formato de tabla. El resultado más probable aquí es que el agente le presentará información incorrecta.

Solución adecuada: Descompone el problema en múltiples pasos.

Esta cifra destaca el enfoque adecuado para resolver el problema de obtener y presentar datos de los contratos. Usted guía al agente a través de un proceso de tres pasos para ayudar al agente a resolver efectivamente el problema. Imagen del autor.
  1. Información obtenida (obtenga todas las ubicaciones, tiempos y contactos)
  2. Filtrado de información (filtro solo para mantener los cinco contratos más recientes)
  3. Presentación de la información (presente los hallazgos en una tabla)

Además, entre los pasos, puede tener un validador para garantizar que la finalización de la tarea esté en camino (asegúrese de obtener información de todos los documentos, etc.)

Entonces, para el primer paso, es probable que tenga un subagente de extracción de información específico y lo aplique a los 100 contratos. Esto debería proporcionarle una tabla de 3 columnas y 100 filas, cada fila que contiene un contrato con ubicación, tiempo y persona de contacto.

El paso dos implica un paso de filtrado de información, donde un agente mira a través de la tabla y filtra cualquier contrato que no esté en los 5 contratos más recientes. El último paso simplemente presenta estos hallazgos en una buena tabla usando el formato de Markdown.

El truco es generar este flujo de trabajo de antemano para simplificar el problema. En lugar de que un agente descubra estos tres pasos por sí mismo, crea un flujo de trabajo de extracción de información y filtrado con los tres pasos predefinidos. Luego puede utilizar estos tres pasos, agregar alguna validación entre cada paso y tener una extracción de información efectiva y un agente de filtrado. Luego repite este proceso para cualquier otro flujo de trabajo que desee realizar.

Manejo de errores

El manejo de agentes es una parte crítica del mantenimiento de agentes efectivos en la producción. En el último ejemplo, puede imaginar que el agente de extracción de información no logró obtener información de 3/100 contratos. ¿Cómo lidias con esto?

Su primer enfoque debe ser agregar la lógica de reintento. Si un agente no puede completar una tarea, se repleta hasta que realiza con éxito la tarea o alcanza un límite de reintento máximo. Sin embargo, también debe saber cuándo volver a intentarlo, ya que el agente podría no experimentar una falla en el código, sino obtener la información incorrecta. Para esto, necesita una validación de salida de LLM adecuada, sobre la que puede aprender más en mi artículo en Validación de LLM a gran escala.

Esta figura muestra el manejo simple de errores de agente utilizando Validate y Reinty Logic. El agente recibe una tarea e intenta resolverla. La salida se valida luego utilizando una función de validación. Si la salida es válida, se devuelve al usuario, de lo contrario, el agente reemplaza la tarea. Imagen del autor.

El manejo de errores, como se define en el último párrafo, se puede manejar con simples declaraciones de prueba/captura y una función de validación. Sin embargo, se vuelve más complicado al considerar que algunos contratos pueden ser corruptos o no contienen la información correcta. Imagine, por ejemplo, si uno de los contratos contiene la persona de contacto, pero le falta el tiempo. Esto plantea otro problema, ya que no puede realizar el siguiente paso de la tarea (filtrado), sin el tiempo. Para manejar tales errores, debe haber predefinido lo que sucede con la información faltante o incompleta. Una heurística simple y efectiva aquí es ignorar todos los contratos que no puede extraer los tres puntos de información desde (ubicación, tiempo y persona de contacto) después de dos reintentos.

Otra parte importante del manejo de errores es lidiar con problemas como:

  • Límites de token
  • Tiempos de respuesta lentos

Al realizar la extracción de información en cientos de documentos, inevitablemente enfrentará problemas en los que está limitado o el LLM tarda mucho en responder. Normalmente recomiendo las siguientes soluciones:

  • Límites de token: aumente los límites tanto como sea posible (los proveedores de LLM suelen ser bastante estrictos aquí) y utilizan retroceso exponencial
  • Siempre espere las llamadas de LLM si es posible. Esto podría causar problemas con el procesamiento secuencial que tarda más; Sin embargo, hará que construir su aplicación de agente sea mucho más simple. Si realmente necesita una mayor velocidad, puede optimizar esto más adelante.

Otro aspecto importante a considerar es el punto de control. Si tiene a su agente realizar tareas durante 1 minuto, el punto de control es importante, porque en el caso de la falla, no desea que su modelo se reinicie desde cero. Esto generalmente conducirá a una mala experiencia del usuario, ya que el usuario tiene que esperar un período prolongado de tiempo.

Depuración de sus agentes

Un último paso importante de construir agentes de IA es depurar a sus agentes. Mi punto principal en la depuración se ata a un mensaje que he compartido en múltiples artículos, publicado por Greg Brockman en X:

El tweet generalmente se refiere a un problema de clasificación estándar, donde inspecciona sus datos para comprender cómo un sistema de aprendizaje automático puede realizar la clasificación. Sin embargo, encuentro que el tweet también se aplica muy bien para depurar a sus agentes:

Debe inspeccionar manualmente las tokens de entrada, pensamiento y salida que usan sus agentes para completar un conjunto de tareas.

Esto lo ayudará a comprender cómo el agente se acerca a un problema dado, el contexto que se le da al agente para resolver el problema y la solución que el agente surge. La respuesta a la mayoría de los problemas que enfrenta su agente generalmente está contenida en uno de estos tres conjuntos de tokens (entrada, pensamiento, salida). Encontré numerosos problemas al usar LLMS, simplemente dejando de lado 20 llamadas de API que hice, pasando por todo el contexto que proporcioné al agente, así como los tokens de salida, y luego me dio cuenta rápidamente de dónde salí mal, por ejemplo:

  • Alimenté el contexto duplicado en mi LLM, lo que lo empeora en las siguientes instrucciones
  • Los tokens de pensamiento mostraron cómo el LLM estaba malinterpretando la tarea que la estaba proporcionando, lo que indica que mi aviso de mi sistema no estaba claro.

En general, también recomiendo crear varias tareas de prueba para sus agentes, con una verdad en tierra configurada. Luego puede ajustar a sus agentes, asegurarse de que puedan pasar todos los casos de prueba y luego liberarlos a la producción.

Conclusión

En este artículo, he discutido cómo puede desarrollar agentes efectivos listos para la producción. Muchos tutoriales en línea cubren cómo puede configurar agentes localmente en solo unos minutos. Sin embargo, desplegar con éxito a los agentes en la producción suele ser un desafío mucho mayor. He discutido cómo necesita usar barandillas, guiando al agente a través de la resolución de problemas y el manejo efectivo de errores, para tener con éxito agentes en producción. Por último, también discutí cómo puede depurar a sus agentes inspeccionando manualmente los tokens de entrada y salida que se proporciona.

👉 Encuéntrame en Socials:

🧑‍💻 Ponerse en contacto

🔗 LinkedIn

🐦 X / Twitter

✍️ Medio