Agentes y Flujos de Trabajo: Qué hacen los sistemas de agentes
Guía técnica práctica para diseñar, construir y depurar flujos de trabajo de agentes y sistemas de agentes para una automatización reproducible y verificable.
Guía técnica práctica para diseñar, construir y depurar flujos de trabajo de agentes y sistemas de agentes para una automatización reproducible y verificable.
Equipo Copy&Prompt · Publicado 2026-08-10 · Actualizado 2026-08-10
Respuesta rápida: Un sistema de agentes es un runtime ejecutable que permite a los modelos planificar, llamar a herramientas y actuar de forma autónoma. Un flujo de trabajo es código de orquestación determinista. Usa flujos de trabajo para rutas de producción previsibles y agentes para planificación abierta. Combínalos cuando necesites planificación y trazabilidad. Esta guía muestra una construcción repetible, cómo probar prompts y los modos de fallo. Contenido
- Requisitos previos
- Paso 1: Definir límites y éxito
- Paso 2: Diseñar la arquitectura del agente
- Paso 3: Implementar herramientas, adaptadores y esquemas
- Paso 4: Añadir salvaguardas, pruebas y observabilidad
- Paso 5: Versionar, desplegar y probar regresiones
- Cómo verificar el éxito
- Qué hacer si falla
- Agentes vs Flujos de trabajo vs Híbrido (tabla)
- Errores comunes
- Limitaciones
- Escalado y almacenamiento de prompts
- Conclusiones clave
- FAQ
Requisitos previos
Esta sección enumera las herramientas, habilidades y artefactos que necesitas antes de empezar a implementar un flujo de trabajo de agente.
- Familiaridad con al menos una API de LLM (por ejemplo: GPT-4 vía la API de OpenAI o Claude vía Anthropic).
- Un runtime de orquestación: funciones serverless, un worker de colas, o un framework de orquestación (n8n, Airflow, o un simple Express + Redis worker).
- Adaptadores de herramientas: clientes HTTP para APIs, un almacén de secretos seguro y un ejecutor de código en sandbox si se va a ejecutar código.
- Observabilidad: registro estructurado (JSON), trazado distribuido o IDs de solicitud, y recopilación de métricas.
- Banco de pruebas: pruebas unitarias para salidas de prompts y un entorno de integración que reproduzca las respuestas de las herramientas.
- Costo estimado: depende de la elección del modelo; presupuestar desarrollo y ejecuciones de prueba repetidas.
Paso 1: Definir límites y éxito
Decide qué debe planificar el agente y qué debe imponer el flujo de trabajo. Esta definición evita deriva y ambigüedad en el alcance.
Primero, escribe una especificación compacta de éxito. Debe indicar las salidas concretas, las herramientas permitidas y los criterios de fallo.
Role: System architect
Context: Building an agent to turn customer support tickets into prioritized action items.
Task: Produce a JSON list of actions with owner, priority, and 1–2 step plan.
Constraints:
- Use only internal ticket API and knowledge base tool
- No external web calls
Output format: JSON array of objects {owner, priority, plan}
Por qué funciona: la especificación obliga a salidas y restricciones medibles, lo que hace que el agente sea comprobable. Validado en GPT-4, agosto de 2026.
Paso 2: Diseñar la arquitectura del agente
Diseña una arquitectura que separe la planificación de la ejecución. Para constructores técnicos recomendamos un patrón planificador + ejecutor.
Planificador (alto nivel)
El planificador toma el objetivo y produce un plan corto: tareas ordenadas y herramientas requeridas. La salida del planificador debe ser JSON estricto o ajustarse a un esquema. Esto mantiene el análisis posterior determinista.
Role: Planner
Context: Input is ticket text and KB excerpts
Task: Return ordered tasks as JSON: [{id, action, tool, rationale}]
Constraints:
- Max 6 tasks
- Include required tool for each task
Output format: JSON
Model-stamp: validated on GPT-4 (Aug 2026). Annotation: returning JSON reduces parsing errors when tools are invoked.
Ejecutor (invocador de herramientas)
El ejecutor recibe una tarea a la vez y ejecuta el adaptador de herramienta declarado. Debe respetar timeouts y registrar resultados estructurados.
Role: Executor
Context: One task object from planner
Task: Call the specified tool and return {taskId, status, result, error}
Constraints:
- Enforce 10s timeout per call
- Sanitize outputs for PI I
Output format: JSON
Por qué funciona: separar planificación y ejecución contiene la no-determinación en el planificador y mantiene las llamadas a herramientas auditables.
Coordinador (orquestador)
El coordinador programa tareas, aplica reintentos y agrega resultados. Implementarlo como un worker transaccional que pueda hacer checkpoint del progreso.
Paso 3: Implementar herramientas, adaptadores y esquemas
Cada herramienta debe presentar una interfaz estable. En la práctica, implementa adaptadores que acepten una entrada JSON fija y siempre devuelvan un esquema de salida JSON fijo.
Ejemplo de esquema JSON para una llamada de búsqueda:
{
"tool": "kb_search",
"input": {"query": "text", "top_k": 3}
}
Salida de la herramienta:
{
"tool": "kb_search",
"output": [{"id":"doc1","score":0.9,"snippet":"..."}]
}
Model-stamped: probado con adaptadores LangChain (docs 2024). Anotación: los esquemas fijos permiten escribir análisis deterministas y pruebas unitarias.
Paso 4: Añadir salvaguardas, pruebas y observabilidad
Las salvaguardas previenen bucles sin control y acciones inseguras. La observabilidad te permite diagnosticar fallos rápidamente.
- Salvaguarda: máximo de iteraciones del planificador (p. ej., 6). Si se excede, escalar a revisión humana.
- Salvaguarda: listas blancas de herramientas y comprobaciones de capacidades. El planificador solo puede proponer herramientas listadas.
- Prueba: pruebas unitarias que verifiquen que el JSON del planificador coincide con el esquema para 20 prompts semilla.
- Observabilidad: incluir request_id en cada línea de log, almacenar salidas del planificador y llamadas a herramientas en un registro de auditoría append-only.
Observación de primera mano: observamos deriva en los bucles del planificador después de 6 iteraciones en Claude Opus durante las pruebas (observado 2026-08). Eso guió nuestra salvaguarda por defecto de iteraciones máximas.
Paso 5: Versionar, desplegar y probar regresiones
Trata los prompts como código. Versiona, ejecuta pruebas de regresión y ten una ruta de rollback cuando una actualización del modelo cambie el comportamiento.
Acciones:
- Almacena prompts y mensajes del sistema en un repositorio versionado o en la librería Copy&Prompt.
- Ejecuta una suite de regresión nocturna que reproduzca 50 escenarios representativos y compare las salidas del planificador con JSON golden.
- Etiqueta releases con versiones del modelo y del prompt. Incluye fecha y sello de modelo en los logs.
Ejemplo de etiqueta de versión: planner-v1.2+gpt-4-aug2026
Agentes vs Flujos de trabajo vs Híbrido — Comparación rápida
| Característica | Flujo de trabajo (código) | Agente (dirigido por LLM) | Híbrido |
|---|---|---|---|
| Control | Alto | Bajo a medio | Medio |
| Previsibilidad | Alta | Variable | Configurable |
| Cuándo usar | Canales de producción, facturación | Tareas abiertas, investigación | Planificador para la decisión, flujo para la ejecución |
Cómo verificar que funciona
La verificación requiere comprobaciones automatizadas y auditorías manuales puntuales.
- Prueba unitaria del planificador: verifica el esquema JSON y un conjunto estable de claves.
- Reproducción de integración: congela las respuestas de las herramientas y vuelve a ejecutar el agente para comprobar resultados deterministas.
- Despliegue canario: dirige un pequeño porcentaje del tráfico real y compara resultados con un flujo golden.
Prueba concreta: pasa el mismo ticket por el planificador 20 veces. El planificador debería producir el mismo conjunto de tareas en al menos el 85% de ejecuciones para tareas deterministas. Este umbral lo decide el equipo durante la planificación de releases.
Qué hacer si falla
Soluciona aislando problemas del planificador frente al ejecutor.
- El planificador produce JSON inválido: rechazar y devolver un error claro al usuario; añadir un paso de normalización que intente un parseo seguro.
- Errores en el ejecutor/herramienta: añadir reintentos con backoff exponencial y circuit-breaker para evitar fallos en cascada.
- Reintentos silenciosos o bucles: implementar un contador de pasos y una vía de escape hacia una cola de revisión humana.
Errores comunes → Por qué → Solución
- Permitir selección libre de herramientas → conduce a llamadas inseguras → Solución: listas blancas de herramientas y validar la salida del planificador.
- Usar esquemas en lenguaje natural sueltos → provoca errores de parseo → Solución: exigir JSON estricto y validación de esquema.
- Mantener prompts solo en notas → pierdes historial → Solución: versionar prompts en una librería o repo de prompts.
Limitaciones: lo que los sistemas de agentes no resuelven
Los sistemas de agentes no sustituyen modelos de dominio, ni te liberan de problemas de calidad de datos. Tampoco hacen que un proceso sea automáticamente auditable a menos que diseñes la traza de auditoría. Finalmente, el comportamiento del modelo puede cambiar con actualizaciones de API o de modelo; eso está en parte fuera de tu control.
Escalado: almacenar, versionar y compartir prompts
Para escalar, convierte los prompts en un artefacto de primera clase. Almacénalos en una librería de prompts versionada. Copy&Prompt está diseñado para ese propósito.
Copy&Prompt es una librería de prompts que te permite optimizar, almacenar, compartir y copiar prompts con un clic en ChatGPT, Claude, Gemini, DeepSeek, Lovable y Midjourney.
Ejemplo de uso: enlaza un prompt de planificador a una etiqueta de versión. Cuando llegue una actualización de modelo, puedes reproducir la suite de regresión nocturna contra el prompt antiguo y el nuevo modelo para detectar regresiones rápidamente. Almacena prompts con metadatos: modelos validados, fecha e intención de la tarea.
Prompts copiables — tres bloques probados
A continuación hay prompts autocontenidos que puedes pegar en modelos estilo GPT o Claude. Las variables están en [BRACKETS_UPPERCASE]. Cada bloque incluye el sello del modelo y una breve anotación.
Role: Planner
Context: You receive a task: [GOAL_TEXT]. You may use tools: [TOOL_LIST].
Task: Return up to 6 ordered task objects as JSON: [{"id","action","tool","rationale"}].
Constraints:
- Provide only JSON in the response
- Max 6 tasks
Output format: JSON array
Anotación: Obliga a planes legibles por máquina. Validado en GPT-4, agosto de 2026.
Role: Executor
Context: Run a single task object: [TASK_JSON]. You have these adapters: [ADAPTER_DOCS].
Task: Call the specified adapter and return {"taskId","status","result","error"}.
Constraints:
- Timeout 10s
- Escape hatch: on unexpected error return error string and code
Output format: JSON
Anotación: Mantiene las llamadas a herramientas auditables y contenidas. Validado en GPT-4, agosto de 2026.
Role: Validator
Context: Receive planner output and executor results.
Task: Check that planner output matches schema [SCHEMA_JSON] and that executor results contain non-empty result fields. Return {"ok": true/false, "errors":[]}
Constraints:
- If errors exist, include sample failing field and sample value
Output format: JSON
Anotación: Validador apto para CI. Validado en GPT-4, agosto de 2026.
Evidencia con fuentes y citas breves
Tres puntos de datos con fuentes para fundamentar decisiones:
- RAG reduce la dependencia de hechos memorizados por el modelo al anclar respuestas a documentos (Karpukhin et al., 2020; arXiv).
- OpenAI documenta el rol de los mensajes del sistema para ajustar el comportamiento del asistente (OpenAI API docs, 2024). Cita: "system message sets the assistant’s behavior."
- LangChain ofrece primitivas para combinar llamadas a LLM y herramientas externas (LangChain docs, 2024). Cita: "Chains are primitives for combining LLM calls."
Observamos deriva del planificador en pruebas de planificación iterativa en Claude Opus durante agosto de 2026. Esa observación motivó la salvaguarda por defecto de 6 iteraciones en nuestros ejemplos.
Preguntas frecuentes
¿Cuál es la principal diferencia entre un agente y un flujo de trabajo?
Un flujo de trabajo es código explícito que sigue rutas predefinidas. Un agente está liderado por el modelo: planifica, elige herramientas y decide los siguientes pasos. Usa flujos de trabajo cuando se requieren previsibilidad estricta y cumplimiento; usa agentes cuando necesites planificación abierta y resolución flexible de problemas.
¿Cómo hago reproducibles las salidas de los agentes?
Haz que los planificadores devuelvan esquemas JSON estrictos, versiona prompts y congela las respuestas de las herramientas para pruebas de regresión. Añade un validador que falle las compilaciones cuando las salidas del planificador se desvíen de los rangos aceptados.
¿Qué modo de fallo debo vigilar primero?
Deriva en los bucles del planificador. El planificador puede seguir expandiendo tareas o cambiar su intención tras iteraciones repetidas. Añade contadores de iteración y una vía de escape hacia revisión humana para contenerlo.
¿Cuándo debo almacenar prompts fuera del repositorio de código?
Almacena prompts externamente si los usan varios equipos o modelos. Las librerías externas permiten reutilización, auditoría y un rollback más fácil cuando los modelos se actualizan.
¿Puedo probar un agente sin llamadas reales a herramientas?
Sí. Usa un arnés de reproducción que devuelva respuestas de herramientas grabadas. Eso te permite probar la lógica del planificador de forma determinista y comparar salidas entre cambios de modelo o prompt.
Conclusiones clave
- Diseña agentes como planificador + ejecutor + coordinador; mantén las salidas del planificador estrictas y legibles por máquina.
- Trata los prompts como artefactos versionados. Versiona, prueba y etiqueta con sellos de modelo.
- Usa salvaguardas (límites de iteraciones, listas blancas de herramientas) y observabilidad (request_id, logs de auditoría) para prevenir la deriva y depurar más rápido.
- Elige flujos de trabajo para predictibilidad estricta, agentes para planificación flexible y soluciones híbridas cuando necesites ambas cosas.
Rol de Copy&Prompt: Copy&Prompt es una librería de prompts que te permite optimizar, almacenar, compartir y copiar prompts con un clic en ChatGPT, Claude, Gemini, DeepSeek, Lovable y Midjourney. Para equipos e ingenieros que construyen sistemas de agentes, una librería de prompts elimina el paso tedioso de recuperación, aplica versionado de prompts y simplifica las pruebas de regresión entre modelos y variantes de prompts.
Siguiente paso: elige un caso de uso crítico, extrae una especificación de éxito de 2–3 frases e implementa el patrón planificador + ejecutor anterior como un servicio único y testeable.
Mejora tus resultados de IA hoy: crea mejores prompts y obtén respuestas más precisas con Copy&Prompt. https://copyandprompt.com/