Configurare un file CLAUDE.md non è harness engineering. È il primo 5%.
Su X vedo sempre lo stesso schema: qualcuno scrive un ottimo CLAUDE.md, aggiunge qualche server MCP, magari un hook o due, e lo chiama “harness engineering”. Sia chiaro: è un buon inizio. Ma se avete lavorato solo sul repository di un singolo sviluppatore, non avete ancora visto cosa richiede davvero l’harness engineering.
Ho passato gli ultimi due anni a costruire harness per clienti enterprise europei. Codebase da oltre due milioni di righe. Sistemi legacy che nessuno vuole toccare. Requisiti di compliance da far girare la testa. E posso dirvelo: il salto tra configurare un agente di coding e progettare un harness enterprise non è incrementale. È un’altra disciplina.
La conversazione è ferma allo strato dello sviluppatore
Il dibattito attuale sull’harness engineering si concentra quasi solo sulla configurazione a livello di sviluppatore: file di istruzioni per l’agente, tuning dei prompt, selezione dei tool, pattern di sub-agenti. Sono tecniche vere e utili. OpenAI ci ha scritto sopra. Martin Fowler le ha dato un nome. Mitchell Hashimoto le pratica ogni giorno.
Ma c’è un problema: tutto questo presuppone uno sviluppatore, un repository, una sessione dell’agente. In azienda non funziona così.
In enterprise avete più team che condividono la stessa codebase. Avete decisioni architetturali prese dieci anni fa che nessuno ha documentato. Avete responsabili della compliance che pretendono un audit trail di ogni riga generata da un agente. Avete pipeline di CI che impiegano 40 minuti, non 4 secondi.
L’harness per questo ambiente non somiglia per niente a un CLAUDE.md scritto bene.
Il context engineering è un pilastro, non l’edificio
Sta emergendo una lettura che tratta l’harness engineering come un sottoinsieme del context engineering: dai all’agente il contesto giusto, e il resto viene da sé. Credo che sia il ragionamento inverso, almeno in ambito enterprise.
Il context engineering è determinante. In FairMind abbiamo costruito quello che chiamiamo Project Context: in sostanza un gemello digitale della codebase aziendale. Dà ai nostri agenti una conoscenza strutturata e aggiornata di architettura, dipendenze, convenzioni e decisioni del team. Non un file markdown piatto, ma un knowledge graph vivo che evolve insieme al codice.
Ma il contesto da solo non rende gli agenti affidabili in produzione. Servono almeno altri tre pilastri.
I vincoli architetturali sono limiti meccanici a ciò che l’agente può fare. Non “per favore non modificare il modulo di autenticazione” scritto in un prompt. Veri layer di dipendenze che lo rendono impossibile. Regole di lint che rifiutano il codice non conforme prima che arrivi in review. Gate di CI che intercettano automaticamente le violazioni architetturali. In azienda non potete contare sul fatto che il modello segua le istruzioni nel 98% dei casi. Vi serve che il 2% di fallimento venga intercettato meccanicamente.
I feedback loop sono cicli di verifica automatica. Non “lancia la test suite quando l’agente si ferma”: quella è la versione base. I feedback loop enterprise comprendono test di integrazione cross-service, controlli di regressione sulle performance, scansioni di sicurezza e telemetria che vi dice se il codice dell’agente funziona davvero in staging, molto prima che si avvicini alla produzione.
La garbage collection è quella di cui non parla nessuno. Il codice generato dall’AI accumula debito tecnico più in fretta del codice scritto dalle persone, perché gli agenti ottimizzano per il completamento del task, non per la manutenibilità nel tempo. Qualcuno deve ripulire gli import morti, le astrazioni ridondanti, i file di test che verificano i dettagli implementativi invece del comportamento. Nel progetto personale di uno sviluppatore lo fate a mano. In azienda vi servono sistemi automatici, altrimenti la codebase si degrada nel giro di settimane.
Context engineering, vincoli architetturali, feedback loop, garbage collection. Quattro pilastri. Toglietene uno e l’harness cede sotto la pressione della scala enterprise.
L’harness vero non è un agente. È un sistema orchestrato.
L’idea di usare i sub-agenti come “firewall di contesto” sta prendendo piede nella comunità degli sviluppatori. Isolare ogni task nella sua finestra di contesto, tenere pulita la sessione principale, restituire solo risultati condensati. Pattern intelligente.
Ma c’è una differenza tra lanciare a mano dei sub-agenti da Claude Code e mettere in campo agenti specializzati lungo l’intero ciclo di vita del software, orchestrati da un harness che ne governa le interazioni e mantiene la coerenza sul progetto.
In FairMind non abbiamo un agente che fa tutto. Ne abbiamo cinque, ciascuno progettato per una fase distinta dell’SDLC:
Nova si occupa del brainstorming di business, crea le epiche e organizza la roadmap di prodotto. Prima che esista una sola riga di codice, Nova traduce l’intento di business in piani di sviluppo strutturati.
Sage trasforma quei piani in user story, sia di business sia tecniche. Fa da ponte tra quello che vuole il team di prodotto e quello che il team di ingegneria deve costruire.
Echo prende le user story di Sage e crea i task di sviluppo analizzando il codice esistente in ogni repository dentro il Project Context. Non tira a indovinare su cosa vada cambiato. Lo sa, perché ha il quadro completo della codebase.
Atlas è l’architetto. Brainstorming tecnico, analisi di impatto sulle change request, supporto al debugging distribuito, generazione di documentazione. Quando arriva una richiesta di modifica, Atlas sa dirvi quali servizi sono coinvolti prima che qualcuno apra un file.
Tess genera i piani di test direttamente dalle user story, così la copertura viene progettata insieme alla feature, non appiccicata dopo.
Questi agenti non lavorano isolati. Condividono il Project Context. Sanno cosa hanno fatto gli altri. Quando Echo crea i task, conosce già i vincoli architetturali di Atlas. Quando Tess genera i piani di test, conosce già i criteri di accettazione di Sage.
Questa non è configurazione. È platform engineering per agenti AI. E l’harness che la orchestra è il prodotto.
Rilasciamo anche in open source una suite di agenti per Claude Code (Atlas, Echo, Tess, Shield, Debug Inspector) che porta alcuni di questi pattern ai singoli sviluppatori. Ma l’orchestrazione a livello di piattaforma: è lì che vive l’harness engineering enterprise.
Harness enterprise significa vincoli enterprise
Ecco una cosa che non entra quasi mai nella conversazione sull’harness engineering: la governance.
In Europa, mettere in produzione agenti AI che generano codice richiede un trattamento dei dati conforme al GDPR. Richiede audit trail. Richiede la capacità di spiegare, a posteriori, perché l’agente ha preso una certa decisione. Non “perché l’ha detto il modello”. Tracciabilità reale, dal requisito all’implementazione.
L’AI Act sta spingendo ancora oltre. E controintuitivamente, è un vantaggio. La regolamentazione vi costringe a costruire harness migliori. Quando dovete dimostrare che il vostro agente ha operato entro confini definiti, quei confini li progettate bene fin dall’inizio. L’harness non è opzionale. È un obbligo di legge.
Con l’architettura di FairMind potete tracciare una linea che va dall’epica di Nova, alla user story di Sage, al task di Echo, all’analisi di impatto di Atlas, al piano di test di Tess. Ogni decisione è documentata. Ogni azione degli agenti è loggata. Non è una funzionalità aggiunta per la compliance. È la conseguenza naturale di aver costruito un harness fatto bene.
Per questo credo che l’Europa produrrà alcuni degli harness più solidi al mondo. Non nonostante la regolamentazione, ma grazie a quella.
Il 95% è dove sta il vantaggio competitivo
Configurare un CLAUDE.md lo sanno fare tutti. Gli strumenti migliorano ogni mese. Presto ogni sviluppatore avrà un setup dignitoso.
Ma costruire un harness che regge un team di ingegneria da 200 persone, su 15 microservizi, con obblighi normativi, garbage collection automatica e cinque agenti specializzati orchestrati che condividono un Project Context vivo: quello è il 95%.
Quello è harness engineering.
E in questo momento lo stanno costruendo in pochissimi. Noi sì.
Per l’architettura tecnica dietro Project Context, trovate tutto sul blog di FairMind.