El valor predeterminado de M365 Copilot acaba de revalorizar tu pila de agentes
Microsoft enviando GPT-5.6 como predeterminado en Microsoft 365 Copilot señala un cambio drástico en cómo las empresas miden los costos de los agentes. Ya no son tokens. Es la calidad de finalización de tareas — precios por puesto a nivel empresarial, pero bajo el capó, por acción exitosa en la capa del modelo.
Eso revaloriza cada pila de agentes que hemos enviado. El antiguo manual — cambiar GPT-4o por un modelo de $3/M de entrada para reducir gastos — se rompe cuando el modelo más fuerte termina en un bucle y el más barato necesita tres. Un modelo de frontera pagando $15/M de entrada pero aterrizando en el primer intento supera a una variante presupuestaria pagando $3/M e iterando dos veces, tomando llamadas de herramientas, golpeando tiempos de espera, activando reintentos. La unidad por la que realmente estás pagando no son tokens. Son acciones que funcionan y se completan.
El costo por token es el denominador incorrecto para agentes
Aquí hay un ejemplo trabajado. Una tarea requiere tres llamadas de herramienta secuenciales: validar datos, llamar a una API externa, escribir en una base de datos. Tu modelo barato itera cuatro veces, generando llamadas API redundantes y activando reintentos en 429s. Tu modelo de frontera aterriza en un bucle, una llamada API, una escritura.
Matemáticas del modelo barato: 3.500 tokens × 4 bucles = 14.000 tokens, más 12 llamadas de herramienta (3 por bucle × 4), más 2 reintentos en tiempos de espera, más 15 minutos de revisión humana porque la salida necesita verificación de cordura. Matemáticas del modelo de frontera: 2.800 tokens × 1 bucle = 2.800 tokens, más 3 llamadas de herramienta, más cero reintentos, más dos minutos de revisión. Por token, el modelo barato se ve 80% más barato. Por acción exitosa, el modelo de frontera es dos tercios del costo.
Hemos construido esto mal. La mayoría de los equipos miden el consumo de tokens de forma aislada. Cuando ajustas el tamaño del modelo de razonamiento de tu agente, el denominador real es: (tokens de entrada + tokens de salida + costo de latencia de llamadas de herramienta + reintentos + gasto de API descendente + escalaciones de humano en el bucle) / número de tareas completadas. Eso cambia todo.
Anthropic Claude y el nivel GPT-5 de OpenAI cuestan diferente, claro. Pero en la capa del agente, el compromiso es la profundidad del bucle y el recuento de reintentos. Cuenta esos primero antes de cambiar modelos.
Tu lógica de reintentos es donde se esconden realmente los ahorros
Aquí está lo que ahora preguntamos antes de cualquier cambio de modelo: ¿Cuál es tu actual reintentos por acción exitosa? La mayoría de los equipos no lo saben.
Los reintentos viven en tres lugares. Los reintentos del modelo (JSON incorrecto, rechazo, golpear la ventana de contexto) activan otro paso de generación — estás pagando tokens de nuevo. Los reintentos de infraestructura (429 de Anthropic u OpenAI, 5xx timeout) añaden latencia y sobrecarga de llamadas de herramienta sin costo de modelo pero bloquean el hilo. Las colas de letras muertas en Redis o SQS atrapan fallos terminales, pero los bucles de reintentos infinitos son donde los presupuestos mueren.
Conecta retroceso exponencial con jitter en 429s y 529s. Instrumenta claves de idempotencia en cualquier llamada de herramienta que mute estado — Stripe, APIs internas, escrituras de base de datos. Un reintento que escribe dos veces cuesta tiempo humano, sprints de corrección de datos y auditorías de cumplimiento. Limita la profundidad del bucle con max_iterations como un techo de costo, no un botón de corrección. Y registra el recuento de intentos por task_id para que puedas dividir reintentos por éxito por modelo, hora del día y tipo de tarea.
El equipo que depura RAG a escala de producción ya sabe esto: la observabilidad a nivel de tarea, no a nivel de solicitud, es donde encuentras las fugas de gasto reales.
No puedes optimizar lo que no rastreas de extremo a extremo
El costo por acción exitosa requiere un esquema Postgres e instrumentación de observabilidad que la mayoría de los equipos omiten. Necesitas task_id, model, input_tokens, output_tokens, tool_calls, retries, success_bool, wall_ms. Usa tramos OpenTelemetry etiquetados con task_id, model, attempt_n, y terminal_state. Enruta esos tramos a Langfuse o tu APM para que puedas dividir acumulaciones de costo por tarea.
Define 'éxito' explícitamente. ¿Es una puntuación de rúbrica de evaluación, un código de respuesta de API descendente, o confirmación del usuario? Sin esa señal, tu panel de control de costos miente. La latencia P50 miente peor.
El patrón de ingeniería que funciona: un tramo por tarea, tramos secundarios para cada llamada de herramienta e invocación de modelo, y una señal success_bool a nivel de tarea. Cuando acumulas esto en tu flota de producción, verás qué modelo, qué tipo de tarea, qué hora del día tiene la peor relación finalización-a-costo. Ese es tu palanca de enrutamiento.
Enruta por dificultad, no por predeterminado
Una vez que mides honestamente, el patrón emerge: enrutamiento por niveles. Las tareas difíciles van al modelo de frontera. Las fáciles van a la variante barata. La regla de enrutamiento en sí se observa y se ajusta como cualquier otro sistema.
Coloca un clasificador o enrutador heurístico frente a tu agente — reglas de Vercel AI Gateway, middleware personalizado, o incluso heurísticas simples como recuento de tokens en la entrada. Los patrones de escalación también funcionan: comienza en el modelo barato, promueve a GPT-5.6 o Claude Opus en reintento. El disyuntor por presupuesto por task_id detiene el gasto descontrolado en vuelo.
A veces el agente en sí es la opción incorrecta. Si puedes describir el trabajo como un diagrama de flujo, salta el agente y envía un flujo de trabajo determinista. Mide esa decisión de la misma manera — el costo por acción exitosa te permite comparar agente y flujo de trabajo directamente.
Lo que ahora preguntamos antes de recomendar un cambio de modelo
En compromisos de clientes, usamos una lista de verificación. Aplícala el lunes por la mañana.
- ¿Registras el recuento de intentos y terminal_state por task_id?
- ¿Cuál es tu actual reintentos por éxito y profundidad de bucle P95?
- ¿Son las llamadas de herramienta idempotentes, o un reintento cobra o escribe dos veces?
- ¿Has incluido el tiempo de revisión humana en el denominador?
- ¿Hay una capa de enrutamiento, o cada tarea está pagando precios de frontera?
- ¿Puedes calcular el costo por acción exitosa para tu modelo actual y un nivel arriba?
Si no tienes respuestas a los tres primeros, cambia modelos solo por ganancias de observabilidad. Los ahorros de costos se revelarán más tarde, pero solo si conectas la capa de medición primero.
Instrumenta un agente de producción esta semana con task_id, attempts, tokens, tool calls, y terminal state. Calcula el costo por acción exitosa en tu modelo actual y un nivel arriba. Si los números te sorprenden, habla con nosotros sobre enrutar las tareas difíciles hacia arriba.