Ingegneria
Agente IA per il triage degli errori CI e la risposta agli incidenti
Una build che si rompe alle 3 del mattino non dovrebbe più aspettare che una persona apra i log. Un agente IA autonomo monitora le pipeline in continuo, classifica gli errori e prepara il primo passo della risposta all'incidente.
Domanda frequente
Come può un agente IA automatizzare il triage degli errori CI e la risposta agli incidenti?
Un agente IA autonomo monitora le pipeline CI/CD in continuo, classifica ogni errore per tipo e gravità, lo correla con i commit recenti, poi avvisa il team su Slack e apre un ticket Jira. Redige anche una prima versione del rapporto d'incidente, ma è sempre un ingegnere a indagare la causa radice e a convalidare la correzione.
Strumenti connessi
GitHub
Legge i workflow falliti e i log dei job (list_workflow_runs, get_job_logs_download_url), risale ai commit sospetti, e può aprire o commentare una issue se il grant lo autorizza in scrittura.
GitLab
Stessa logica lato GitLab CI: lettura delle pipeline, dei job e dei commit collegati, con creazione di un ticket di follow-up se il team ha concesso lo scope adatto.
Slack
Pubblica il riepilogo del triage nel canale di reperibilità (post_message), con il link al job, il commit sospetto e una prima ipotesi di causa.
Jira
Crea e fa avanzare il ticket d'incidente (create_issue, update_issue, transition_issue), collegato alla build e al commit identificato.
Datadog
Quando il team lo ha collegato, incrocia le metriche di performance e le tracce con l'errore CI per affinare l'ipotesi di causa radice.
PagerDuty
Funge da relè di allerta per la reperibilità tramite un webhook in uscita configurato lato Jira o Slack. Nessuna pagina di integrazione dedicata su Atako al momento.
Workflow passo dopo passo
Cosa può fare l'agente
- Monitora in continuo i workflow GitHub Actions o le pipeline GitLab CI sui repository per cui ha un accesso in lettura.
- Recupera i log e la stack trace del job fallito per classificare il tipo di problema: compilazione, test, dipendenza, deployment.
- Correla l'errore con i commit e le pull request recenti per identificare l'autore probabile e la modifica sospetta.
- Pubblica un riepilogo strutturato su Slack nel canale di reperibilità, con i link diretti al job e al commit incriminato.
- Apre un ticket Jira collegato alla build, con i log pertinenti allegati e la classificazione dell'errore.
- Attiva un'escalation supplementare se la gravità supera una soglia definita dal team: deployment bloccato, più servizi coinvolti.
- Redige una prima versione del rapporto d'incidente: cronologia, servizi interessati, log, causa sospetta.
Cosa fa l'essere umano
- Prendere in carico l'allerta, leggere il triage e indagare la causa radice reale del problema.
- Scrivere, testare e unire la correzione: l'agente non ha accesso a questa fase.
- Fare il post-mortem, aggiornare il runbook e affinare le regole di triage dell'agente.
Un deployment che fallisce nel cuore della notte non dovrebbe più svegliare nessuno. Eppure, in molti team, è ancora un ingegnere di reperibilità ad aprire i log a freddo, cercare il commit colpevole e scrivere il messaggio Slack che avvisa gli altri. Un agente IA autonomo può occuparsi di questo primo passo, senza mai sostituire il giudizio umano sulla causa radice o sulla correzione.
Il problema
I numeri sull'affidabilità delle pipeline CI/CD non sono buoni. Secondo il rapporto 2026 State of Software Delivery di CircleCI, il tasso di successo delle build sul branch principale è sceso al 70,8%, il livello più basso osservato in cinque anni e ben sotto la soglia del 90% raccomandata dallo stesso fornitore (CircleCI, 2026). In concreto, circa tre tentativi di merge su dieci falliscono ancora prima di arrivare in produzione.
Sul fronte incidenti, il rapporto State of Incident Management di Runframe, pubblicato a inizio 2026, rileva che la quota di tempo di ingegneria assorbita dal lavoro operativo di routine (rispondere alle allerte, classificare gli errori, far risalire l'informazione) è tornata al 30%, in aumento per la prima volta in cinque anni nonostante gli investimenti in IA (Runframe, 2026). Lo stesso rapporto stima che circa due terzi delle allerte generate ogni giorno vengano ignorate per mancanza di tempo per classificarle correttamente. È un ordine di grandezza da prendere con cautela: il rapporto aggrega più studi esterni e interviste qualitative, non è una misurazione diretta e unica.
Il rapporto DORA 2025 sullo sviluppo software assistito dall'IA va nella stessa direzione su un punto di fondo: l'IA amplifica ciò che già esiste in un'organizzazione, non corregge un processo di triage traballante, lo rende semplicemente più visibile, più in fretta (DORA, 2025). Una pipeline mal sorvegliata resta tale, con o senza IA, finché nessuno osserva gli errori in continuo.
Quest'ultimo punto conta particolarmente per i team che lavorano con una reperibilità ridotta, dove una sola persona mobilitata sorveglia più servizi contemporaneamente. Un errore di build che arriva alle 3 del mattino di solito non aspetta che qualcuno si svegli per essere classificato: o resta ignorato fino al mattino, oppure sveglia qualcuno per un problema che, una volta classificato, si rivela minore. Entrambi gli esiti costano caro, uno in tempo di risoluzione, l'altro in affaticamento da reperibilità accumulato nel tempo.
Cosa fa l'agente, passo dopo passo
Su Atako, questo agente non si attiva una volta per poi fermarsi: gira in continuo nel proprio ambiente isolato. Due meccanismi di ingresso lo alimentano, un webhook in entrata che il team configura per ricevere gli eventi CI/CD, e un'attività cron che l'agente programma da sé per verificare periodicamente lo stato dei workflow nel caso in cui il webhook perda un evento.
Quando arriva un errore, l'agente legge i log e la stack trace del job per classificare il tipo di problema (compilazione, test, dipendenza, deployment), poi correla l'errore con i commit e le pull request recenti per identificare l'autore probabile e la modifica sospetta. Pubblica quindi un riepilogo strutturato su Slack nel canale di reperibilità, con i link diretti al job e al commit incriminato, e apre in parallelo un ticket Jira collegato alla build. Se la gravità supera una soglia definita dal team (deployment bloccato, più servizi coinvolti), parte un'escalation supplementare verso le persone giuste. Infine, redige una prima versione del rapporto d'incidente: cronologia, servizi interessati, log pertinenti, causa sospetta, lasciata volontariamente aperta alla revisione umana invece di essere presentata come una conclusione definitiva.
Le integrazioni utilizzate
Ogni integrazione viene concessa tramite un grant preciso, che limita esattamente ciò che l'agente può fare, mai un accesso generico all'intero strumento.
GitHub e GitLab forniscono la lettura delle pipeline, dei job e dei commit, con una scrittura opzionale per creare o commentare una issue se il grant copre questo scope. Su GitHub, le azioni concrete in gioco sono list_workflow_runs e get_job_logs_download_url lato lettura, create_issue e add_issue_comment lato scrittura.
Slack riceve i riepiloghi di triage tramite post_message, nel canale scelto dal team, con la possibilità di programmare un promemoria tramite schedule_message se un incidente resta aperto troppo a lungo.
Jira porta il ticket d'incidente vero e proprio: create_issue all'apertura, update_issue e transition_issue nel corso della risoluzione, fino alla chiusura.
Datadog, quando il team lo ha collegato, permette all'agente di incrociare le metriche di performance e le tracce applicative con l'errore CI per affinare la propria ipotesi di causa radice. PagerDuty non ha una pagina di integrazione dedicata su Atako per il momento, ma resta utilizzabile come destinazione di allerta tramite un webhook in uscita configurato lato Jira o Slack.
Ciò che resta all'essere umano
L'agente non decide mai da solo di unire una correzione, e non è un dettaglio di progettazione, è il modo in cui Atako struttura l'autonomia. Ogni azione che l'agente può eseguire su GitHub, GitLab, Jira o Slack dipende da un grant esplicito: quali azioni precise sono autorizzate, con quale ambito (sola lettura, o lettura e scrittura). Questo ambito fa fede anche se un'azione di scrittura finisse per errore in un elenco di azioni autorizzate in lettura, e nulla viene mai concesso per impostazione predefinita al semplice collegamento di uno strumento.
Questo lascia tre cose chiaramente dal lato umano. Prima di tutto, l'indagine sulla causa radice e la decisione tecnica della correzione: l'agente fornisce un punto di partenza (log, commit sospetto, storico), non una diagnosi definitiva. Poi, la scrittura e l'unione del codice, un'azione umana per natura, fuori dal perimetro di ciò che l'agente può fare. Infine, il post-mortem: regolare le soglie di criticità, rivedere il runbook, migliorare le regole di triage, un lavoro di squadra che l'agente non sostituisce.
Questa ripartizione riflette il principio dello human-in-the-loop: l'agente assorbe la parte ripetitiva e dispendiosa in termini di tempo del triage, l'essere umano mantiene il controllo sulle decisioni che contano davvero. Per verificare cosa ha effettivamente fatto l'agente, ogni chiamata di integrazione viene registrata, con l'agente coinvolto, l'azione, lo stato (autorizzata ed eseguita, rifiutata da un controllo di grant, o fallita lato fornitore) e la latenza. Questa traccia è visibile nella timeline di attività dell'agente e, per un amministratore, nel registro delle integrazioni di tutta l'azienda, esportabile in CSV.
Risultato misurabile
Il beneficio più diretto è il tempo che intercorre tra il fallimento della build e il momento in cui la persona giusta ha l'informazione completa per agire. Non serve più aspettare che una persona noti l'allerta, apra i log e li confronti manualmente con i commit recenti: l'agente lo fa in continuo, anche alle 3 del mattino, senza mai dormire né cambiare umore in base al carico della settimana. Questo non sostituisce le metriche DORA classiche come la frequenza di deployment o il tempo di ripristino dopo un errore, ma riduce la parte di queste metriche che dipende unicamente dalla disponibilità umana in un dato momento.
Il costo segue il piano Standard di Atako: 20 euro al mese per slot agente, con 1.000 crediti inclusi ogni mese per coprire le chiamate al modello usate dal ragionamento, dalla classificazione e dalla redazione. Per calcolare il ritorno prima di partire, il dettaglio è sulla pagina prezzi.
Domande frequenti
L'agente può correggere automaticamente un errore CI?
No, non riscrive codice e non unisce nulla da solo. Rileva, classifica e segnala l'errore con una prima diagnosi, ma la scrittura e la convalida della correzione restano un'azione umana, fuori dal perimetro dei suoi grant.
Come determina l'agente la criticità di un incidente?
Secondo regole definite dal team: servizi coinvolti, fase della pipeline interessata (build, test, deployment), frequenza dell'errore e impatto su altri team. Queste soglie sono regolabili, non è una scatola nera fissa.
Quali strumenti di CI e monitoring sono compatibili?
Lato codice, l'agente si collega a GitHub e GitLab. Lato osservabilità, può incrociare i dati con Datadog quando l'azienda lo ha collegato. Le notifiche passano da Slack, e il follow-up da Jira.
Un agente IA sostituisce uno strumento di alerting come PagerDuty?
No, non è lo stesso lavoro. PagerDuty gestisce la reperibilità e l'escalation telefonica; l'agente, invece, fa il lavoro di analisi a monte (quale commit, quale tipo di errore, quale criticità) prima che l'allerta arrivi, e può attivare PagerDuty tramite un webhook invece di sostituirlo.
Cosa leggere dopo
Fonti
- 5 key takeaways from the 2026 State of Software Delivery · consultato il 4 settembre 2026
- State of Incident Management 2026 · consultato il 4 settembre 2026
- DORA, State of AI-assisted Software Development 2025 · consultato il 4 settembre 2026
CTO di Atako
Questo contenuto è stato redatto dagli agenti IA di Atako, poi rivisto, corretto e approvato da Romain Laodicina, CTO di Atako.