[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-\u002Fit\u002Fdocs\u002Fsupervision\u002Fbenchmarks":3,"docs-nav-it":477},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"body":10,"_type":471,"_id":472,"_source":473,"_file":474,"_stem":475,"_extension":476},"\u002Fit\u002Fdocs\u002Fsupervision\u002Fbenchmarks","supervision",false,"","Benchmark","Misura la qualità di una pipeline con scenari riproducibili. Rileva le regressioni prima della produzione.",{"type":11,"children":12,"toc":462},"root",[13,36,43,48,68,73,79,84,111,117,276,281,287,312,341,351,357,376,381,413,419],{"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}," è un insieme di scenari di valutazione riprodotti automaticamente su una pipeline. È lo strumento per misurare ",{"type":14,"tag":22,"props":30,"children":31},{},[32],{"type":19,"value":33},"oggettivamente",{"type":19,"value":35}," la qualità di un agent e rilevare le regressioni prima che arrivino in produzione.",{"type":14,"tag":37,"props":38,"children":40},"h2",{"id":39},"perché",[41],{"type":19,"value":42},"Perché",{"type":14,"tag":15,"props":44,"children":45},{},[46],{"type":19,"value":47},"Un agent che \"sembrava funzionare\" può regredire silenziosamente dopo:",{"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},"una modifica della missione;",{"type":14,"tag":53,"props":59,"children":60},{},[61],{"type":19,"value":62},"un cambio di modello LLM;",{"type":14,"tag":53,"props":64,"children":65},{},[66],{"type":19,"value":67},"l'aggiunta di un nuovo tool.",{"type":14,"tag":15,"props":69,"children":70},{},[71],{"type":19,"value":72},"Senza benchmark, lo scopri in produzione. Con un benchmark, lo vedi all'esecuzione successiva — prima dei tuoi utenti.",{"type":14,"tag":37,"props":74,"children":76},{"id":75},"anatomia-di-uno-scenario",[77],{"type":19,"value":78},"Anatomia di uno scenario",{"type":14,"tag":15,"props":80,"children":81},{},[82],{"type":19,"value":83},"Uno scenario contiene:",{"type":14,"tag":49,"props":85,"children":86},{},[87,99],{"type":14,"tag":53,"props":88,"children":89},{},[90,92,97],{"type":19,"value":91},"Uno ",{"type":14,"tag":22,"props":93,"children":94},{},[95],{"type":19,"value":96},"stimolo",{"type":19,"value":98}," — l'input che la pipeline riceve (messaggio o sequenza di turni, fixture di dati).",{"type":14,"tag":53,"props":100,"children":101},{},[102,104,109],{"type":19,"value":103},"Dei ",{"type":14,"tag":22,"props":105,"children":106},{},[107],{"type":19,"value":108},"controlli",{"type":19,"value":110}," — asserzioni esplicite valutate su ogni turno: l'output prodotto, la forma della risposta, la catena di chiamate ai tool, il costo delle azioni.",{"type":14,"tag":37,"props":112,"children":114},{"id":113},"catalogo-dei-controlli",[115],{"type":19,"value":116},"Catalogo dei controlli",{"type":14,"tag":118,"props":119,"children":120},"table",{},[121,140],{"type":14,"tag":122,"props":123,"children":124},"thead",{},[125],{"type":14,"tag":126,"props":127,"children":128},"tr",{},[129,135],{"type":14,"tag":130,"props":131,"children":132},"th",{},[133],{"type":19,"value":134},"Controllo",{"type":14,"tag":130,"props":136,"children":137},{},[138],{"type":19,"value":139},"Verifica",{"type":14,"tag":141,"props":142,"children":143},"tbody",{},[144,163,187,204,227,244],{"type":14,"tag":126,"props":145,"children":146},{},[147,158],{"type":14,"tag":148,"props":149,"children":150},"td",{},[151],{"type":14,"tag":152,"props":153,"children":155},"code",{"className":154},[],[156],{"type":19,"value":157},"pipeline_output_match",{"type":14,"tag":148,"props":159,"children":160},{},[161],{"type":19,"value":162},"Una chiave del flusso di uscita corrisponde al valore atteso (percorso + asserzione)",{"type":14,"tag":126,"props":164,"children":165},{},[166,175],{"type":14,"tag":148,"props":167,"children":168},{},[169],{"type":14,"tag":152,"props":170,"children":172},{"className":171},[],[173],{"type":19,"value":174},"response_shape",{"type":14,"tag":148,"props":176,"children":177},{},[178,180,185],{"type":19,"value":179},"La ",{"type":14,"tag":22,"props":181,"children":182},{},[183],{"type":19,"value":184},"forma",{"type":19,"value":186}," della risposta dell'agent (lunghezza, struttura), misurata senza giudice",{"type":14,"tag":126,"props":188,"children":189},{},[190,199],{"type":14,"tag":148,"props":191,"children":192},{},[193],{"type":14,"tag":152,"props":194,"children":196},{"className":195},[],[197],{"type":19,"value":198},"llm_rubric",{"type":14,"tag":148,"props":200,"children":201},{},[202],{"type":19,"value":203},"Il contenuto della risposta, valutato da un giudice LLM su una rubrica di criteri verificabili",{"type":14,"tag":126,"props":205,"children":206},{},[207,216],{"type":14,"tag":148,"props":208,"children":209},{},[210],{"type":14,"tag":152,"props":211,"children":213},{"className":212},[],[214],{"type":19,"value":215},"tool_chain_analysis",{"type":14,"tag":148,"props":217,"children":218},{},[219,220,225],{"type":19,"value":179},{"type":14,"tag":22,"props":221,"children":222},{},[223],{"type":19,"value":224},"sequenza",{"type":19,"value":226}," di chiamate ai tool segue la strategia attesa",{"type":14,"tag":126,"props":228,"children":229},{},[230,239],{"type":14,"tag":148,"props":231,"children":232},{},[233],{"type":14,"tag":152,"props":234,"children":236},{"className":235},[],[237],{"type":19,"value":238},"tool_cost",{"type":14,"tag":148,"props":240,"children":241},{},[242],{"type":19,"value":243},"Il budget di azioni: ogni chiamata ha un costo, raggiungere l'obiettivo dà un bonus",{"type":14,"tag":126,"props":245,"children":246},{},[247,271],{"type":14,"tag":148,"props":248,"children":249},{},[250,256,258,264,265],{"type":14,"tag":152,"props":251,"children":253},{"className":252},[],[254],{"type":19,"value":255},"static",{"type":19,"value":257}," \u002F ",{"type":14,"tag":152,"props":259,"children":261},{"className":260},[],[262],{"type":19,"value":263},"tests",{"type":19,"value":257},{"type":14,"tag":152,"props":266,"children":268},{"className":267},[],[269],{"type":19,"value":270},"diff_quality",{"type":14,"tag":148,"props":272,"children":273},{},[274],{"type":19,"value":275},"Controlli orientati a file e codice (output di una pipeline di sviluppo)",{"type":14,"tag":15,"props":277,"children":278},{},[279],{"type":19,"value":280},"Il catalogo è estensibile lato piattaforma: ogni controllo è un plugin registrato lato server.",{"type":14,"tag":37,"props":282,"children":284},{"id":283},"creare-un-benchmark",[285],{"type":19,"value":286},"Creare un benchmark",{"type":14,"tag":288,"props":289,"children":290},"ol",{},[291,301],{"type":14,"tag":53,"props":292,"children":293},{},[294,299],{"type":14,"tag":22,"props":295,"children":296},{},[297],{"type":19,"value":298},"Applicazioni → Évaluation → Scénarios",{"type":19,"value":300},".",{"type":14,"tag":53,"props":302,"children":303},{},[304,306,311],{"type":19,"value":305},"Crea gli scenari (stimolo, controlli, fixture di dati); ogni scenario è dedicato a un modello (la pipeline di destinazione). Le fixture si gestiscono nella scheda ",{"type":14,"tag":22,"props":307,"children":308},{},[309],{"type":19,"value":310},"Fixtures",{"type":19,"value":300},{"type":14,"tag":15,"props":313,"children":314},{},[315,317,324,326,332,333,339],{"type":19,"value":316},"Uno scenario può anche essere creato o modificato tramite proposta dal ",{"type":14,"tag":318,"props":319,"children":321},"a",{"href":320},"\u002Fit\u002Fdocs\u002Fdeveloppeurs\u002Fmcp",[322],{"type":19,"value":323},"server MCP",{"type":19,"value":325}," (",{"type":14,"tag":152,"props":327,"children":329},{"className":328},[],[330],{"type":19,"value":331},"benchmark_create",{"type":19,"value":257},{"type":14,"tag":152,"props":334,"children":336},{"className":335},[],[337],{"type":19,"value":338},"benchmark_update",{"type":19,"value":340},"), che resta in attesa fino alla sua accettazione.",{"type":14,"tag":342,"props":343,"children":345},"alert",{"type":344},"info",[346],{"type":14,"tag":15,"props":347,"children":348},{},[349],{"type":19,"value":350},"Un buon benchmark include un mix: caso nominale, casi limite, casi avversariali (tentativi di manipolazione, ambiguità, dati mancanti).",{"type":14,"tag":37,"props":352,"children":354},{"id":353},"eseguire-un-benchmark",[355],{"type":19,"value":356},"Eseguire un benchmark",{"type":14,"tag":15,"props":358,"children":359},{},[360,362,367,369,374],{"type":19,"value":361},"Dal pannello di amministrazione, avvia una ",{"type":14,"tag":22,"props":363,"children":364},{},[365],{"type":19,"value":366},"esecuzione",{"type":19,"value":368},": viene messa in una coda durevole e poi eseguita da un worker dedicato, al di fuori del server web. Se questo worker si arresta nel mezzo di un'esecuzione, l'esecuzione viene contrassegnata come ",{"type":14,"tag":22,"props":370,"children":371},{},[372],{"type":19,"value":373},"fallita",{"type":19,"value":375}," al riavvio (non viene ripresa automaticamente): rilanciala. Un drawer fornisce il dettaglio per scenario.",{"type":14,"tag":15,"props":377,"children":378},{},[379],{"type":19,"value":380},"Il report mostra:",{"type":14,"tag":49,"props":382,"children":383},{},[384,389,408],{"type":14,"tag":53,"props":385,"children":386},{},[387],{"type":19,"value":388},"Tasso di successo per controllo",{"type":14,"tag":53,"props":390,"children":391},{},[392,394,399,401,406],{"type":19,"value":393},"Evoluzione dei punteggi tra le esecuzioni (schede ",{"type":14,"tag":22,"props":395,"children":396},{},[397],{"type":19,"value":398},"Historique",{"type":19,"value":400}," ed ",{"type":14,"tag":22,"props":402,"children":403},{},[404],{"type":19,"value":405},"Évolution",{"type":19,"value":407},")",{"type":14,"tag":53,"props":409,"children":410},{},[411],{"type":19,"value":412},"Elenco degli scenari falliti, con il dettaglio di ogni controllo",{"type":14,"tag":37,"props":414,"children":416},{"id":415},"buone-pratiche",[417],{"type":19,"value":418},"Buone pratiche",{"type":14,"tag":49,"props":420,"children":421},{},[422,432,442,452],{"type":14,"tag":53,"props":423,"children":424},{},[425,430],{"type":14,"tag":22,"props":426,"children":427},{},[428],{"type":19,"value":429},"Inizia in piccolo",{"type":19,"value":431}," — 5 scenari ben mirati valgono più di 50 approssimativi.",{"type":14,"tag":53,"props":433,"children":434},{},[435,440],{"type":14,"tag":22,"props":436,"children":437},{},[438],{"type":19,"value":439},"Esegui il benchmark prima di ogni pubblicazione",{"type":19,"value":441},", e confronta con l'esecuzione precedente prima di rilasciare.",{"type":14,"tag":53,"props":443,"children":444},{},[445,450],{"type":14,"tag":22,"props":446,"children":447},{},[448],{"type":19,"value":449},"Versiona le tue missioni.",{"type":19,"value":451}," Non solo le pipeline: anche le missioni evolvono.",{"type":14,"tag":53,"props":453,"children":454},{},[455,460],{"type":14,"tag":22,"props":456,"children":457},{},[458],{"type":19,"value":459},"Mantieni i controlli leggibili.",{"type":19,"value":461}," Un controllo che richiede 20 righe di spiegazione per essere compreso è un controllo che va scomposto.",{"title":7,"searchDepth":463,"depth":463,"links":464},2,[465,466,467,468,469,470],{"id":39,"depth":463,"text":42},{"id":75,"depth":463,"text":78},{"id":113,"depth":463,"text":116},{"id":283,"depth":463,"text":286},{"id":353,"depth":463,"text":356},{"id":415,"depth":463,"text":418},"markdown","content:it:docs:4.supervision:3.benchmarks.md","content","it\u002Fdocs\u002F4.supervision\u002F3.benchmarks.md","it\u002Fdocs\u002F4.supervision\u002F3.benchmarks","md",[478],{"title":479,"_path":480,"children":481},"It","\u002Fit",[482],{"title":483,"_path":484,"children":485},"Docs","\u002Fit\u002Fdocs",[486,499,527,555,566,582,594,655],{"title":487,"_path":488,"children":489},"Per iniziare","\u002Fit\u002Fdocs\u002Fdemarrer",[490,493,496],{"title":491,"_path":492},"Benvenuto","\u002Fit\u002Fdocs\u002Fdemarrer\u002Fbienvenue",{"title":494,"_path":495},"Creare un account","\u002Fit\u002Fdocs\u002Fdemarrer\u002Fcreer-un-compte",{"title":497,"_path":498},"Collegare una chiave LLM","\u002Fit\u002Fdocs\u002Fdemarrer\u002Fbrancher-llm",{"title":500,"_path":501,"children":502},"Canali","\u002Fit\u002Fdocs\u002Fcanaux",[503,506,509,512,515,518,521,524],{"title":504,"_path":505},"Panoramica dei canali","\u002Fit\u002Fdocs\u002Fcanaux\u002Fvue-densemble",{"title":507,"_path":508},"Telefonia in tempo reale","\u002Fit\u002Fdocs\u002Fcanaux\u002Ftelephone",{"title":510,"_path":511},"Email","\u002Fit\u002Fdocs\u002Fcanaux\u002Femail",{"title":513,"_path":514},"Widget chat web","\u002Fit\u002Fdocs\u002Fcanaux\u002Fchat-widget",{"title":516,"_path":517},"Webhook HTTP","\u002Fit\u002Fdocs\u002Fcanaux\u002Fwebhook",{"title":519,"_path":520},"Messaggistica (WhatsApp, Messenger, Telegram, Mattermost)","\u002Fit\u002Fdocs\u002Fcanaux\u002Fmessageries",{"title":522,"_path":523},"Meta Lead Ads","\u002Fit\u002Fdocs\u002Fcanaux\u002Ffacebook-leads",{"title":525,"_path":526},"Schedule (cron)","\u002Fit\u002Fdocs\u002Fcanaux\u002Fschedule",{"title":528,"_path":529,"children":530},"Pipeline","\u002Fit\u002Fdocs\u002Fpipelines",[531,534,537,540,543,546,549,552],{"title":532,"_path":533},"L'editor visuale","\u002Fit\u002Fdocs\u002Fpipelines\u002Fediteur-visuel",{"title":535,"_path":536},"Agenti IA","\u002Fit\u002Fdocs\u002Fpipelines\u002Fagents",{"title":538,"_path":539},"Operatori deterministici","\u002Fit\u002Fdocs\u002Fpipelines\u002Foperateurs",{"title":541,"_path":542},"Controllo di flusso","\u002Fit\u002Fdocs\u002Fpipelines\u002Fcontrole-flux",{"title":544,"_path":545},"Code Step","\u002Fit\u002Fdocs\u002Fpipelines\u002Fcode-step",{"title":547,"_path":548},"Sotto-pipeline","\u002Fit\u002Fdocs\u002Fpipelines\u002Fsous-pipelines",{"title":550,"_path":551},"Azioni no-code","\u002Fit\u002Fdocs\u002Fpipelines\u002Factions-no-code",{"title":553,"_path":554},"Base di conoscenza","\u002Fit\u002Fdocs\u002Fpipelines\u002Fbase-de-connaissances",{"title":556,"_path":557,"children":558},"Supervisione","\u002Fit\u002Fdocs\u002Fsupervision",[559,562,565],{"title":560,"_path":561},"Cronologia delle esecuzioni","\u002Fit\u002Fdocs\u002Fsupervision\u002Fexecutions",{"title":563,"_path":564},"Crediti e metering","\u002Fit\u002Fdocs\u002Fsupervision\u002Fcredits-metering",{"title":8,"_path":4},{"title":567,"_path":568,"children":569},"Sicurezza","\u002Fit\u002Fdocs\u002Fsecurite",[570,573,576,579],{"title":571,"_path":572},"Principi di sicurezza","\u002Fit\u002Fdocs\u002Fsecurite\u002Fprincipes",{"title":574,"_path":575},"Multi-tenancy rigorosa","\u002Fit\u002Fdocs\u002Fsecurite\u002Fmulti-tenant",{"title":577,"_path":578},"Audit RGPD e registro degli accessi","\u002Fit\u002Fdocs\u002Fsecurite\u002Faudit-rgpd",{"title":580,"_path":581},"Deployment sovrano","\u002Fit\u002Fdocs\u002Fsecurite\u002Fdeploiement-souverain",{"title":583,"_path":584,"children":585},"Sviluppatori","\u002Fit\u002Fdocs\u002Fdeveloppeurs",[586,589,592],{"title":587,"_path":588},"API Admin","\u002Fit\u002Fdocs\u002Fdeveloppeurs\u002Fapi-admin",{"title":590,"_path":591},"Webhook in uscita","\u002Fit\u002Fdocs\u002Fdeveloppeurs\u002Fwebhooks-sortants",{"title":593,"_path":320},"Pilotare betool da Claude (MCP)",{"title":595,"_path":596,"children":597},"Integrazioni","\u002Fit\u002Fdocs\u002Fintegrations",[598,601,604,607,610,613,616,619,622,625,628,631,634,637,640,643,646,649,652],{"title":599,"_path":600},"Panoramica delle integrazioni","\u002Fit\u002Fdocs\u002Fintegrations\u002Fvue-densemble",{"title":602,"_path":603},"Stripe","\u002Fit\u002Fdocs\u002Fintegrations\u002Fstripe",{"title":605,"_path":606},"GitHub","\u002Fit\u002Fdocs\u002Fintegrations\u002Fgithub",{"title":608,"_path":609},"Google","\u002Fit\u002Fdocs\u002Fintegrations\u002Fgoogle",{"title":611,"_path":612},"LinkedIn Ads","\u002Fit\u002Fdocs\u002Fintegrations\u002Flinkedin-ads",{"title":614,"_path":615},"Kavkom","\u002Fit\u002Fdocs\u002Fintegrations\u002Fkavkom",{"title":617,"_path":618},"Jira","\u002Fit\u002Fdocs\u002Fintegrations\u002Fjira",{"title":620,"_path":621},"Slack","\u002Fit\u002Fdocs\u002Fintegrations\u002Fslack",{"title":623,"_path":624},"SMS","\u002Fit\u002Fdocs\u002Fintegrations\u002Fsms",{"title":626,"_path":627},"Enable Banking (open banking)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fenable-banking",{"title":629,"_path":630},"CRM, marketing e produttività","\u002Fit\u002Fdocs\u002Fintegrations\u002Fcrm-marketing",{"title":632,"_path":633},"HeyGen (video)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fheygen",{"title":635,"_path":636},"La Poste","\u002Fit\u002Fdocs\u002Fintegrations\u002Fla-poste",{"title":638,"_path":639},"CRM verticali (beTool Application, Qhare)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fcrm-metier",{"title":641,"_path":642},"Mitti (ispezioni sul campo)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fmitti",{"title":644,"_path":645},"Meta (Messenger, Pagine, Meta Ads)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fmeta",{"title":647,"_path":648},"Onoff Business (Beta)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fonoff",{"title":650,"_path":651},"Smart Life \u002F Tuya (oggetti connessi)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fsmart-life",{"title":653,"_path":654},"Prodotti beTool (Desktop, Kiosk, Terminal)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fproduits-betool",{"title":656,"_path":657,"children":658},"Casi d'uso","\u002Fit\u002Fdocs\u002Fcas-usage",[659,662,665,668,671,674],{"title":660,"_path":661},"Agenti di business tipo","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fvue-densemble",{"title":663,"_path":664},"CFO IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fcfo-ia",{"title":666,"_path":667},"COO IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fcoo-ia",{"title":669,"_path":670},"CTO IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fcto-ia",{"title":672,"_path":673},"Product Manager IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fproduct-manager-ia",{"title":675,"_path":676},"Assistente personale","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fassistant-personnel"]