Sistemi AI · workflow multi-agente
FWEA — AI agent workflow
Builder → Revisore → Fixer → Verificatore, come l’ho progettato. I cicli di revisione mostrati qui sono letti dal suo stesso log.
Claude Code · progettazione, revisione e verifica multi-agente
Sistema multi-agente progettato e orchestrato da me.
Problema
Un agente AI che valuta il proprio lavoro non è un controllo affidabile: lo stesso punto di vista che ha fatto un errore è quello che lo cerca. FWEA separa costruzione, revisione, correzione e verifica in agenti diversi, e registra tutto con gli hash.
Un agente da solo
- costruisce il lavoro
- valuta il proprio lavoro
- lo approva
FWEA: ruoli separati
- un builder costruisce
- due critici isolati revisionano
- un fixer corregge; un controllore rilegge
- due verificatori nuovi confermano
- il risultato viene registrato con un hash
Come lavoro
“Uso agenti AI all’interno di un workflow di sviluppo strutturato: costruire → revisionare → correggere → verificare, mantenendo la responsabilità di requisiti, decisioni e qualità finale.”
ILF
Ho progettato ILF, un framework personale di “lab” AI strutturati per web design, film, cibo e prodotti
Dichiarato da Danilo
Architettura
I ruoli dell’esecuzione reale di FWEA del 28 settembre 2026, come li registra il suo log di revisione. Ogni critico ha lavorato in isolamento, e l’albero che ha superato la revisione è fissato dal suo digest SHA-256.
Builder → critici → fixer → verificatori
Livello di prova: Prova esistente · ruoli dal log di revisione
La sequenza, come testo
- Il builder crea l’albero della skill.
- Due critici, isolati e in sola lettura, lo revisionano: la lente 1 per correttezza e decidibilità, la lente 2 per ambito ed economia. Ognuno riporta rilievi BLOCKER, MAJOR e MINOR.
- Il fixer corregge i rilievi; un controllore interno rilegge le modifiche, e una correzione aggiuntiva chiude ciò che trova.
- Finché un turno fallisce, critici nuovi revisionano l’albero corretto: turni 0, 1 e 2, poi i critici finali.
- Due verificatori controllano che ogni rilievo grave dei critici finali sia chiuso, e cercano regressioni.
- PASS: l’albero è fissato dal suo digest, sha256
8551e9a4a99b7b6b8e67c1530022adc2bfa15274545f57b50d1c842ab491593b.
Cicli di revisione
Ogni critico ha riportato i suoi rilievi come BLOCKER, MAJOR o MINOR. 4 turni di critici sono finiti con FAIL; dopo l’ultimo turno di correzione, due verificatori hanno controllato ogni rilievo grave e lo step 2 è passato. I numeri sono letti dalle righe stesse del log quando questo sito viene generato.
Rilievi per turno e revisore
Livello di prova: Prova esistente · estratti dal log
- BLOCKER
- MAJOR
- MINOR
- pieno, tratteggiato, vuoto · numeri: BLOCKER · MAJOR · MINOR
| Turno | Revisore | BLOCKER | MAJOR | MINOR | Risultato | Log |
|---|---|---|---|---|---|---|
| Turno 0 | Critico · Lente 1 | 3 | 12 | 11 | FAIL | riga 17 del log di revisione, Turno 0 |
| Critico · Lente 2 | 2 | 10 | 5 | FAILTurno: FAIL | riga 18 del log di revisione, Turno 0 | |
| Turno 1 | Critico · Lente 1 | 2 | 15 | 7 | FAIL | riga 28 del log di revisione, Turno 1 |
| Critico · Lente 2 | 0 | 4 | 8 | FAILTurno: FAIL | riga 29 del log di revisione, Turno 1 | |
| Turno 2 | Critico · Lente 1 | 1 | 11 | 10 | FAIL | riga 39 del log di revisione, Turno 2 |
| Critico · Lente 2 | 0 | 3 | 9 | FAILTurno: FAIL | riga 40 del log di revisione, Turno 2 | |
| Critici finaliisolamento più rigido | Critico · Lente 1 | 2 | 13 | 5 | FAIL | riga 56 del log di revisione, Critici finali |
| Critico · Lente 2 | 0 | 4 | 7 | FAILTurno: 18 rilievi gravi distinti, tutti risolti | riga 57 del log di revisione, Critici finali | |
| Verifica miratadopo l’ultimo turno di correzione | Verificatore 1rilievi di regressione | 0 | 0 | 5 | CLEAN · 18/18 chiusi | riga 67 del log di revisione, Verifica mirata |
| Verificatore 2rilievi di regressione | 0 | 0 | 4 | CLEAN · 19/19 chiusiTurno: step 2 PASS | riga 68 del log di revisione, Verifica mirata |
Demo
Un’affermazione di esempio attraversa gli stessi quattro ruoli. È una simulazione: la frase è inventata e nessuno di questi rilievi viene dal log reale (i numeri reali sono in Cicli di revisione).
Un’affermazione di esempio, passo per passo
Livello di prova: Simulazione · illustrativa
01 Builder: Scrive una prima bozza
Il builder trasforma il brief in una prima versione della frase.
Affermazione di esempio (bozza) Esperto di tutte le tecnologie web moderne, con risultati impeccabili.
Bozza
02 Critici: Due critici isolati la revisionano
Ogni critico legge solo la bozza e il brief, con strumenti di sola lettura, e riporta i rilievi per gravità.
Affermazione di esempio (bozza) Esperto di tutte le tecnologie web moderne, con risultati impeccabili.
- BLOCKER · Lente 1 · correttezza e decidibilità: “tutte le tecnologie web moderne” non è decidibile: nessuna prova potrebbe mai dimostrarlo.
- MINOR · Lente 2 · ambito ed economia: “risultati impeccabili” è un’espressione vaga che non aggiunge nulla di verificabile.
FAIL · 1 BLOCKER, 0 MAJOR, 1 MINOR
03 Fixer: Corregge ciò che i critici hanno trovato
Il fixer cambia solo ciò che i rilievi indicano; un controllore interno rilegge le righe modificate.
Affermazione di esempio (dopo la correzione) Esperto di tutte le tecnologie web moderne, con risultati impeccabili.Costruisce pagine responsive in HTML, CSS e JavaScript; ogni competenza rimanda alla sua prova.- F1 (BLOCKER): ora l’affermazione nomina le competenze, ognuna con la sua prova.
- F2 (MINOR): l’espressione vaga è stata tolta.
- Controllore: nessun nuovo rilievo nelle righe modificate.
Corretto · in attesa di verifica
04 Verificatore: Un verificatore nuovo controlla ogni rilievo
Il verificatore non ha partecipato alla revisione né alla correzione. Controlla ogni rilievo sul nuovo testo, poi cerca regressioni.
Affermazione di esempio (dopo la correzione) Costruisce pagine responsive in HTML, CSS e JavaScript; ogni competenza rimanda alla sua prova.
- F1: CLOSED
- F2: CLOSED
- Regressione: 0 BLOCKER, 0 MAJOR, 0 MINOR
PASS · sigillato con il suo SHA-256
sha256 della frase corretta:
a301b1ed0864968417d92b1dcb50c6c32e4664af364d86321bd7879906647741
Prove
Lo stato della skill, il digest e il manifest del checkpoint, e le righe testuali del log di revisione da cui è costruita questa pagina.
Stato
Livello di prova: Prova esistente
Release candidateCostruito e rivisto; validazione A/B finale ancora da fare
Release candidate. Revisione statica superata con due verificatori indipendenti; il benchmark A/B contro l’uso senza la skill è progettato ma non ancora eseguito.
Sistema multi-agente progettato e orchestrato da me.
Checkpoint
Livello di prova: Prova esistente
- Digest dell’albero della skill (l’albero che ha superato lo step 2)
8551e9a4a99b7b6b8e67c1530022adc2bfa15274545f57b50d1c842ab491593b- MANIFEST.sha256
- 684 righe · sha256
39f269514ec828c05051c5bbcb5b8b2536c5b2f4511c441250efd561c8bf96c7
Un workflow AI multi-agente che ho progettato e diretto con Claude Code: costruisce e mette alla prova una skill di web design riutilizzabile (agenti builder, revisore, fixer e verificatore; checkpoint e hash SHA-256). La prima versione di questo CV è stata costruita con esso.
Vedi la prova
Affermazione
Un workflow AI multi-agente che ho progettato e diretto con Claude Code: costruisce e mette alla prova una skill di web design riutilizzabile (agenti builder, revisore, fixer e verificatore; checkpoint e hash SHA-256). La prima versione di questo CV è stata costruita con esso.
Dichiarato da Danilo
Prove
- Log di revisione FWEA: il controllo di isolamento dei critici (tools/step2/STEP2_RUN_LOG.md, righe 10 e 12–14) · manual · verificato il 2 ottobre 2026Il controllo di isolamento al lancio 1 (28/09/2026), letto dagli eventi di avvio dei processi critici stessi: server MCP, strumenti, modalità dei permessi. Copiato testualmente il 02/10/2026 dal log (sha256 1beac5c6…); la riga 11 (la cartella di memoria, un percorso locale) è omessa.
- Log di revisione FWEA: risultato del turno 0 (tools/step2/STEP2_RUN_LOG.md, righe 16–19) · manual · verificato il 2 ottobre 2026Due critici isolati (lente 1 e lente 2) sul primo albero, 28/09/2026: entrambi FAIL. Copiato testualmente il 02/10/2026 dal log (sha256 1beac5c6…).
- Log di revisione FWEA: risultato del turno 1 (tools/step2/STEP2_RUN_LOG.md, righe 27–30) · manual · verificato il 2 ottobre 2026Critici nuovi dopo il turno di correzione 1, 28/09/2026: entrambi FAIL. Copiato testualmente il 02/10/2026 dal log (sha256 1beac5c6…).
- Log di revisione FWEA: risultato del turno 2 (tools/step2/STEP2_RUN_LOG.md, righe 38–42) · manual · verificato il 2 ottobre 2026Critici nuovi dopo il turno di correzione 2, 28/09/2026: entrambi FAIL; l’andamento dei rilievi BLOCKER e MAJOR per lente. Copiato testualmente il 02/10/2026 dal log (sha256 1beac5c6…).
- Log di revisione FWEA: risultato dei critici finali (tools/step2/STEP2_RUN_LOG.md, righe 55–58) · manual · verificato il 2 ottobre 2026Critici finali con isolamento più rigido (nessun materiale di test), 28/09/2026: entrambi FAIL; 18 rilievi gravi distinti. Copiato testualmente il 02/10/2026 dal log (sha256 1beac5c6…).
- Log di revisione FWEA: risultato della verifica mirata (tools/step2/STEP2_RUN_LOG.md, righe 66–70) · manual · verificato il 2 ottobre 2026Due verificatori dopo l’ultimo turno di correzione, 28/09/2026: ogni rilievo grave chiuso, nessun nuovo BLOCKER o MAJOR; step 2 PASS. Copiato testualmente il 02/10/2026 dal log (sha256 1beac5c6…).
- Checkpoint di FWEA: record del digest dell’albero della skill e di MANIFEST.sha256 · manual · verificato il 2 ottobre 2026Digest dell’albero della skill 8551e9a4…593b (l’albero che ha superato lo step 2) e MANIFEST.sha256 (684 righe, sha256 39f26951…96c7) del checkpoint della release candidate: calcolati in locale il 02/10/2026; i file della skill non sono pubblicati.
Risultato
Estratti testuali del log di revisione (28/09/2026): quattro turni di due critici isolati ciascuno sono finiti con FAIL; dopo l’ultimo turno di correzione, due verificatori hanno chiuso ogni rilievo grave e lo step 2 è passato. La skill è una release candidate: il benchmark A/B contro l’uso senza la skill è progettato ma non ancora eseguito. Che il workflow l’abbia progettato e diretto Danilo, e che la prima versione di questo CV sia stata costruita con esso, sono sue dichiarazioni.
Sviluppo assistito dall’AI con Claude Code; workflow multi-agente con ruoli di builder, revisore, fixer e verificatore; progettazione e test di skill per Claude Code
Vedi la prova
Affermazione
Sviluppo assistito dall’AI con Claude Code; workflow multi-agente con ruoli di builder, revisore, fixer e verificatore; progettazione e test di skill per Claude Code
Dichiarato da Danilo
Prove
- Log di revisione FWEA: il controllo di isolamento dei critici (tools/step2/STEP2_RUN_LOG.md, righe 10 e 12–14) · manual · verificato il 2 ottobre 2026Il controllo di isolamento al lancio 1 (28/09/2026), letto dagli eventi di avvio dei processi critici stessi: server MCP, strumenti, modalità dei permessi. Copiato testualmente il 02/10/2026 dal log (sha256 1beac5c6…); la riga 11 (la cartella di memoria, un percorso locale) è omessa.
- Log di revisione FWEA: risultato del turno 0 (tools/step2/STEP2_RUN_LOG.md, righe 16–19) · manual · verificato il 2 ottobre 2026Due critici isolati (lente 1 e lente 2) sul primo albero, 28/09/2026: entrambi FAIL. Copiato testualmente il 02/10/2026 dal log (sha256 1beac5c6…).
- Log di revisione FWEA: risultato della verifica mirata (tools/step2/STEP2_RUN_LOG.md, righe 66–70) · manual · verificato il 2 ottobre 2026Due verificatori dopo l’ultimo turno di correzione, 28/09/2026: ogni rilievo grave chiuso, nessun nuovo BLOCKER o MAJOR; step 2 PASS. Copiato testualmente il 02/10/2026 dal log (sha256 1beac5c6…).
- Checkpoint di FWEA: record del digest dell’albero della skill e di MANIFEST.sha256 · manual · verificato il 2 ottobre 2026Digest dell’albero della skill 8551e9a4…593b (l’albero che ha superato lo step 2) e MANIFEST.sha256 (684 righe, sha256 39f26951…96c7) del checkpoint della release candidate: calcolati in locale il 02/10/2026; i file della skill non sono pubblicati.
Risultato
Il log di revisione di FWEA (28/09/2026) e il record del checkpoint mostrano un workflow multi-agente che mette alla prova una skill: agenti critici isolati con strumenti di sola lettura, poi due agenti verificatori che hanno chiuso ogni rilievo grave. Che il workflow l’abbia progettato Danilo, e il resto di questa affermazione, sono sue dichiarazioni.
Il log di revisione, testuale
6 intervalli di righe del log, copiati senza modifiche; il file in sé non è pubblicato.
Livello di prova: Prova esistente
Isolation check at launch 1 (from the stream-json init events):
riga 11 omessa
- MCP servers: none;
- tools: Read/Grep/Glob plus session utilities; no Agent, Task, Skill, Bash, Edit, Write, WebFetch or WebSearch;
- permission mode: default.
Livello di prova: Prova esistente
## Round 0 result (launch 3, both critics valid: 0 void tool calls)
- L1 (082f4db933bb): FAIL — 3 BLOCKER, 12 MAJOR, 11 MINOR (17 tool calls, all inside packet)
- L2 (7807a7e16c55): FAIL — 2 BLOCKER, 10 MAJOR, 5 MINOR (18 tool calls, all inside packet; 279 s)
- Step 2 = FAIL on the pre-RC1 tree def5e846…. Correction round 1 of max 2 starts (Spec §13 Correction rounds).
Livello di prova: Prova esistente
## Round 1 result (fresh critics, both valid: 0 void tool calls)
- L1 (0db2ad0aa774): FAIL — 2 BLOCKER, 15 MAJOR, 7 MINOR (17 tool calls, all inside packet)
- L2 (12694d35367d): FAIL — 0 BLOCKER, 4 MAJOR, 8 MINOR (17 tool calls, all inside packet)
- Step 2 = FAIL on tree e2f346bc…. Correction round 2 of max 2 (last) starts; snapshot fwea-workspace/snapshots_pre_round2_skill. Fixer instructed with explicit anti-overfitting rules (critics can read the test spec).
Livello di prova: Prova esistente
## Round 2 result (fresh critics, both valid: 0 void tool calls)
- L1 (1bab4fd91aff): FAIL — 1 BLOCKER, 11 MAJOR, 10 MINOR (18 tool calls)
- L2 (17b649e28abc): FAIL — 0 BLOCKER, 3 MAJOR, 9 MINOR (19 tool calls)
- Trend L1 B/M: 3/12 → 2/15 → 1/11; L2 B/M: 2/10 → 0/4 → 0/3.
- Step 2 = FAIL after the 2 allowed correction rounds → OWNER DECISION required (Spec §13).
Livello di prova: Prova esistente
## Final critics (v1.1 isolation) — both valid, 0 void tool calls
- L1 (4d95e6389f06): FAIL — 2 BLOCKER, 13 MAJOR, 5 MINOR (14 tool calls)
- L2 (9bd3b623e9f7): FAIL — 0 BLOCKER, 4 MAJOR, 7 MINOR (15 tool calls)
- No finding argues from a test item (the critics had no test material). Residual serious findings: 2 BLOCKER + 17 MAJOR (L1-01 and L2-04 overlap, so 18 unique). They go to the owner one by one (D-FWEA-1); nothing is accepted automatically.
Livello di prova: Prova esistente
## Targeted verification result (D-FWEA-2) — STEP 2 PASS
- V1 (80df4d8e9a39): CLEAN — 18/18 findings CLOSED; regression 0 BLOCKER, 0 MAJOR, 5 MINOR; scripts sizes PASS, dead refs PASS, 0 duplicate groups (15 tool calls, 0 void).
- V2 (4fc38e62dc7a): CLEAN — 19/19 entries CLOSED (L2-04 counted separately); regression 0 BLOCKER, 0 MAJOR, 4 MINOR; scripts PASS (15 tool calls, 0 void).
- No finding among the 18 was accepted implicitly: all were fixed and independently verified closed.
- STEP 2 = PASS on tree 8551e9a4a99b7b6b8e67c1530022adc2bfa15274545f57b50d1c842ab491593b (2026-09-28).
Livello di prova: Prova esistente