Unidad 10 / 11

Flujos de trabajo de agentes y tareas de varios pasos

Ganancias:

  • Aplicar la creciente escala de complejidad desde la solución más simple al agente
  • Distinguir entre encadenamiento, enrutamiento y patrones de flujo de trabajo paralelos
  • Dividir una tarea de varios pasos en un ciclo de planificación-ejecución-verificación

Establecimos el ciclo simple de un solo vehículo en la unidad anterior. El trabajo real a menudo requiere múltiples pasos, múltiples herramientas y, a veces, decisiones ramificadas: "Encontrar pedidos que se retrasaron este mes, redactar un correo electrónico de disculpa para los clientes, resumir para un gerente". En esta unidad, cubrimos patrones para organizar tareas de varios pasos, cuando se necesita un agente real y el ciclo de planificación-ejecución-verificación. El principio fundamental: tanta complejidad como necesidad.

Escale desde la solución más simple hasta el agente

No todas las tareas merecen la solución más compleja. Suba paso a paso en la escala de complejidad y deténgase en la solución adecuada más simple:

  1. Llamada única: si la tarea se resuelve mediante una llamada de modelo única (resumir, clasificar), deténgase aquí.
  2. Llamada única con RAG: Si se requiere información, agregar recuperación y nuevamente llamada única.
  3. Flujo de trabajo fijo: si los pasos se conocen de antemano, secuenciarlos manualmente (flujo de código). El modelo realiza un subtrabajo en cada paso, pero usted determina el orden.
  4. Agente basado en modelo: si los pasos no se pueden conocer de antemano, el modelo decide a qué agente llamar y cuándo. La opción más potente pero más cara y arriesgada.

La diferencia entre flujo de trabajo y agente es fundamental: en flujo de trabajo, usted escribe el flujo de control (predecible, comprobable, económico). Le das el control de la agenda al modelo (flexible pero impredecible). La mayor parte del trabajo corporativo es en realidad un flujo de trabajo; Los agentes reales son relativamente pocos.

Consejo: "¿Puedo escribir los pasos de esta tarea con antelación?" preguntar. Si puede escribirlo, cree un flujo de trabajo: más barato, más seguro y más comprobable. Sin embargo, si los pasos varían según la entrada y no se pueden predecir, se requiere un agente.

Tres patrones básicos de flujo de trabajo

Encadenamiento rápido: la salida de un paso es la entrada del siguiente. “Generar borrador → editar → formatear”. Cada paso es simple y enfocado; fácil de depurar.

Enrutamiento: primero clasifica la solicitud entrante y la envía al experto adecuado. "¿Esta pregunta es técnica, de facturación o de reembolso?" → redirigir a la subtransmisión correcta. Cada ruta está optimizada con sus propios mensajes y herramientas.

Paralelización: Ejecutar trabajos independientes simultáneamente y combinar los resultados. "Resuma 5 documentos por separado y luego combínelos". No sólo es rápido, sino que cada pieza recibe toda la atención.

patrón

cuando

ejemplo

encadenado

Los pasos son secuenciales y dependientes.

Borrador → editar → formatear

redirigir

Procesamiento diferente dependiendo del tipo de entrada

Clasificación de solicitudes de soporte

paralelo

Subobras independientes

Resumir varios documentos por separado

Agente (bucle)

Los pasos no se pueden predecir de antemano

Investigación/reparación abierta

# Patrón de enrutamiento (conceptual) tipo = patrón.clasificar(solicitud) # "retorno" | "técnica" | "factura"si recorrido == "regreso": respuesta = flujo_retorno(solicitud)elif tur == "técnico": respuesta = flujo_técnico(solicitud)de lo contrario: respuesta = flujo_factura(solicitud)

Ciclo Planificación-Ejecución-Verificación

Un patrón poderoso en agentes reales: tener el plan modelo, luego ejecutarlo y luego verificarlo. El modelo divide la tarea compleja en subpasos, realiza cada paso con herramientas y finalmente pregunta "¿logré el objetivo?" él comprueba. El paso de verificación detecta los errores con una mirada nueva e independiente (“¿este resultado cumple con la tarea?”).

# Plan-ejecutar-verificar (conceptual)plan = model.uret("Divida esta tarea en pasos: " + tarea)para el paso del plan: resultado = agent_loop(paso) # ejecutar con herramientascheck = model.uret("¿Este resultado cumple con la tarea? Dígame si falta algo: " + tarea + resultados)si check.missing: # ronda de corrección...

Dos buenas prácticas para tareas largas: imponer una condición de parada (número máximo de pasos, evita un bucle infinito) y seguimiento del progreso (hacer que el agente escriba lo que está haciendo para no distraerse). El agente, que no tiene límite de pasos, puede girar para siempre si se queda atascado y el coste se disparará.

