Ingegnerizzare agenti AI che costruiscono e rilasciano software reale: dentro l'architettura di Jobbit
Approfondimento ingegneristico sulla costruzione di agenti AI che rilasciano software reale: orchestrazione multi-agente, tool use, esecuzione sandbox, RAG, eval e deploy edge.

La maggior parte degli "agenti AI" si ferma alla conversazione. Rispondono, e poi è una persona a fare il lavoro. Il problema ingegneristico interessante — e davvero difficile — è costruire agenti che facciano il lavoro: scrivere un'applicazione full-stack, eseguirla, correggere i propri errori e metterla in produzione. È esattamente il problema su cui il team di ingegneria di Jobbit e la sua divisione R&S, Jobbit Labs (jobbitlabs.com), lavorano ogni giorno.
Questo articolo è un approfondimento ingegneristico sui pattern che stanno dietro agli agenti AI che costruiscono e rilasciano software — l'architettura, le modalità di fallimento e le lezioni apprese. È volutamente pratico e indipendente dal provider: che tu stia costruendo su LLM, orchestrazione multi-agente, tool calling o RAG, questi principi rimangono validi.
I chatbot rispondono; gli agenti agiscono
Il salto da un chatbot a un agente è il salto dal generare testo al compiere azioni nel mondo. Un agente deve pianificare un compito articolato in più passaggi, chiamare strumenti, leggere i risultati e decidere la mossa successiva — per poi ripetere finché l'obiettivo non è raggiunto. Quel ciclo, spesso chiamato ciclo agentico (o ciclo ragiona-agisci), è il cuore del sistema.
La sfida ingegneristica è che ogni passaggio può fallire. Il modello può allucinare una funzione che non esiste, scrivere codice che non compila, interpretare male l'output di uno strumento o, in silenzio, allontanarsi dal compito. Un chatbot che sbaglia produce una frase sbagliata; un agente che sbaglia produce un deploy rotto. L'affidabilità, non la capacità grezza, è il vero lavoro ingegneristico.
L'architettura: planner, executor, strumenti
Una piattaforma di agenti robusta separa la pianificazione dall'esecuzione. Un livello di pianificazione scompone un obiettivo ("costruisci un'app di prenotazioni con pagamenti") in passaggi concreti; un livello di esecuzione porta a termine ogni passaggio usando strumenti (tool). Tenere distinte queste responsabilità rende il sistema diagnosticabile: puoi ispezionare il piano indipendentemente da come è stato eseguito ogni passaggio.
Il tool use è ciò che dà all'agente le sue "mani". Gli strumenti sono funzioni ben definite che il modello può chiamare — leggere un file, scrivere codice, eseguire una build, interrogare un database, fare deploy. La disciplina ingegneristica qui sta nella progettazione delle interfacce: ogni strumento ha bisogno di uno schema rigoroso e univoco, input validati e output strutturati che il modello possa interpretare in modo affidabile. Le interfacce degli strumenti "lasche" sono una delle principali fonti di fallimento degli agenti; quelle rigorose sono il guadagno di affidabilità più economico a disposizione.
Per i lavori complessi, un singolo agente spesso lascia il posto all'orchestrazione multi-agente — agenti specializzati che pianificano, scrivono codice, revisionano e verificano, coordinati da un orchestratore. La scomposizione ti regala focalizzazione (ogni agente ha un compito ristretto e un contesto ristretto) e parallelismo (i sottocompiti indipendenti girano in concorrenza). Il compromesso è l'overhead di coordinamento, quindi il livello di orchestrazione deve essere deterministico dove può e resiliente dove non può.
Eseguire e rilasciare codice reale, in sicurezza
Un agente che scrive software deve eseguire quel software — ed eseguire codice generato da un modello è un problema di sicurezza prima di essere qualsiasi altra cosa. La risposta è l'esecuzione sandbox del codice (sandboxed code execution): il codice non fidato gira in un ambiente isolato con risorse limitate, nessun accesso ai segreti e confini di rete stretti. La sandbox è ciò che permette all'agente di iterare — compilare, testare, leggere l'errore, correggere — senza mettere a rischio la piattaforma o gli altri utenti.
Il deploy è il passaggio che trasforma un'app generata in un prodotto. Un vero AI app builder possiede l'intero percorso dal codice a un URL live: build, provisioning dell'hosting, collegamento di un dominio, terminazione del TLS. Ingegnerizzare bene questo significa rendere i deploy ripetibili e reversibili — gli stessi input producono lo stesso risultato, e un deploy difettoso può essere annullato (rollback). Idempotenza e rollback puliti non sono affascinanti, ma sono ciò che rende affidabile il deploy autonomo.
Contesto, memoria e retrieval
Gli LLM hanno un contesto finito, e i progetti reali non ci entrano. Per questo un sistema di agenti serio investe pesantemente nel context engineering: decidere cosa il modello vede a ogni passaggio. Infilare tutto nel prompt è al tempo stesso costoso e controproducente — troppo contesto irrilevante degrada il ragionamento.
È qui che il RAG (retrieval-augmented generation) e i database vettoriali si guadagnano il loro posto. Invece di rovesciare un'intera codebase nel contesto, il sistema recupera i pochi file, simboli o documenti rilevanti per il passaggio corrente. Combinato con una memoria strutturata — un registro delle decisioni, la specifica in evoluzione e ciò che è già stato tentato — il retrieval mantiene l'agente ancorato lungo un compito lungo senza far esplodere la finestra di contesto. Un buon retrieval è spesso una leva di qualità più potente di un modello più grande.
Affidabilità: eval, verifica e guardrail
Se c'è un'idea che separa l'ingegneria degli agenti in produzione dalle demo, è questa: non puoi rilasciare ciò che non puoi misurare. I sistemi agentici sono stocastici, quindi l'affidabilità si ingegnerizza attraverso gli eval — suite di test automatici che assegnano un punteggio all'agente su compiti rappresentativi e intercettano le regressioni prima che lo facciano gli utenti. Una modifica che "sembra migliore" ma affossa i tuoi punteggi di eval è una modifica che non rilasci.
Sopra gli eval stanno i guardrail a runtime e la verifica. Il pattern più efficace è l'auto-controllo avversariale (adversarial self-checking): dopo che un agente produce un risultato — un pezzo di codice, un piano, una correzione — un passaggio di verifica separato cerca di confutarlo. Il codice compila? I test passano? L'output rispetta lo schema? Trattare la verifica come un passaggio distinto e scettico intercetta una larga fetta dei fallimenti che una singola passata sicura di sé non noterebbe. Retry con backoff, circuit breaker ed escalation umana gestiscono il resto.
Osservabilità che puoi davvero debuggare
Quando un sistema autonomo prende decine di decisioni per ogni compito, devi poterle vedere. L'osservabilità — il tracciamento strutturato di ogni prompt, chiamata a strumento e risultato — non è negoziabile. Quando un agente sbaglia, la traccia è il modo per individuare il passaggio esatto in cui ha deviato, riprodurlo e correggere la causa alla radice. I team di ingegneria che trattano le tracce degli agenti come telemetria di prim'ordine debuggano in minuti; quelli che non lo fanno debuggano in giorni.
L'edge e la scalabilità elastica
I carichi di lavoro degli agenti sono a raffica e sensibili alla latenza, il che rende l'edge computing una scelta naturale. Eseguire vicino agli utenti — su piattaforme come Cloudflare Workers e datastore edge — riduce la latenza di andata e ritorno e scala in modo elastico con la domanda. Jobbit Labs si appoggia a questo approccio edge-first per parti della sua infrastruttura di dati e di prodotto: distribuita a livello globale, con autoscaling e pay-for-what-you-use, così la capacità segue il carico invece di restare inutilizzata.
Il livello human-in-the-loop
L'ultimo tassello dell'architettura è quello che manca alla maggior parte delle piattaforme di agenti: un percorso human-in-the-loop (con l'essere umano nel ciclo). L'AI gestisce volume e velocità, ma alcune decisioni — logica sensibile alla sicurezza, formulazioni legali, giudizio di design — spettano a una persona. Ingegnerizzare questo significa costruire punti di handoff puliti dove un esperto umano verificato può intervenire, con un sistema di escrow a protezione della transazione. L'agente e la rete umana non sono livelli in competizione; sono un fallback progettato per design che rende l'intero sistema sicuro su cui fare affidamento.
Lezioni per chi costruisce agenti
Se stai costruendo sistemi agentici, alcuni principi ripagano l'investimento molte volte.
Progetta interfacce degli strumenti rigorose. La maggior parte dei fallimenti degli agenti risale a strumenti ambigui. Schemi rigidi e I/O validato sono l'affidabilità più economica che comprerai mai.
Verifica in modo avversariale. Non fidarti di una prima passata sicura di sé. Aggiungi un passaggio separato il cui compito è confutare il risultato.
Misura con gli eval. Costruisci l'harness di eval prima di scalare l'agente. Non puoi migliorare ciò a cui non sai assegnare un punteggio.
Ingegnerizza il contesto, non riversarlo. Recupera ciò che è rilevante; ricorda ciò che conta. Prompt più grandi non sono prompt migliori.
Metti in sandbox tutto ciò che non è fidato. Se un agente esegue codice, l'isolamento è una precondizione, non una funzionalità.
Mantieni un percorso umano. Il sistema autonomo più sicuro è quello che sa quando chiedere a una persona.
Domande frequenti
Cosa rende un agente AI diverso da un chatbot?
Un chatbot genera testo; un agente AI pianifica e compie azioni — chiamando strumenti, eseguendo codice e iterando verso un obiettivo. La difficoltà ingegneristica è l'affidabilità lungo molti passaggi, dove un singolo errore può compromettere il risultato.
Come si esegue codice generato dall'AI in sicurezza?
Con l'esecuzione sandbox del codice: il codice non fidato gira in un ambiente isolato con risorse limitate, nessun accesso ai segreti e rete vincolata, così l'agente può compilare, testare e correggere senza rischi per la piattaforma.
Perché gli eval sono così importanti per i sistemi di agenti?
Poiché gli agenti sono stocastici, servono eval automatici per misurare la qualità su compiti rappresentativi e intercettare le regressioni prima del rilascio. Senza di essi, i "miglioramenti" sono congetture.
Cosa fa Jobbit Labs?
Jobbit Labs (jobbitlabs.com) è la divisione R&S e dati dietro Jobbit, focalizzata sull'ingegneria più pesante, data-intensive ed enterprise — ricerca, piattaforme dati e le fondamenta degli agenti su cui è costruito il prodotto.
Curioso dell'ingegneria dietro agli agenti che rilasciano software? Esplora jobbit.uk e jobbitlabs.com.