Agenti Compositi:
Governance e affidabilità
Agenti Compositi:
Governance e affidabilità
Siamo ormai giunti alla fine del 2025 e la conversazione attorno all'Intelligenza Artificiale nelle aziende e nella Pubblica Amministrazione è definitivamente maturata. In pratica, è ormai consolidata la capacità generativa delle AI ("Wow, scrive una poesia!"). Oggi siamo nella fase dell'ingegnerizzazione e della responsabilità, quella che produce (o dovrebbe produrre) valore.
Affidarsi a un singolo modello (LLM) per gestire processi critici è un rischio da evitare quando si parla di produzione e affidabilità. Un LLM monolitico può creare problemi ed è, soprattutto, opaco. In contesti regolati dall'AI Act, dal GDPR e/o da rigide policy aziendali, il "black box" non è per niente consigliabile.
La soluzione è il passaggio ai sistemi ad Agenti Compositi: architetture dove molteplici intelligenze specializzate (modelli o componenti AI) collaborano, orchestrate da regole deterministiche scritte in codice e non (solo) in linguaggio naturale.
Per dimostrare che la governance non è solo teoria, abbiamo rilasciato una demo tecnica pubblica basata su Mastra AI, un framework molto apprezzato per la sua capacità di unire la flessibilità degli LLM con il rigore di TypeScript.
Il concetto alla base è semplice: dividere i compiti per mantenere il controllo. Nell'esempio (un flusso di validazione documentale per la PA), non esiste un unico "cervellone", ma tre agenti distinti:
Nel progetto demo, la decisione di approvare o respingere una pratica non è presa dall'AI, ma da una logica deterministica scritta in TypeScript all'interno del Workflow.
Guardiamo un estratto reale dal file `src/workflow.ts` del nostro progetto:
const governanceStep = createStep({
id: "governanceDecision",
// Usiamo Zod per garantire che i dati siano strutturati
inputSchema: z.object({
score: z.number(),
riskFactors: z.array(z.string()),
}),
execute: async ({ inputData, getInitData }) => {
const { score, riskFactors } = inputData;
// GOVERNANCE DETERMINISTICA
// Se lo score è inferiore a 80, l'AI NON PUÒ approvare.
// Non importa quanto il modello sia "convinto": il codice vince.
// Tuttavia, lo score è calcolato dalla AI questo può esser cambiato per renderlo ancora più robusto (in base ai casi)
if (score < 80) {
return {
status: "REJECTED_MANUAL_REVIEW",
message: `Governance Alert: Score ${score}/100 too low. Risks: ${riskFactors.join(", ")}`,
score,
riskFactors,
};
}
// Solo se il check passa, attiviamo l'agente di approvazione
const approvalResponse = await approvalAgent.generate(
`Request is compliant (Score: ${score}). Generate approval.`
);
return {
status: "APPROVED",
message: approvalResponse.text,
score,
riskFactors,
};
},
});Analizzando il codice sopra e l'output della demo (trovate il file nel repository, link in fondo all'articolo), emergono alcune scelte proprie per uno sviluppo "tailor-made":
Eseguendo la demo, il sistema gestisce due scenari opposti con coerenza:
Usare gli agenti compositi non è una visione per il futuro, è ingegneria applicata disponibile e applicabile già da oggi. Il codice che abbiamo mostrato è una forte semplificazione, ma rappresenta il nucleo di come si possono costruire soluzioni che siano: solide, trasparenti e molto più robuste rispetto a un singolo "prompt" che si spera ben scritto.
Mettiamo a disposizione il codice di questo progetto su GitHub per chiunque voglia esplorare come Mastra AI possa abilitare una governance reale.
Se volete passare da sperimentazioni isolate a un'architettura AI governata, scalabile e sicura, siamo qui per disegnarla insieme a voi.
Per ulteriori informazioni si possono consultare le seguenti risorse:
Data di pubblicazione: 24 dicembre 2025
Ultima revisione: 24 dicembre 2025