Smettere di fidarsi dei risultati generati in un unico passaggio; trarre conclusioni solo dopo aver lasciato che più modelli si scontrino. Una spiegazione progettuale della skill Claude Code che trasferisce la struttura avversariale delle GAN nella fase di inferenza.
- Autore: Ryousuke Wayama (@wayama_ryousuke
- Data: 2026-07-09
- Background: Concept ispirato alle GAN (tweet predittivo del 2023) / Design discusso con Claude Fable 5
- Repository: https://github.com/makinux/adversarial-panel
Background: Perché le Risposte Singole Non Bastano
Le risposte degli LLM sono più pericolose non quando sono sbagliate, ma quando sono sbagliate e sicure. Un singolo passaggio di un singolo modello manca strutturalmente di un meccanismo per rilevarlo. Anche con l'autocritica, i punti ciechi durante la generazione e la critica sono correlati perché derivano dagli stessi pesi; inoltre, è stato dimostrato che i modelli possiedono un bias di auto-preferenza, valutando favorevolmente la propria produzione. In breve, "scrivere e revisionare da soli" è un conflitto di interessi fin dall'inizio per qualsiasi verifica.
L'ispirazione di questa skill proviene dalle GAN. L'essenza di una GAN non è solo la struttura di generatori e discriminatori in competizione, ma il principio sottostante: l'asimmetria per cui rilevare è più facile che creare. Piuttosto che affidarsi al generatore per la propria correttezza, si ottiene una garanzia di qualità superiore, a parità di costo computazionale, permettendo ad avversari indipendenti di attaccare e facendo passare solo ciò che sopravvive. Mentre le GAN eseguivano questo ciclo tramite gradienti, adversarial-panel lo esegue tramite critica in linguaggio naturale. È cambiato solo il mezzo del segnale; la struttura del gioco rimane la stessa.
Tuttavia, allineare semplicemente più modelli non ha valore. Ciò che funziona sono le due seguenti caratteristiche progettuali, che la skill è intenzionalmente progettata per creare:
- Decorrelatione degli Errori — Un revisore può cogliere una svista del generatore solo se le loro modalità di fallimento differiscono. Poiché i panel dello stesso modello condividono punti ciechi, l'"accordo unanime" è una prova più debole di quanto sembri. Incrociare famiglie di modelli è il punto centrale.
- Vantaggio di Verifica — Confutare una risposta data è più facile che crearla. Pertanto, i critici sono indirizzati a colpire affermazioni verificabili. Non "Penso sia sospetto", ma "Fallisce con l'input X" — confutare tramite riproduzione, non solo affermazione.
Architettura: Facilitatore e Panelisti
Esistono solo due tipi di componenti. La sessione principale (Claude Code stesso) agisce come facilitatore, gestendo progressione, verifica e integrazione, mentre da 2 a 4 panelisti gestiscono risposte e critiche reciproche. Il facilitatore non deve esprimere le proprie opinioni tramite i panelisti (divieto di cattura del facilitatore); se si aggiunge un'opinione, deve essere etichettata come "Opinione del Facilitatore."

Figura 1 — Configurazione di adversarial-panel. Il facilitatore distribuisce un brief auto-contenuto (linea continua), e i panelisti attaccano le risposte degli altri (Cross-critique) prima di restituire risposte e critiche al facilitatore (linea tratteggiata). Questo ciclo si ripete per ogni round.
I panelisti sono selezionati con una priorità basata sulla massimizzazione dell'eterogeneità:
- Diverse Famiglie di Modelli — CLI esterne come Codex tramite Bash. Questo fornisce la più forte decorrelazione degli errori.
- Diversi Modelli Claude — Tramite il parametro model dello strumento agente (Opus/Sonnet/Haiku).
- Stesso Modello + Ramificazione Metodologica Forzata — Uno argomenta dai primi principi, uno dai dati di base (visione esterna), uno cerca solo controprove, e uno riesegue affermazioni verificabili. Differenziare per metodo, non solo per persona.
Il default è 2 panelisti × 3 round. Poiché il costo scala con il numero di panelisti e round, l'espansione a 3-4 panelisti è solo per quando l'utente richiede approfondimento.
Protocollo: 4 Round + Sintesi

Figura 2 — Progressione del Protocollo. Il bianco rappresenta i compiti del facilitatore, il viola i compiti dei panelisti. Un gate di verifica è inserito dopo il Round 1 per controllare se le "risposte hanno sostanza." Per query a basso costo, i Round 2 e 3 possono essere fusi in uno solo.
Round 0 — Inquadramento e Giudizio di Necessità
Prima, determinare se aprire un panel. Per query a basso rischio o casi in cui la fiducia è giustificata, rispondere direttamente e presentare il panel solo come opzione. Un panel completo viene attivato solo per query importanti, controverse o verificabili — perché è lì che la critica vale il costo.
La difesa contro la "trappola del triage" è integrata qui. Poiché il modello che deve cogliere il punto cieco è lo stesso che opera questo gate, più è sicuro di fallire un compito, meno è probabile che il gate si apra. Pertanto, se un utente richiede esplicitamente un panel, questo viene eseguito indipendentemente dalla fiducia, e per query importanti, il giudizio si basa sull'entità della posta in gioco piuttosto che sull'autofiducia.
Successivamente, scrivere un brief auto-contenuto. Poiché i sub-agenti non possono vedere il contesto della conversazione, il brief deve includere la query, il contesto, i vincoli e il formato di output, più le istruzioni per "separare i fatti dalle speculazioni e allegare livelli di confidenza e condizioni di falsificazione (quali osservazioni rovescerebbero questo) alle affermazioni principali." Le condizioni di falsificazione devono essere specifiche e verificabili, come "fallisce con l'input X" o "contraddice la fonte Y"; frasi generiche come "se emergono prove contrarie" sono trattate come dati mancanti (teatrino della calibrazione).
Round 1 — Risposte Indipendenti (Parallelo/Cieco)
Avviare tutti i panelisti in parallelo. È un requisito assoluto che nessuno veda le risposte degli altri; un panelista che vede la risposta di un altro vi si ancora, rompendo il presupposto dell'indipendenza.
Al ritorno, il gate di verifica: stringhe di stato o dump di errore non sono risposte. Includerli nei verbali farebbe sì che i round successivi critichino fantasmi (il problema del panelista fantasma descritto più avanti). I panelisti falliti vengono riprovati; se falliscono due volte, il livello di eterogeneità viene abbassato di un gradino per continuare, e la configurazione effettiva del panel viene comunicata all'utente.
Round 2 — Critica Incrociata (Parallelo)
A ogni panelista vengono fornite le risposte degli altri panelisti. Devono attaccare affermazioni specifiche con citazioni — errori fattuali, prove deboli, salti logici, alternative trascurate o presupposti impliciti. Le affermazioni verificabili vengono confutate tramite riproduzione (esecuzione di codice, ricalcolo di valori, controllo delle fonti). È proibito gonfiare accordi, riassunti o lodi. Sia le concessioni che gli attacchi richiedono motivazioni.
Round 3 — Opinioni Finali (Parallelo)
A ogni panelista vengono fornite le critiche ricevute. Devono concedere sugli attacchi validi (con motivazioni, non per cortesia), difendere le affermazioni sopravvissute con motivazioni, e dichiarare le incertezze rimanenti più la confidenza calibrata e le condizioni di falsificazione. La conversione totale senza motivazione è un segnale di sicofantismo, quindi la base della conversione viene messa in discussione prima dell'accettazione.
Sintesi — Integrazione da Parte del Facilitatore
L'output finale consiste in tre parti: Punti di Accordo / Punti di Conflitto / Conclusione.
- Punti di Accordo — Accompagnati dal singolo argomento più forte a sostegno, specificando se la convergenza è prova forte (panel eterogeneo) o prova debole (panel omogeneo, potenziali punti ciechi condivisi).
- Punti di Conflitto — Scritti come "Chi, Cosa, con Quali Prove" + la decisione del facilitatore, ponderata in base alla forza delle prove. Se una parte ha prove riproducibili e l'altra intuizione, si prende una decisione. Presentare entrambi i lati equamente non è neutralità, ma falso equilibrio.
- Conclusione — Include livelli di confidenza, condizioni che potrebbero cambiare la conclusione, opinioni minoritarie che vale la pena preservare e una traccia di controllo delle critiche accettate/rifiutate.
Tre Invarianti da Mantenere Sempre
Invariante | Contenuto |
|---|---|
Indipendenza | Le risposte del Round 1 devono essere generate alla cieca. I panelisti che vedono le risposte altrui diventano ancorati e non sono più campioni indipendenti. |
Avversarialità | L'accordo senza nuovi argomenti è un fallimento del round. Forzare l'istruzione: "Opponiti ad almeno un'affermazione centrale; trovala." |
Niente media | La sintesi non è una media. I conflitti vengono preservati e giudicati. Nel momento in cui si somma e si divide per due, il segnale generato dal panel scompare. |
Corrispondenza con le GAN
L'intento progettuale di "trasferire la generazione avversariale all'inferenza" può essere mappato come segue. È fondamentale che le modalità di fallimento dal lato del panel corrispondano ordinatamente alle modalità di fallimento note delle GAN.
GAN (Addestramento) | adversarial-panel (Inferenza) |
|---|---|
Generatore | Risposte indipendenti dei panelisti (Round 1) |
Discriminatore | Il lato attaccante della critica incrociata (Round 2) |
Aggiornamenti del Gradiente | Critica in linguaggio naturale e concessioni/difese motivate (Round 3) |
Equilibrio Minimax | Sintesi del facilitatore con giudizio (Sintesi) |
Vantaggio del Discriminatore | Asimmetria di verifica — più facile rilevare che creare |
Nessuna Condivisione dei Pesi | Separazione delle famiglie di modelli — decorrelazione degli errori |
Collasso della Modalità | Convergenza sicofantica (accordo reciproco) |
Modalità di Fallimento e Contromisure — Tutte Osservate in Produzione
Questa raccolta di anti-pattern della skill non è un elenco di preoccupazioni teoriche, ma un catalogo di mine effettivamente incontrate.
- Panelista Fantasma Stringhe di stato o dump di errore si mescolano ai verbali come risposte, causando a tutti i round successivi di discutere contro il nulla. → Contromisura: Gate di verifica immediatamente dopo il Round 1. Forzare l'esecuzione in primo piano per le CLI esterne e proibire wrapper che restituiscono il controllo prima del completamento.
- Convergenza Sicofantica Tutti concordano nel Round 2 senza nuovi argomenti. Equivalente al collasso della modalità nelle GAN. → Contromisura: Aggiungere "Ti stai opponendo ad almeno un'affermazione centrale. Trovala" al prompt di critica.
- Cattura del Facilitatore Il facilitatore fa esprimere al panel le proprie opinioni preesistenti, riciclandole attraverso l'autorità del consenso. → Contromisura: Le opinioni del facilitatore devono essere separate con etichette.
- Teatrino della Confidenza Confidenza numerica senza condizioni di falsificazione. "Confidenza all'80%" non ha senso a meno che non si possa dire quale osservazione la farebbe ritirare. → Contromisura: Trattare la confidenza senza condizioni di falsificazione come mancante.
- Illusione della Diversità Trattare diverse persone dello stesso modello come revisori indipendenti. Il nome del ruolo "Red Team" non decorrela gli errori — solo modelli diversi, metodologie diverse o l'effettiva riproduzione delle affermazioni crea decorrelazione. → Contromisura: Declassare esplicitamente la convergenza in panel omogenei come prova debole.
Casi d'Uso e Come Chiamarla
La skill stessa è pubblicata su makinux/adversarial-panel. Posizionandola in Claude Code come ~/.claude/skills/adversarial-panel/SKILL.md, si attiva tramite chiamate esplicite o linguaggio naturale come:
"Fai eseguire a Opus e Codex una revisione avversariale di questo progetto." "Davvero? Lascia che discutano per esserne sicuri." / "red-team questo" / "Voglio un secondo parere." Diventa anche attivamente un candidato per l'attivazione quando si insiste per certezza su punti importanti con "sei sicuro?"
È adatta per query importanti che sono controverse o verificabili. Scelta dell'architettura, ipotesi di causa principale per i fallimenti, previsioni tecniche o verifica di conclusioni di ricerca. Al contrario, aprirlo per query a basso rischio è uno spreco di costi, che il triage del Round 0 filtra. Il costo è proporzionale al numero di panelisti × round; 2×3 è lo standard per l'uso quotidiano, con espansione a 3-4 per momenti critici.
È definito anche il degrado per ambienti poveri:
- Nessun meccanismo di sub-agente → Sostituire con sezioni separate in esecuzione sequenziale (debole, poiché pesi e contesto sono condivisi — annotato nella sintesi).
- Solo una singola famiglia disponibile → Scendere alla ramificazione metodologica (3° livello) e declassare il potere probatorio della convergenza.
- CLI esterna fallisce due volte → Rimuovere quel panelista, continuare e comunicare.
Riportare quale livello è stato effettivamente eseguito in base alla misurazione, non all'intento — questa è la chiave per la verificabilità.
Conclusione: Dall'Inferenza all'Addestramento
Quando ho predetto nel 2023 che "la generazione avversariale è la prossima frontiera per gli LLM," avevo in mente uno schema di addestramento simile alle GAN.
https://x.com/wayama_ryousuke/status/1658698942161510400
Controllando la risposta tre anni dopo, le strutture avversariali sono state praticate prima nell'inferenza (critica in linguaggio naturale) piuttosto che nell'addestramento (gradienti). Modelli specifici per la critica come CriticGPT, la ricerca sul dibattito multi-agente e le operazioni di revisione incrociata nella codifica — il settore converge sulla stessa struttura da ingressi diversi.
La fase successiva è probabilmente la reintegrazione. Mentre i risultati della revisione in fase di inferenza sono attualmente usa-e-getta, convertire le critiche in segnali di ricompensa RL (la strada RLAIF) permette ai risultati avversariali di accumularsi nei pesi — tornando a ciò che le GAN facevano originariamente. Se si arriva al punto di "addestrare il modello successivo con i risultati delle revisioni avversariali," questa skill sarà stata un prototipo di un periodo di transizione. Fino ad allora, vale sicuramente la pena scontrare i modelli tra loro prima di scommettere su una risposta a passaggio singolo.
Questo articolo è una spiegazione progettuale per la skill Claude Code adversarial-panel (SKILL.md). Concetto: [@wayama_ryousuke](https://x.com/@wayama_ryousuke) (Ispirato dalle GAN, design discusso con Claude Fable 5). I diagrammi seguono le convenzioni delle configurazioni degli agenti Executor/Advisor.





