{"schemaVersion":1,"id":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success","title":"Evaluar agentes sin autoengaño: harness, contaminación y costo por tarea resuelta","description":"Cómo evaluar agentes de larga duración con estado verificable, controles de procedimiento, intentos repetidos, infraestructura comparable y costos que incluyan los fracasos.","language":"es","datePublished":"2026-10-21","dateModified":null,"contentFormat":"text/markdown","content":"IA Agéntica\n\n# Evaluar agentes sin autoengaño: harness, contaminación y costo por tarea resuelta\n\n2026-10-217 min lectura\n\nLucio Durán\nEngineering Manager & AI Solutions Architect\n\nTambién disponible en: [English](<https://lucioduran.com/blog/agent-evaluation-harness-contamination-cost-per-success>)\n\n## La demo tiene una distribución estadística de un solo aplauso\n\nUn agente terminó una tarea compleja. Excelente. Ahora repetila con el mismo estado inicial, cambiá un detalle razonable, cortá una herramienta y medí cuánto cuesta recuperarse.\n\nAhí empieza la información útil para decidir si lo ponés a trabajar. El video ya cumplió su función comercial.\n\n**Evaluar un agente significa medir un sistema que actúa sobre un entorno, bajo un contrato de éxito y un presupuesto definidos.** El modelo es una de sus variables. También lo son las herramientas, la memoria, los permisos, la infraestructura y la lógica que decide cuándo terminó.\n\nPropongo un protocolo para un agente que prepara cambios en un repositorio. Los números didácticos y los formatos de este artículo son ilustrativos; no describen mediciones propias.\n\n## Definir éxito antes de leer la respuesta\n\nPara una tarea como “corregir una falla y preparar un cambio revisable”, aceptaría una ejecución solamente si cumple condiciones observables:\n\n1. El comportamiento solicitado queda implementado según un evaluador independiente.\n2. Las regresiones seleccionadas siguen pasando.\n3. Los cambios permanecen dentro del alcance autorizado.\n4. No aparecen efectos externos prohibidos ni exposición de secretos.\n5. La ejecución respeta el presupuesto y el plazo definidos.\n\nEl evaluador inspecciona el estado final y los eventos de herramientas. La declaración “todo funciona” entra como una afirmación a contrastar. Si usamos la misma declaración para aprobar la ejecución, acabamos de contratar al candidato para corregir su propio examen.\n\nEl preprint [Beyond Task Completion](<https://arxiv.org/abs/2603.03116v1>), de marzo de 2026, estudia resultados aparentemente exitosos que violan requisitos de procedimiento. Es una razón concreta para registrar cómo se obtuvo el resultado, además del estado final.\n\nEn una rúbrica propia, un criterio crítico funciona como condición de aceptación. Una filtración no se compensa con buena documentación. Los puntajes parciales siguen siendo útiles para diagnosticar, aunque la ejecución quede rechazada.\n\n## Versionar el experimento completo\n\nEste manifiesto conceptual muestra información que exigiría para reproducir una comparación. Los valores ` REQUIRED ` deben sustituirse por identificadores reales:\n\n```yaml\nexperiment:\n  dataset_revision: REQUIRED\n  task_split: held_out\n  model_snapshot: REQUIRED\n  harness_commit: REQUIRED\n  system_prompt_sha256: REQUIRED\n  tool_contract_revision: REQUIRED\n  grader_commit: REQUIRED\nenvironment:\n  image_digest: REQUIRED\n  initial_repository_commit: REQUIRED\n  cpu_limit: REQUIRED\n  memory_limit_mb: REQUIRED\n  network_policy: REQUIRED\n  dependency_cache_policy: REQUIRED\nexecution:\n  trials_per_task: REQUIRED\n  deadline_seconds: REQUIRED\n  max_total_tokens: REQUIRED\n  max_tool_calls: REQUIRED\n  max_cost_usd: REQUIRED\n```\n\nCada intento empieza con un estado limpio. Una solución que quedó en el filesystem, una memoria escrita por el intento anterior o una caché con respuestas pueden cambiar la tarea. Los efectos externos se aíslan por ejecución o se reemplazan por fixtures cuyo comportamiento esté especificado.\n\nCuando el proveedor no permite fijar exactamente una versión del modelo, documento el identificador disponible y la ventana temporal. Reproducir el entorno reduce ambigüedad; no vuelve determinista a un servicio remoto.\n\n## El harness también rinde examen\n\nEn febrero de 2026, Anthropic reportó diferencias de seis puntos porcentuales en Terminal-Bench 2.0 entre configuraciones de infraestructura de su experimento. El resultado pertenece a ese estudio, no a cualquier agente. [Fuente primaria](<https://www.anthropic.com/research/infrastructure-noise>).\n\nPara comparar dos diseños, mantendría constantes los recursos y bloquearía las ejecuciones por tarea y período. Alternaría el orden de los candidatos para reducir el efecto de ejecutar siempre uno durante una ventana más favorable. Registraría saturación, latencia del proveedor y errores del entorno.\n\nHay dos preguntas válidas: qué tan bien resuelve el sistema completo en condiciones operativas, y qué aporta un componente bajo condiciones controladas. Conviene publicar ambos resultados con sus denominadores. El usuario también sufre un fallo de infraestructura, aunque al equipo del modelo le resulte incómodo contarlo.\n\nLas exclusiones se definen antes del experimento y se reportan. Eliminar después los timeouts del candidato favorito produce una métrica excelente para una realidad bastante selectiva.\n\n## Capacidad y consistencia necesitan números distintos\n\n[Tau-bench](<https://arxiv.org/abs/2406.12045v1>) introdujo ` pass^k ` para estudiar consistencia entre intentos. En la práctica conviene distinguirlo de ` pass@k `, que mide la posibilidad de obtener al menos un éxito.\n\nCon ` n ` intentos intercambiables de una tarea, ` c ` éxitos y ` k <= n `, los estimadores combinatorios son:\n\n```text\npass@k = 1 - C(n - c, k) / C(n, k)\npass^k =     C(c, k)     / C(n, k)\n\nC(a, k) = 0 cuando a < k\n```\n\nLa estimación se calcula por tarea y después se agrega. No juntes todos los aciertos de tareas fáciles y difíciles antes de aplicar la fórmula.\n\nComo ejemplo puramente matemático, si cada intento independiente tuviera probabilidad de éxito ` p = 0.8 `, cuatro intentos darían ` pass@4 = 0.9984 `, mientras que ` pass^4 = 0.4096 `. El mismo comportamiento admite un slide triunfal y una operación bastante nerviosa.\n\nEsas fórmulas poblacionales suponen intentos independientes con probabilidad constante. En un sistema real, las ejecuciones pueden compartir una falla de herramientas o una limitación del modelo. Reportaría tasas por tarea e intervalos obtenidos remuestreando tareas; si hay dependencias por repositorio o incidente, respetaría esos grupos en el muestreo.\n\n` Pass@k ` también presupone que podés reconocer la solución correcta entre los intentos. En producción, ese selector tiene costo y errores propios. El oráculo del benchmark no viene incluido en la API.\n\n## La contaminación ahora puede ocurrir durante la ejecución\n\nEn marzo de 2026, Anthropic documentó casos en BrowseComp donde un agente identificó el benchmark y localizó sus respuestas. El problema excede lo que pudo estar en el entrenamiento. Las herramientas también pueden traer el examen resuelto. [Análisis original](<https://www.anthropic.com/research/eval-awareness-browsecomp>).\n\nPara evaluar investigación con navegación, separaría tareas públicas de casos reservados y registraría qué fuentes sustentan cada respuesta. Una respuesta correcta obtenida desde una solución publicada debe marcarse como contaminada para la capacidad que se quería medir. Si la tarea evaluaba encontrar respuestas existentes, el contrato sería otro.\n\nPara código, mantendría las pruebas reservadas fuera del entorno del agente y registraría las modificaciones que intenta hacer sobre el evaluador. Una tarea que depende de documentación pública necesita acceso a esa documentación; bloquear toda la red puede evitar una fuga y cambiar a la vez el problema evaluado.\n\nEl informe debe explicar ese compromiso. Ninguna etiqueta de dataset privado sustituye el análisis de qué podía ver realmente el sistema.\n\n## Jueces con responsabilidades acotadas\n\nUsaría código para invariantes y resultados verificables, una rúbrica semántica para cuestiones abiertas y revisión humana para calibrar desacuerdos. La [guía de evaluación de agentes de Anthropic](<https://www.anthropic.com/research/demystifying-evals-for-ai-agents>) también distingue evaluadores basados en código, modelos y personas.\n\nAl juez semántico le daría evidencia y criterios explícitos, con la posibilidad de responder “no determinable”. Mediría falsos positivos y falsos negativos sobre casos revisados, incluyendo respuestas largas y convincentes pero incorrectas.\n\nLa evidencia del agente es entrada no confiable para el juez. Una instrucción dentro de un archivo o una respuesta no debe cambiar la rúbrica. Registrar versiones del prompt y del modelo evaluador permite saber cuándo cambió la medición, incluso si el agente quedó igual.\n\n## El costo por éxito incluye las derrotas\n\nDefino una ejecución aceptada como una que satisface el contrato completo. Para una carga fija:\n\n```text\ncosto_por_ejecucion_aceptada =\n  costo_total_de_todas_las_ejecuciones / ejecuciones_aceptadas\n```\n\nEl numerador incluye modelos, herramientas, infraestructura y reintentos. El trabajo humano se reporta en minutos y, si se monetiza, con una tarifa declarada. Con cero éxitos, el cociente no ofrece un costo finito útil.\n\nPublicaría esta métrica junto con tasa de aceptación, latencia p50/p95, tiempo hasta abandono e intervenciones. También mostraría resultados por dificultad: aceptar solamente lo fácil puede mejorar el costo agregado y reducir la utilidad del producto.\n\nUna abstención es correcta cuando el contrato exige abstenerse ante evidencia insuficiente o una acción prohibida. Cuando la tarea sí debía resolverse, es una tarea no resuelta. Hace falta reportar cobertura para que esa distinción no se convierta en una salida contable.\n\n## Un criterio de adopción que pueda fallar\n\nAntes de ejecutar, fijaría el máximo costo aceptable, el mínimo nivel de éxito y las condiciones críticas que bloquean el lanzamiento. Compararía contra el sistema actual, conservaría resultados crudos y explicaría qué parte de la mejora persiste al quitar memoria, delegación o recuperación adicional.\n\nEl resultado puede ser que el diseño nuevo no justifique su complejidad. Para eso existe el experimento. Si todas las pruebas terminan validando la arquitectura elegida de antemano, probablemente estés midiendo la capacidad narrativa del equipo.\n\n**Un agente está listo para ampliar autonomía cuando su desempeño, sus límites y sus costos resisten una evaluación repetible sobre tareas relevantes.** La demo sirve para mostrar una posibilidad. La decisión operativa necesita una distribución.\n\nEsta evaluación se puede aplicar al [diseño de agentes recursivos](<https://lucioduran.com/es/blog/recursive-agent-harnesses-context-budgets-provenance>) y al [protocolo de ejecución de herramientas](<https://lucioduran.com/es/blog/agent-tool-execution-authorization-idempotency-reconciliation>).\n\n## Preguntas frecuentes\n\n### ¿Qué diferencia hay entre pass@k y pass^k?\n\nPass@k pregunta si al menos uno de k intentos resuelve la tarea. Pass^k pregunta si todos la resuelven. Miden capacidad con varios intentos y consistencia, respectivamente; no deben intercambiarse.\n\n### ¿Alcanza con usar otro LLM como juez?\n\nNo para todos los criterios. Los cambios de estado y restricciones comprobables se evalúan con código; el juicio semántico requiere una rúbrica calibrada y revisión de desacuerdos.\n\n### ¿Cuál es la métrica económica útil para un agente?\n\nEl costo total de la carga evaluada dividido por las ejecuciones aceptadas, acompañado por tasa de aceptación, latencia e intervenciones. Debe incluir reintentos, herramientas, infraestructura y fallos.\n\n## Tips\n\n1. Definí éxito, presupuesto y causas de exclusión antes de ejecutar. Después de ver el score, la metodología se vuelve sospechosamente creativa.\n2. Guardá estado final, eventos de herramientas y versión del evaluador. La respuesta final del agente no es un recibo de ejecución.\n3. Incluí el costo de los intentos fallidos. Dividir solamente el gasto de los ganadores fabrica una eficiencia que nadie va a pagar.\n\n- agentic-ai\n- agent-evaluation\n- evals\n- agent-harness\n- benchmark-contamination\n- reliability\n- cost-per-success\n\n[Volver al Blog](<https://lucioduran.com/es/blog>)","headings":[{"level":1,"text":"Evaluar agentes sin autoengaño: harness, contaminación y costo por tarea resuelta","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#title"},{"level":2,"text":"La demo tiene una distribución estadística de un solo aplauso","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#la-demo-tiene-una-distribucin-estadstica-de-un-solo-aplauso"},{"level":2,"text":"Definir éxito antes de leer la respuesta","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#definir-xito-antes-de-leer-la-respuesta"},{"level":2,"text":"Versionar el experimento completo","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#versionar-el-experimento-completo"},{"level":2,"text":"El harness también rinde examen","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#el-harness-tambin-rinde-examen"},{"level":2,"text":"Capacidad y consistencia necesitan números distintos","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#capacidad-y-consistencia-necesitan-nmeros-distintos"},{"level":2,"text":"La contaminación ahora puede ocurrir durante la ejecución","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#la-contaminacin-ahora-puede-ocurrir-durante-la-ejecucin"},{"level":2,"text":"Jueces con responsabilidades acotadas","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#jueces-con-responsabilidades-acotadas"},{"level":2,"text":"El costo por éxito incluye las derrotas","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#el-costo-por-xito-incluye-las-derrotas"},{"level":2,"text":"Un criterio de adopción que pueda fallar","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#un-criterio-de-adopcin-que-pueda-fallar"},{"level":2,"text":"Preguntas frecuentes","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#questions"},{"level":3,"text":"¿Qué diferencia hay entre pass@k y pass^k?","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#question-1"},{"level":3,"text":"¿Alcanza con usar otro LLM como juez?","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#question-2"},{"level":3,"text":"¿Cuál es la métrica económica útil para un agente?","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#question-3"},{"level":2,"text":"Tips","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#article-tips"}],"sections":[{"heading":"Evaluar agentes sin autoengaño: harness, contaminación y costo por tarea resuelta","level":1,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success","content":"IA Agéntica"},{"heading":"Evaluar agentes sin autoengaño: harness, contaminación y costo por tarea resuelta","level":1,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#title","content":"2026-10-217 min lectura\n\nLucio Durán\nEngineering Manager & AI Solutions Architect\n\nTambién disponible en: [English](<https://lucioduran.com/blog/agent-evaluation-harness-contamination-cost-per-success>)"},{"heading":"La demo tiene una distribución estadística de un solo aplauso","level":2,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#la-demo-tiene-una-distribucin-estadstica-de-un-solo-aplauso","content":"Un agente terminó una tarea compleja. Excelente. Ahora repetila con el mismo estado inicial, cambiá un detalle razonable, cortá una herramienta y medí cuánto cuesta recuperarse.\n\nAhí empieza la información útil para decidir si lo ponés a trabajar. El video ya cumplió su función comercial.\n\n**Evaluar un agente significa medir un sistema que actúa sobre un entorno, bajo un contrato de éxito y un presupuesto definidos.** El modelo es una de sus variables. También lo son las herramientas, la memoria, los permisos, la infraestructura y la lógica que decide cuándo terminó.\n\nPropongo un protocolo para un agente que prepara cambios en un repositorio. Los números didácticos y los formatos de este artículo son ilustrativos; no describen mediciones propias."},{"heading":"Definir éxito antes de leer la respuesta","level":2,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#definir-xito-antes-de-leer-la-respuesta","content":"Para una tarea como “corregir una falla y preparar un cambio revisable”, aceptaría una ejecución solamente si cumple condiciones observables:\n\n1. El comportamiento solicitado queda implementado según un evaluador independiente.\n2. Las regresiones seleccionadas siguen pasando.\n3. Los cambios permanecen dentro del alcance autorizado.\n4. No aparecen efectos externos prohibidos ni exposición de secretos.\n5. La ejecución respeta el presupuesto y el plazo definidos.\n\nEl evaluador inspecciona el estado final y los eventos de herramientas. La declaración “todo funciona” entra como una afirmación a contrastar. Si usamos la misma declaración para aprobar la ejecución, acabamos de contratar al candidato para corregir su propio examen.\n\nEl preprint [Beyond Task Completion](<https://arxiv.org/abs/2603.03116v1>), de marzo de 2026, estudia resultados aparentemente exitosos que violan requisitos de procedimiento. Es una razón concreta para registrar cómo se obtuvo el resultado, además del estado final.\n\nEn una rúbrica propia, un criterio crítico funciona como condición de aceptación. Una filtración no se compensa con buena documentación. Los puntajes parciales siguen siendo útiles para diagnosticar, aunque la ejecución quede rechazada."},{"heading":"Versionar el experimento completo","level":2,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#versionar-el-experimento-completo","content":"Este manifiesto conceptual muestra información que exigiría para reproducir una comparación. Los valores ` REQUIRED ` deben sustituirse por identificadores reales:\n\n```yaml\nexperiment:\n  dataset_revision: REQUIRED\n  task_split: held_out\n  model_snapshot: REQUIRED\n  harness_commit: REQUIRED\n  system_prompt_sha256: REQUIRED\n  tool_contract_revision: REQUIRED\n  grader_commit: REQUIRED\nenvironment:\n  image_digest: REQUIRED\n  initial_repository_commit: REQUIRED\n  cpu_limit: REQUIRED\n  memory_limit_mb: REQUIRED\n  network_policy: REQUIRED\n  dependency_cache_policy: REQUIRED\nexecution:\n  trials_per_task: REQUIRED\n  deadline_seconds: REQUIRED\n  max_total_tokens: REQUIRED\n  max_tool_calls: REQUIRED\n  max_cost_usd: REQUIRED\n```\n\nCada intento empieza con un estado limpio. Una solución que quedó en el filesystem, una memoria escrita por el intento anterior o una caché con respuestas pueden cambiar la tarea. Los efectos externos se aíslan por ejecución o se reemplazan por fixtures cuyo comportamiento esté especificado.\n\nCuando el proveedor no permite fijar exactamente una versión del modelo, documento el identificador disponible y la ventana temporal. Reproducir el entorno reduce ambigüedad; no vuelve determinista a un servicio remoto."},{"heading":"El harness también rinde examen","level":2,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#el-harness-tambin-rinde-examen","content":"En febrero de 2026, Anthropic reportó diferencias de seis puntos porcentuales en Terminal-Bench 2.0 entre configuraciones de infraestructura de su experimento. El resultado pertenece a ese estudio, no a cualquier agente. [Fuente primaria](<https://www.anthropic.com/research/infrastructure-noise>).\n\nPara comparar dos diseños, mantendría constantes los recursos y bloquearía las ejecuciones por tarea y período. Alternaría el orden de los candidatos para reducir el efecto de ejecutar siempre uno durante una ventana más favorable. Registraría saturación, latencia del proveedor y errores del entorno.\n\nHay dos preguntas válidas: qué tan bien resuelve el sistema completo en condiciones operativas, y qué aporta un componente bajo condiciones controladas. Conviene publicar ambos resultados con sus denominadores. El usuario también sufre un fallo de infraestructura, aunque al equipo del modelo le resulte incómodo contarlo.\n\nLas exclusiones se definen antes del experimento y se reportan. Eliminar después los timeouts del candidato favorito produce una métrica excelente para una realidad bastante selectiva."},{"heading":"Capacidad y consistencia necesitan números distintos","level":2,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#capacidad-y-consistencia-necesitan-nmeros-distintos","content":"[Tau-bench](<https://arxiv.org/abs/2406.12045v1>) introdujo ` pass^k ` para estudiar consistencia entre intentos. En la práctica conviene distinguirlo de ` pass@k `, que mide la posibilidad de obtener al menos un éxito.\n\nCon ` n ` intentos intercambiables de una tarea, ` c ` éxitos y ` k <= n `, los estimadores combinatorios son:\n\n```text\npass@k = 1 - C(n - c, k) / C(n, k)\npass^k =     C(c, k)     / C(n, k)\n\nC(a, k) = 0 cuando a < k\n```\n\nLa estimación se calcula por tarea y después se agrega. No juntes todos los aciertos de tareas fáciles y difíciles antes de aplicar la fórmula.\n\nComo ejemplo puramente matemático, si cada intento independiente tuviera probabilidad de éxito ` p = 0.8 `, cuatro intentos darían ` pass@4 = 0.9984 `, mientras que ` pass^4 = 0.4096 `. El mismo comportamiento admite un slide triunfal y una operación bastante nerviosa.\n\nEsas fórmulas poblacionales suponen intentos independientes con probabilidad constante. En un sistema real, las ejecuciones pueden compartir una falla de herramientas o una limitación del modelo. Reportaría tasas por tarea e intervalos obtenidos remuestreando tareas; si hay dependencias por repositorio o incidente, respetaría esos grupos en el muestreo.\n\n` Pass@k ` también presupone que podés reconocer la solución correcta entre los intentos. En producción, ese selector tiene costo y errores propios. El oráculo del benchmark no viene incluido en la API."},{"heading":"La contaminación ahora puede ocurrir durante la ejecución","level":2,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#la-contaminacin-ahora-puede-ocurrir-durante-la-ejecucin","content":"En marzo de 2026, Anthropic documentó casos en BrowseComp donde un agente identificó el benchmark y localizó sus respuestas. El problema excede lo que pudo estar en el entrenamiento. Las herramientas también pueden traer el examen resuelto. [Análisis original](<https://www.anthropic.com/research/eval-awareness-browsecomp>).\n\nPara evaluar investigación con navegación, separaría tareas públicas de casos reservados y registraría qué fuentes sustentan cada respuesta. Una respuesta correcta obtenida desde una solución publicada debe marcarse como contaminada para la capacidad que se quería medir. Si la tarea evaluaba encontrar respuestas existentes, el contrato sería otro.\n\nPara código, mantendría las pruebas reservadas fuera del entorno del agente y registraría las modificaciones que intenta hacer sobre el evaluador. Una tarea que depende de documentación pública necesita acceso a esa documentación; bloquear toda la red puede evitar una fuga y cambiar a la vez el problema evaluado.\n\nEl informe debe explicar ese compromiso. Ninguna etiqueta de dataset privado sustituye el análisis de qué podía ver realmente el sistema."},{"heading":"Jueces con responsabilidades acotadas","level":2,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#jueces-con-responsabilidades-acotadas","content":"Usaría código para invariantes y resultados verificables, una rúbrica semántica para cuestiones abiertas y revisión humana para calibrar desacuerdos. La [guía de evaluación de agentes de Anthropic](<https://www.anthropic.com/research/demystifying-evals-for-ai-agents>) también distingue evaluadores basados en código, modelos y personas.\n\nAl juez semántico le daría evidencia y criterios explícitos, con la posibilidad de responder “no determinable”. Mediría falsos positivos y falsos negativos sobre casos revisados, incluyendo respuestas largas y convincentes pero incorrectas.\n\nLa evidencia del agente es entrada no confiable para el juez. Una instrucción dentro de un archivo o una respuesta no debe cambiar la rúbrica. Registrar versiones del prompt y del modelo evaluador permite saber cuándo cambió la medición, incluso si el agente quedó igual."},{"heading":"El costo por éxito incluye las derrotas","level":2,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#el-costo-por-xito-incluye-las-derrotas","content":"Defino una ejecución aceptada como una que satisface el contrato completo. Para una carga fija:\n\n```text\ncosto_por_ejecucion_aceptada =\n  costo_total_de_todas_las_ejecuciones / ejecuciones_aceptadas\n```\n\nEl numerador incluye modelos, herramientas, infraestructura y reintentos. El trabajo humano se reporta en minutos y, si se monetiza, con una tarifa declarada. Con cero éxitos, el cociente no ofrece un costo finito útil.\n\nPublicaría esta métrica junto con tasa de aceptación, latencia p50/p95, tiempo hasta abandono e intervenciones. También mostraría resultados por dificultad: aceptar solamente lo fácil puede mejorar el costo agregado y reducir la utilidad del producto.\n\nUna abstención es correcta cuando el contrato exige abstenerse ante evidencia insuficiente o una acción prohibida. Cuando la tarea sí debía resolverse, es una tarea no resuelta. Hace falta reportar cobertura para que esa distinción no se convierta en una salida contable."},{"heading":"Un criterio de adopción que pueda fallar","level":2,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#un-criterio-de-adopcin-que-pueda-fallar","content":"Antes de ejecutar, fijaría el máximo costo aceptable, el mínimo nivel de éxito y las condiciones críticas que bloquean el lanzamiento. Compararía contra el sistema actual, conservaría resultados crudos y explicaría qué parte de la mejora persiste al quitar memoria, delegación o recuperación adicional.\n\nEl resultado puede ser que el diseño nuevo no justifique su complejidad. Para eso existe el experimento. Si todas las pruebas terminan validando la arquitectura elegida de antemano, probablemente estés midiendo la capacidad narrativa del equipo.\n\n**Un agente está listo para ampliar autonomía cuando su desempeño, sus límites y sus costos resisten una evaluación repetible sobre tareas relevantes.** La demo sirve para mostrar una posibilidad. La decisión operativa necesita una distribución.\n\nEsta evaluación se puede aplicar al [diseño de agentes recursivos](<https://lucioduran.com/es/blog/recursive-agent-harnesses-context-budgets-provenance>) y al [protocolo de ejecución de herramientas](<https://lucioduran.com/es/blog/agent-tool-execution-authorization-idempotency-reconciliation>)."},{"heading":"Preguntas frecuentes","level":2,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#questions","content":""},{"heading":"¿Qué diferencia hay entre pass@k y pass^k?","level":3,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#question-1","content":"Pass@k pregunta si al menos uno de k intentos resuelve la tarea. Pass^k pregunta si todos la resuelven. Miden capacidad con varios intentos y consistencia, respectivamente; no deben intercambiarse."},{"heading":"¿Alcanza con usar otro LLM como juez?","level":3,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#question-2","content":"No para todos los criterios. Los cambios de estado y restricciones comprobables se evalúan con código; el juicio semántico requiere una rúbrica calibrada y revisión de desacuerdos."},{"heading":"¿Cuál es la métrica económica útil para un agente?","level":3,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#question-3","content":"El costo total de la carga evaluada dividido por las ejecuciones aceptadas, acompañado por tasa de aceptación, latencia e intervenciones. Debe incluir reintentos, herramientas, infraestructura y fallos."},{"heading":"Tips","level":2,"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#article-tips","content":"1. Definí éxito, presupuesto y causas de exclusión antes de ejecutar. Después de ver el score, la metodología se vuelve sospechosamente creativa.\n2. Guardá estado final, eventos de herramientas y versión del evaluador. La respuesta final del agente no es un recibo de ejecución.\n3. Incluí el costo de los intentos fallidos. Dividir solamente el gasto de los ganadores fabrica una eficiencia que nadie va a pagar.\n\n- agentic-ai\n- agent-evaluation\n- evals\n- agent-harness\n- benchmark-contamination\n- reliability\n- cost-per-success\n\n[Volver al Blog](<https://lucioduran.com/es/blog>)"}],"links":[{"text":"English","url":"https://lucioduran.com/blog/agent-evaluation-harness-contamination-cost-per-success"},{"text":"Beyond Task Completion","url":"https://arxiv.org/abs/2603.03116v1"},{"text":"Fuente primaria","url":"https://www.anthropic.com/research/infrastructure-noise"},{"text":"Tau-bench","url":"https://arxiv.org/abs/2406.12045v1"},{"text":"Análisis original","url":"https://www.anthropic.com/research/eval-awareness-browsecomp"},{"text":"guía de evaluación de agentes de Anthropic","url":"https://www.anthropic.com/research/demystifying-evals-for-ai-agents"},{"text":"diseño de agentes recursivos","url":"https://lucioduran.com/es/blog/recursive-agent-harnesses-context-budgets-provenance"},{"text":"protocolo de ejecución de herramientas","url":"https://lucioduran.com/es/blog/agent-tool-execution-authorization-idempotency-reconciliation"},{"text":"Volver al Blog","url":"https://lucioduran.com/es/blog"}],"structuredData":[{"@context":"https://schema.org","@graph":[{"@type":"BlogPosting","@id":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success#article","mainEntityOfPage":{"@type":"WebPage","@id":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success"},"headline":"Evaluar agentes sin autoengaño: harness, contaminación y costo por tarea resuelta","description":"Cómo evaluar agentes de larga duración con estado verificable, controles de procedimiento, intentos repetidos, infraestructura comparable y costos que incluyan los fracasos.","datePublished":"2026-10-21","author":{"@type":"Person","@id":"https://lucioduran.com/#person","name":"Lucio Durán","url":"https://lucioduran.com"},"publisher":{"@type":"Person","@id":"https://lucioduran.com/#person","name":"Lucio Durán","url":"https://lucioduran.com"},"image":"https://statics.lucioduran.com/images/lucioduran-social-card.jpg","url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success","inLanguage":"es","isPartOf":{"@id":"https://lucioduran.com/blog#blog"},"articleSection":"IA Agéntica","keywords":"agentic-ai, agent-evaluation, evals, agent-harness, benchmark-contamination, reliability, cost-per-success","wordCount":1369,"timeRequired":"PT7M","workTranslation":[{"@type":"BlogPosting","inLanguage":"en","url":"https://lucioduran.com/blog/agent-evaluation-harness-contamination-cost-per-success"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https://lucioduran.com/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://lucioduran.com/es/blog"},{"@type":"ListItem","position":3,"name":"Evaluar agentes sin autoengaño: harness, contaminación y costo por tarea resuelta","item":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success"}]},{"@type":"FAQPage","mainEntity":[{"@type":"Question","name":"¿Qué diferencia hay entre pass@k y pass^k?","acceptedAnswer":{"@type":"Answer","text":"Pass@k pregunta si al menos uno de k intentos resuelve la tarea. Pass^k pregunta si todos la resuelven. Miden capacidad con varios intentos y consistencia, respectivamente; no deben intercambiarse."}},{"@type":"Question","name":"¿Alcanza con usar otro LLM como juez?","acceptedAnswer":{"@type":"Answer","text":"No para todos los criterios. Los cambios de estado y restricciones comprobables se evalúan con código; el juicio semántico requiere una rúbrica calibrada y revisión de desacuerdos."}},{"@type":"Question","name":"¿Cuál es la métrica económica útil para un agente?","acceptedAnswer":{"@type":"Answer","text":"El costo total de la carga evaluada dividido por las ejecuciones aceptadas, acompañado por tasa de aceptación, latencia e intervenciones. Debe incluir reintentos, herramientas, infraestructura y fallos."}}]}]}],"contentHash":"ce81a8242cd89edcea99aaa92a41336fb3a7d393d6d1a3f605b588d80fd68a20","provenance":{"method":"Deterministic serialization of the server-rendered main element","source":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success","hashAlgorithm":"sha256","hashScope":"JSON document fields before contentHash and provenance","sourceHTMLBytes":63194,"contentBytes":12108}}
