[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-\u002Fes\u002Fdocs\u002Fsupervision\u002Fbenchmarks":3,"docs-nav-es":474},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"body":10,"_type":468,"_id":469,"_source":470,"_file":471,"_stem":472,"_extension":473},"\u002Fes\u002Fdocs\u002Fsupervision\u002Fbenchmarks","supervision",false,"","Benchmarks","Mide la calidad de un pipeline con escenarios reproducibles. Detecta las regresiones antes de producción.",{"type":11,"children":12,"toc":459},"root",[13,36,43,48,68,73,79,84,108,114,273,278,284,309,338,348,354,373,378,410,416],{"type":14,"tag":15,"props":16,"children":17},"element","p",{},[18,21,27,29,34],{"type":19,"value":20},"text","Un ",{"type":14,"tag":22,"props":23,"children":24},"strong",{},[25],{"type":19,"value":26},"benchmark",{"type":19,"value":28}," es un conjunto de escenarios de evaluación reproducidos automáticamente contra un pipeline. Es la herramienta para medir ",{"type":14,"tag":22,"props":30,"children":31},{},[32],{"type":19,"value":33},"objetivamente",{"type":19,"value":35}," la calidad de un agente y detectar las regresiones antes de que lleguen a producción.",{"type":14,"tag":37,"props":38,"children":40},"h2",{"id":39},"por-qué",[41],{"type":19,"value":42},"Por qué",{"type":14,"tag":15,"props":44,"children":45},{},[46],{"type":19,"value":47},"Un agente que «parecía funcionar» puede sufrir una regresión silenciosa tras:",{"type":14,"tag":49,"props":50,"children":51},"ul",{},[52,58,63],{"type":14,"tag":53,"props":54,"children":55},"li",{},[56],{"type":19,"value":57},"un cambio de misión;",{"type":14,"tag":53,"props":59,"children":60},{},[61],{"type":19,"value":62},"un cambio de modelo LLM;",{"type":14,"tag":53,"props":64,"children":65},{},[66],{"type":19,"value":67},"la incorporación de un nuevo tool.",{"type":14,"tag":15,"props":69,"children":70},{},[71],{"type":19,"value":72},"Sin benchmark, lo descubres en producción. Con un benchmark, lo ves en la siguiente ejecución — antes que tus usuarios.",{"type":14,"tag":37,"props":74,"children":76},{"id":75},"anatomía-de-un-escenario",[77],{"type":19,"value":78},"Anatomía de un escenario",{"type":14,"tag":15,"props":80,"children":81},{},[82],{"type":19,"value":83},"Un escenario contiene:",{"type":14,"tag":49,"props":85,"children":86},{},[87,98],{"type":14,"tag":53,"props":88,"children":89},{},[90,91,96],{"type":19,"value":20},{"type":14,"tag":22,"props":92,"children":93},{},[94],{"type":19,"value":95},"estímulo",{"type":19,"value":97}," — la entrada que recibe el pipeline (mensaje o secuencia de turnos, fixtures de datos).",{"type":14,"tag":53,"props":99,"children":100},{},[101,106],{"type":14,"tag":22,"props":102,"children":103},{},[104],{"type":19,"value":105},"Checks",{"type":19,"value":107}," — aserciones explícitas evaluadas en cada turno: la salida producida, la forma de la respuesta, la cadena de llamadas a tools, el coste de las acciones.",{"type":14,"tag":37,"props":109,"children":111},{"id":110},"catálogo-de-checks",[112],{"type":19,"value":113},"Catálogo de checks",{"type":14,"tag":115,"props":116,"children":117},"table",{},[118,137],{"type":14,"tag":119,"props":120,"children":121},"thead",{},[122],{"type":14,"tag":123,"props":124,"children":125},"tr",{},[126,132],{"type":14,"tag":127,"props":128,"children":129},"th",{},[130],{"type":19,"value":131},"Check",{"type":14,"tag":127,"props":133,"children":134},{},[135],{"type":19,"value":136},"Verifica",{"type":14,"tag":138,"props":139,"children":140},"tbody",{},[141,160,184,201,224,241],{"type":14,"tag":123,"props":142,"children":143},{},[144,155],{"type":14,"tag":145,"props":146,"children":147},"td",{},[148],{"type":14,"tag":149,"props":150,"children":152},"code",{"className":151},[],[153],{"type":19,"value":154},"pipeline_output_match",{"type":14,"tag":145,"props":156,"children":157},{},[158],{"type":19,"value":159},"Una clave del flujo de salida corresponde al valor esperado (ruta + aserción)",{"type":14,"tag":123,"props":161,"children":162},{},[163,172],{"type":14,"tag":145,"props":164,"children":165},{},[166],{"type":14,"tag":149,"props":167,"children":169},{"className":168},[],[170],{"type":19,"value":171},"response_shape",{"type":14,"tag":145,"props":173,"children":174},{},[175,177,182],{"type":19,"value":176},"La ",{"type":14,"tag":22,"props":178,"children":179},{},[180],{"type":19,"value":181},"forma",{"type":19,"value":183}," de la respuesta del agente (longitud, estructura), medida sin juez",{"type":14,"tag":123,"props":185,"children":186},{},[187,196],{"type":14,"tag":145,"props":188,"children":189},{},[190],{"type":14,"tag":149,"props":191,"children":193},{"className":192},[],[194],{"type":19,"value":195},"llm_rubric",{"type":14,"tag":145,"props":197,"children":198},{},[199],{"type":19,"value":200},"El fondo de la respuesta, puntuado por un juez LLM según una rúbrica de criterios verificables",{"type":14,"tag":123,"props":202,"children":203},{},[204,213],{"type":14,"tag":145,"props":205,"children":206},{},[207],{"type":14,"tag":149,"props":208,"children":210},{"className":209},[],[211],{"type":19,"value":212},"tool_chain_analysis",{"type":14,"tag":145,"props":214,"children":215},{},[216,217,222],{"type":19,"value":176},{"type":14,"tag":22,"props":218,"children":219},{},[220],{"type":19,"value":221},"secuencia",{"type":19,"value":223}," de llamadas a tools sigue la estrategia esperada",{"type":14,"tag":123,"props":225,"children":226},{},[227,236],{"type":14,"tag":145,"props":228,"children":229},{},[230],{"type":14,"tag":149,"props":231,"children":233},{"className":232},[],[234],{"type":19,"value":235},"tool_cost",{"type":14,"tag":145,"props":237,"children":238},{},[239],{"type":19,"value":240},"El presupuesto de acciones: cada llamada tiene un coste, alcanzar el objetivo otorga un bonus",{"type":14,"tag":123,"props":242,"children":243},{},[244,268],{"type":14,"tag":145,"props":245,"children":246},{},[247,253,255,261,262],{"type":14,"tag":149,"props":248,"children":250},{"className":249},[],[251],{"type":19,"value":252},"static",{"type":19,"value":254}," \u002F ",{"type":14,"tag":149,"props":256,"children":258},{"className":257},[],[259],{"type":19,"value":260},"tests",{"type":19,"value":254},{"type":14,"tag":149,"props":263,"children":265},{"className":264},[],[266],{"type":19,"value":267},"diff_quality",{"type":14,"tag":145,"props":269,"children":270},{},[271],{"type":19,"value":272},"Checks orientados a archivos y código (salida de un pipeline de desarrollo)",{"type":14,"tag":15,"props":274,"children":275},{},[276],{"type":19,"value":277},"El catálogo es extensible del lado de la plataforma: cada check es un plugin registrado del lado del servidor.",{"type":14,"tag":37,"props":279,"children":281},{"id":280},"crear-un-benchmark",[282],{"type":19,"value":283},"Crear un benchmark",{"type":14,"tag":285,"props":286,"children":287},"ol",{},[288,298],{"type":14,"tag":53,"props":289,"children":290},{},[291,296],{"type":14,"tag":22,"props":292,"children":293},{},[294],{"type":19,"value":295},"Aplicaciones → Évaluation → Scénarios",{"type":19,"value":297},".",{"type":14,"tag":53,"props":299,"children":300},{},[301,303,308],{"type":19,"value":302},"Crea los escenarios (estímulo, checks, fixtures de datos); cada escenario está dedicado a un modelo (el pipeline de destino). Las fixtures se gestionan en la pestaña ",{"type":14,"tag":22,"props":304,"children":305},{},[306],{"type":19,"value":307},"Fixtures",{"type":19,"value":297},{"type":14,"tag":15,"props":310,"children":311},{},[312,314,321,323,329,330,336],{"type":19,"value":313},"Un escenario también puede crearse o modificarse mediante una propuesta desde el ",{"type":14,"tag":315,"props":316,"children":318},"a",{"href":317},"\u002Fes\u002Fdocs\u002Fdeveloppeurs\u002Fmcp",[319],{"type":19,"value":320},"servidor MCP",{"type":19,"value":322}," (",{"type":14,"tag":149,"props":324,"children":326},{"className":325},[],[327],{"type":19,"value":328},"benchmark_create",{"type":19,"value":254},{"type":14,"tag":149,"props":331,"children":333},{"className":332},[],[334],{"type":19,"value":335},"benchmark_update",{"type":19,"value":337},"), que queda pendiente hasta su aceptación.",{"type":14,"tag":339,"props":340,"children":342},"alert",{"type":341},"info",[343],{"type":14,"tag":15,"props":344,"children":345},{},[346],{"type":19,"value":347},"Un buen benchmark incluye una mezcla: caso nominal, casos límite, casos adversariales (intentos de manipulación, ambigüedad, datos ausentes).",{"type":14,"tag":37,"props":349,"children":351},{"id":350},"ejecutar-un-benchmark",[352],{"type":19,"value":353},"Ejecutar un benchmark",{"type":14,"tag":15,"props":355,"children":356},{},[357,359,364,366,371],{"type":19,"value":358},"Desde el panel de administración, lanza una ",{"type":14,"tag":22,"props":360,"children":361},{},[362],{"type":19,"value":363},"ejecución",{"type":19,"value":365}," (run): se pone en una cola duradera y la ejecuta un worker dedicado, fuera del servidor web. Si ese worker se detiene en mitad de una ejecución, esta se marca ",{"type":14,"tag":22,"props":367,"children":368},{},[369],{"type":19,"value":370},"fallida",{"type":19,"value":372}," al reiniciar (no se reanuda automáticamente): vuelve a lanzarla. Un drawer da el detalle por escenario.",{"type":14,"tag":15,"props":374,"children":375},{},[376],{"type":19,"value":377},"El informe muestra:",{"type":14,"tag":49,"props":379,"children":380},{},[381,386,405],{"type":14,"tag":53,"props":382,"children":383},{},[384],{"type":19,"value":385},"Tasa de éxito por check",{"type":14,"tag":53,"props":387,"children":388},{},[389,391,396,398,403],{"type":19,"value":390},"Evolución de las puntuaciones entre ejecuciones (pestañas ",{"type":14,"tag":22,"props":392,"children":393},{},[394],{"type":19,"value":395},"Historique",{"type":19,"value":397}," y ",{"type":14,"tag":22,"props":399,"children":400},{},[401],{"type":19,"value":402},"Évolution",{"type":19,"value":404},")",{"type":14,"tag":53,"props":406,"children":407},{},[408],{"type":19,"value":409},"Lista de los escenarios fallidos, con el detalle de cada check",{"type":14,"tag":37,"props":411,"children":413},{"id":412},"buenas-prácticas",[414],{"type":19,"value":415},"Buenas prácticas",{"type":14,"tag":49,"props":417,"children":418},{},[419,429,439,449],{"type":14,"tag":53,"props":420,"children":421},{},[422,427],{"type":14,"tag":22,"props":423,"children":424},{},[425],{"type":19,"value":426},"Empieza pequeño",{"type":19,"value":428}," — 5 escenarios bien orientados valen más que 50 escenarios aproximados.",{"type":14,"tag":53,"props":430,"children":431},{},[432,437],{"type":14,"tag":22,"props":433,"children":434},{},[435],{"type":19,"value":436},"Haz benchmark antes de cada publicación",{"type":19,"value":438},", y compara con la ejecución anterior antes de desplegar.",{"type":14,"tag":53,"props":440,"children":441},{},[442,447],{"type":14,"tag":22,"props":443,"children":444},{},[445],{"type":19,"value":446},"Versiona las misiones.",{"type":19,"value":448}," No solo los pipelines: las misiones también evolucionan.",{"type":14,"tag":53,"props":450,"children":451},{},[452,457],{"type":14,"tag":22,"props":453,"children":454},{},[455],{"type":19,"value":456},"Mantén los checks legibles.",{"type":19,"value":458}," Un check que requiere 20 líneas de explicación para entenderse es un check que hay que descomponer.",{"title":7,"searchDepth":460,"depth":460,"links":461},2,[462,463,464,465,466,467],{"id":39,"depth":460,"text":42},{"id":75,"depth":460,"text":78},{"id":110,"depth":460,"text":113},{"id":280,"depth":460,"text":283},{"id":350,"depth":460,"text":353},{"id":412,"depth":460,"text":415},"markdown","content:es:docs:4.supervision:3.benchmarks.md","content","es\u002Fdocs\u002F4.supervision\u002F3.benchmarks.md","es\u002Fdocs\u002F4.supervision\u002F3.benchmarks","md",[475],{"title":476,"_path":477,"children":478},"Es","\u002Fes",[479],{"title":480,"_path":481,"children":482},"Docs","\u002Fes\u002Fdocs",[483,496,524,552,563,579,591,652],{"title":484,"_path":485,"children":486},"Primeros pasos","\u002Fes\u002Fdocs\u002Fdemarrer",[487,490,493],{"title":488,"_path":489},"Bienvenido","\u002Fes\u002Fdocs\u002Fdemarrer\u002Fbienvenue",{"title":491,"_path":492},"Crear una cuenta","\u002Fes\u002Fdocs\u002Fdemarrer\u002Fcreer-un-compte",{"title":494,"_path":495},"Conectar una clave LLM","\u002Fes\u002Fdocs\u002Fdemarrer\u002Fbrancher-llm",{"title":497,"_path":498,"children":499},"Canales","\u002Fes\u002Fdocs\u002Fcanaux",[500,503,506,509,512,515,518,521],{"title":501,"_path":502},"Visión general de los canales","\u002Fes\u002Fdocs\u002Fcanaux\u002Fvue-densemble",{"title":504,"_path":505},"Telefonía en tiempo real","\u002Fes\u002Fdocs\u002Fcanaux\u002Ftelephone",{"title":507,"_path":508},"Email","\u002Fes\u002Fdocs\u002Fcanaux\u002Femail",{"title":510,"_path":511},"Widget de chat web","\u002Fes\u002Fdocs\u002Fcanaux\u002Fchat-widget",{"title":513,"_path":514},"Webhook HTTP","\u002Fes\u002Fdocs\u002Fcanaux\u002Fwebhook",{"title":516,"_path":517},"Mensajería (WhatsApp, Messenger, Telegram, Mattermost)","\u002Fes\u002Fdocs\u002Fcanaux\u002Fmessageries",{"title":519,"_path":520},"Meta Lead Ads","\u002Fes\u002Fdocs\u002Fcanaux\u002Ffacebook-leads",{"title":522,"_path":523},"Schedule (cron)","\u002Fes\u002Fdocs\u002Fcanaux\u002Fschedule",{"title":525,"_path":526,"children":527},"Pipelines","\u002Fes\u002Fdocs\u002Fpipelines",[528,531,534,537,540,543,546,549],{"title":529,"_path":530},"El editor visual","\u002Fes\u002Fdocs\u002Fpipelines\u002Fediteur-visuel",{"title":532,"_path":533},"Agentes IA","\u002Fes\u002Fdocs\u002Fpipelines\u002Fagents",{"title":535,"_path":536},"Operadores deterministas","\u002Fes\u002Fdocs\u002Fpipelines\u002Foperateurs",{"title":538,"_path":539},"Control de flujo","\u002Fes\u002Fdocs\u002Fpipelines\u002Fcontrole-flux",{"title":541,"_path":542},"Code Steps","\u002Fes\u002Fdocs\u002Fpipelines\u002Fcode-step",{"title":544,"_path":545},"Sub-pipelines","\u002Fes\u002Fdocs\u002Fpipelines\u002Fsous-pipelines",{"title":547,"_path":548},"Acciones no-code","\u002Fes\u002Fdocs\u002Fpipelines\u002Factions-no-code",{"title":550,"_path":551},"Base de conocimiento","\u002Fes\u002Fdocs\u002Fpipelines\u002Fbase-de-connaissances",{"title":553,"_path":554,"children":555},"Supervisión","\u002Fes\u002Fdocs\u002Fsupervision",[556,559,562],{"title":557,"_path":558},"Historial de ejecuciones","\u002Fes\u002Fdocs\u002Fsupervision\u002Fexecutions",{"title":560,"_path":561},"Créditos y medición","\u002Fes\u002Fdocs\u002Fsupervision\u002Fcredits-metering",{"title":8,"_path":4},{"title":564,"_path":565,"children":566},"Seguridad","\u002Fes\u002Fdocs\u002Fsecurite",[567,570,573,576],{"title":568,"_path":569},"Principios de seguridad","\u002Fes\u002Fdocs\u002Fsecurite\u002Fprincipes",{"title":571,"_path":572},"Multi-tenancy estricto","\u002Fes\u002Fdocs\u002Fsecurite\u002Fmulti-tenant",{"title":574,"_path":575},"Auditoría RGPD y registro de accesos","\u002Fes\u002Fdocs\u002Fsecurite\u002Faudit-rgpd",{"title":577,"_path":578},"Despliegue soberano","\u002Fes\u002Fdocs\u002Fsecurite\u002Fdeploiement-souverain",{"title":580,"_path":581,"children":582},"Desarrolladores","\u002Fes\u002Fdocs\u002Fdeveloppeurs",[583,586,589],{"title":584,"_path":585},"API de administración","\u002Fes\u002Fdocs\u002Fdeveloppeurs\u002Fapi-admin",{"title":587,"_path":588},"Webhooks salientes","\u002Fes\u002Fdocs\u002Fdeveloppeurs\u002Fwebhooks-sortants",{"title":590,"_path":317},"Pilota betool desde Claude (MCP)",{"title":592,"_path":593,"children":594},"Integraciones","\u002Fes\u002Fdocs\u002Fintegrations",[595,598,601,604,607,610,613,616,619,622,625,628,631,634,637,640,643,646,649],{"title":596,"_path":597},"Visión general de las integraciones","\u002Fes\u002Fdocs\u002Fintegrations\u002Fvue-densemble",{"title":599,"_path":600},"Stripe","\u002Fes\u002Fdocs\u002Fintegrations\u002Fstripe",{"title":602,"_path":603},"GitHub","\u002Fes\u002Fdocs\u002Fintegrations\u002Fgithub",{"title":605,"_path":606},"Google","\u002Fes\u002Fdocs\u002Fintegrations\u002Fgoogle",{"title":608,"_path":609},"LinkedIn Ads","\u002Fes\u002Fdocs\u002Fintegrations\u002Flinkedin-ads",{"title":611,"_path":612},"Kavkom","\u002Fes\u002Fdocs\u002Fintegrations\u002Fkavkom",{"title":614,"_path":615},"Jira","\u002Fes\u002Fdocs\u002Fintegrations\u002Fjira",{"title":617,"_path":618},"Slack","\u002Fes\u002Fdocs\u002Fintegrations\u002Fslack",{"title":620,"_path":621},"SMS","\u002Fes\u002Fdocs\u002Fintegrations\u002Fsms",{"title":623,"_path":624},"Enable Banking (open banking)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fenable-banking",{"title":626,"_path":627},"CRM, marketing y productividad","\u002Fes\u002Fdocs\u002Fintegrations\u002Fcrm-marketing",{"title":629,"_path":630},"HeyGen (vídeo)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fheygen",{"title":632,"_path":633},"La Poste","\u002Fes\u002Fdocs\u002Fintegrations\u002Fla-poste",{"title":635,"_path":636},"CRM de negocio (beTool Application, Qhare)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fcrm-metier",{"title":638,"_path":639},"Mitti (inspecciones de campo)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fmitti",{"title":641,"_path":642},"Meta (Messenger, Páginas, Meta Ads)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fmeta",{"title":644,"_path":645},"Onoff Business (Beta)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fonoff",{"title":647,"_path":648},"Smart Life \u002F Tuya (objetos conectados)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fsmart-life",{"title":650,"_path":651},"Productos beTool (Desktop, Kiosk, Terminal)","\u002Fes\u002Fdocs\u002Fintegrations\u002Fproduits-betool",{"title":653,"_path":654,"children":655},"Casos de uso","\u002Fes\u002Fdocs\u002Fcas-usage",[656,659,662,665,668,671],{"title":657,"_path":658},"Agentes de negocio tipo","\u002Fes\u002Fdocs\u002Fcas-usage\u002Fvue-densemble",{"title":660,"_path":661},"CFO IA","\u002Fes\u002Fdocs\u002Fcas-usage\u002Fcfo-ia",{"title":663,"_path":664},"COO IA","\u002Fes\u002Fdocs\u002Fcas-usage\u002Fcoo-ia",{"title":666,"_path":667},"CTO IA","\u002Fes\u002Fdocs\u002Fcas-usage\u002Fcto-ia",{"title":669,"_path":670},"Product Manager IA","\u002Fes\u002Fdocs\u002Fcas-usage\u002Fproduct-manager-ia",{"title":672,"_path":673},"Asistente personal","\u002Fes\u002Fdocs\u002Fcas-usage\u002Fassistant-personnel"]