Diseño débil/fuerte

Débil (poniendo todo en un agente gigante):

Diga "haga esa tarea compleja" y libérela con herramientas ilimitadas.# Resultado: comportamiento impredecible, riesgo de bucles infinitos, alto costo,# imposible de depurar.

Potente (flujo primero, agente solo cuando sea necesario, limitado):

Primero divida el trabajo en pasos fijos (enrutamiento + encadenamiento). Utilice el agente sólo en subtareas en las que se desconozcan los pasos; Agregue límite de pasos, seguimiento del progreso y ronda de verificación.

Tres mini estuches

Caso 1: flujo de trabajo en lugar de agente. Un equipo configuró la tarea de "procesar solicitud de soporte" con un agente libre; A veces el agente daba 15 pasos y tomaba el camino equivocado. Los pasos fueron esencialmente fijos (clasificar → buscar información relevante → escribir un borrador → enviar para aprobación). Cuando cambiamos al flujo de trabajo de enrutamiento + encadenamiento, la consistencia aumentó del 58 % al 96 % y el costo se redujo a la mitad.

Caso 2: ganancia paralela. Un equipo legal estaba resumiendo 20 contratos uno por uno; En total fueron 4 minutos. Cuando cambiamos a un patrón paralelo (todo al mismo tiempo, luego combinamos), el tiempo se redujo a 25 segundos y la calidad aumentó a medida que cada resumen recibió toda la atención.

Caso 3: No hubo ninguna condición de parada. Un agente de investigación seguía llamando a las mismas dos herramientas sin cesar, buscando información que no podía encontrar; acumuló costos significativos de la noche a la mañana. Cuando se agregaron el límite máximo de 8 pasos y la regla "Si no puedes encontrarlo en 3 intentos, di que no lo sé", el costo se mantuvo bajo control y llegaron respuestas honestas de "No pude encontrarlo".

Errores comunes

  • Delegar todo al agente: El flujo de trabajo es más económico, seguro y comprobable si se conocen los pasos.
  • Combinar el flujo de trabajo con el agente: ¿usted o el modelo toman el control? No diseñes sin dejar esto claro.
  • No establecer una condición de parada: El agente entra en un bucle infinito y acumula costes.
  • Sin seguimiento del progreso: durante una misión larga, el agente se distrae y vuelve a hacer el mismo trabajo.
  • Saltarse la ronda de verificación: los resultados incorrectos pero que parecen plausibles se entregan sin verificar.
Atención: cuanto más libre esté el agente, mayor será el radio de explosión. La flexibilidad no es gratuita; cada libertad adicional añade imprevisibilidad y riesgo. Elija la solución adecuada más estrecha.

En resumen

  • En complejidad, se aplica el principio "según sea necesario": llamada única → RAG → flujo de trabajo → agente solo si es realmente necesario.
  • En Workflow, escribes el flujo de control (predecible); Le dejas la agenda al modelo (flexible pero arriesgado).
  • Tres patrones básicos: encadenamiento (dependiente secuencialmente), enrutamiento (distribuir por tipo), paralelo (trabajos independientes).
  • Los agentes reales utilizan el ciclo planificar-ejecutar-verificar, la condición de detención y el seguimiento del progreso.
  • A medida que aumenta la flexibilidad, aumentan la imprevisibilidad y los costos; Elija la solución adecuada más estrecha.

Tarea de aplicación

Elija una tarea de varios pasos de su propio negocio (por ejemplo, "preparar y distribuir informe mensual"). (1) ¿Puedes escribir los pasos de esta tarea con anticipación? Si puede escribirlo, diséñelo como un flujo de trabajo (¿qué patrón: encadenamiento/enrutamiento/paralelo?); Si no puede escribir, explique por qué se necesita un agente. (2) Dibuja el diseño elegido con un diagrama de cuadro de flechas. (3) Si es agencia: escriba cómo configurará la condición de detención, el seguimiento del progreso y la ronda de verificación. (4) Enumere 3 riesgos de realizar la misma tarea con un "único agente de desarrollo".

lista de verificación

  • [ ] Puedo elegir el nivel correcto en la escala de "complejidad según sea necesario".
  • [] Puedo distinguir la diferencia de control entre Workflow y agente.
  • [] Puedo asignar patrones de encadenamiento, enrutamiento y paralelo a las tareas apropiadas.
  • [] Puedo configurar el ciclo plan-ejecutar-verificar, la condición de detención y el seguimiento del progreso en los agentes.
  • [ ] Tengo en cuenta que demasiada flexibilidad conlleva imprevisibilidad y costes.