Gli agenti IA domestici dimenticano le azioni completate dopo un riavvio quando il loro piano, i risultati degli strumenti e gli indicatori di completamento esistono solo nella memoria volatile del processo.
Un agente può aggiornare un file, creare un evento, riavviare un container o completare parte di un’elaborazione batch, per poi perdere comunque queste informazioni quando il suo servizio viene ridistribuito o si arresta in modo anomalo. L’effetto collaterale esterno può sopravvivere, mentre la conversazione con il modello, il contatore del ciclo, il piano in sospeso e l’oggetto contenente il risultato dello strumento scompaiono. Dopo l’avvio, l’agente potrebbe ripetere il lavoro o presumere che non sia accaduto nulla. Un recupero durevole richiede il salvataggio dello stato di esecuzione in corrispondenza dei punti di confine che collegano intenzione, chiamata allo strumento, risultato osservabile e passaggio successivo non ancora completato.
La cronologia della conversazione non è uno stato del flusso di lavoro durevole
Una trascrizione della chat può contenere la richiesta dell’utente e la narrazione dell’agente, ma potrebbe non registrare quali effetti collaterali siano stati applicati, quali record siano stati saltati o da quale ramo si debba riprendere l’esecuzione.
La guida di Augment Code allo stato persistente del flusso di lavoro separa l’esecuzione di lunga durata da un singolo processo o da una richiesta sincrona.
L’agente ha bisogno di uno stato strutturato, come ID dell’attività, passaggio corrente, operazioni completate, hash dei risultati degli strumenti, approvazioni in sospeso e numero di tentativi. Ricreare questo stato dalla chat in linguaggio naturale dopo un riavvio è ambiguo.
Le chiamate agli strumenti completate richiedono un punto di commit durevole
Uno strumento può avere esito positivo su un sistema esterno prima che l’agente scriva il proprio indicatore di completamento locale. Un riavvio durante questo intervallo lascia l’azione effettivamente eseguita, ma l’agente non ne è consapevole.
Zylos descrive i confini di esecuzione durevoli che preservano il lavoro completato prima di continuare il recupero.
Un punto di confine affidabile registra l’ID dell’operazione e il risultato in un archivio durevole, oppure utilizza un unico servizio transazionale in grado di applicare insieme l’effetto collaterale e il record di completamento.
Quando il commit atomico è impossibile, lo strumento deve offrire una verifica dello stato, così che l’agente riavviato possa riconciliare gli esiti incerti.
Un semplice snapshot potrebbe non ricostruire un’esecuzione sicura
Salvare i messaggi del modello o lo stato serializzato di un grafo registra ciò che l’agente riteneva in un determinato momento. Non garantisce automaticamente che le chiamate esterne non vengano duplicate durante la riproduzione.
Diagrid distingue i checkpoint dell’applicazione dai runtime che gestiscono direttamente i tentativi, la cronologia degli eventi e il completamento degli effetti collaterali.
La progettazione del recupero deve definire quale codice sia deterministico, quali chiamate agli strumenti siano riproducibili e quali risultati debbano essere letti dalla cronologia anziché eseguiti di nuovo.
Altrimenti, anche un checkpoint corretto potrebbe riprendere l’esecuzione inviando un messaggio duplicato, ripetendo lo spostamento di un file o impartendo un secondo comando a un dispositivo.
Identità stabili di esecuzione e passaggio evitano di avviare accidentalmente una nuova attività
Dopo un riavvio, un nuovo ID della conversazione o dell’esecuzione può far sembrare lo stesso obiettivo dell’utente una nuova attività. L’agente non avrebbe quindi alcuna chiave per trovare il proprio stato precedente.
Inference.sh spiega come l’identità durevole dell’esecuzione consenta a un agente di riprendere dal checkpoint completato più di recente.
Rendi persistente l’ID del flusso di lavoro al di fuori del container e associalo all’utente, all’attività, all’ambito dei dati e alle autorizzazioni. Il rilevamento dei servizi e il bilanciamento del carico non devono creare una nuova esecuzione logica solo perché un altro worker riceve la richiesta.
I passaggi completati devono essere riutilizzati, non nuovamente elaborati
Ripetere le chiamate precedenti al modello può produrre un piano diverso, argomenti diversi per gli strumenti o un’interpretazione diversa di quale lavoro sia completato.
L’articolo di Pydantic sul runtime afferma che i checkpoint completati rimangono completati, mentre il recupero ripete solo il punto di confine che ha avuto esito negativo.
Questo riduce il costo in token e impedisce a un agente riavviato di inventare un secondo percorso attraverso sistemi domestici già modificati.
I risultati memorizzati devono includere prove sufficienti per verificare che l’output dello strumento corrisponda ancora allo stato attuale della destinazione.
Idempotenza e riconciliazione proteggono il recupero dagli effetti duplicati
Lo stato durevole può comunque essere indietro di un passaggio rispetto al sistema esterno. ID delle operazioni, chiavi di idempotenza, verifiche dello stato e azioni compensative gestiscono questa incertezza.
La guida di Restate ai cicli resilienti degli agenti mantiene lo stato dell’iterazione tra i riavvii e supporta una prosecuzione controllata.
L’articolo di ZimaSpace sull’automazione sicura da ripetere mostra perché uno stato finale desiderato sia più sicuro della riproduzione cieca di comandi cumulativi.
Quando l’azione non può essere resa idempotente, l’agente riavviato dovrebbe riconciliare lo stato attuale o fermarsi per una revisione, invece di presumere che l’assenza di un record locale significhi un errore.
I test di riavvio devono includere ogni finestra di errore
Arresta il servizio prima di una chiamata allo strumento, durante la chiamata, dopo l’effetto esterno, dopo il checkpoint locale e mentre è in attesa di approvazione. Ogni riavvio dovrebbe produrre una sola continuazione prevedibile.
DBOS descrive un’esecuzione a prova di arresto anomalo per flussi di lavoro che includono API e interazione umana.
Verifica se le azioni completate vengono riutilizzate, se le azioni incerte vengono riconciliate, se quelle in sospeso restano tali e se nessuna autorizzazione viene rigenerata silenziosamente.
L’agente ricorda il lavoro completato solo quando i progressi vengono archiviati come prove operative durevoli, non semplicemente come testo che il vecchio processo conservava per caso.
FAQ
È sufficiente salvare la trascrizione della chat?
No. La trascrizione potrebbe omettere gli ID delle operazioni, gli effetti collaterali applicati, lo stato dei tentativi, le approvazioni e il punto di confine preciso da cui riprendere l’esecuzione.
L’agente dovrebbe riprodurre ogni chiamata allo strumento dopo un riavvio?
No. Le chiamate completate devono essere riutilizzate dalla cronologia durevole, mentre quelle incerte richiedono idempotenza o riconciliazione prima di qualsiasi nuovo tentativo.
Un checkpoint del database può impedire ogni azione duplicata?
No. Deve essere coordinato con l’effetto collaterale esterno. Un arresto anomalo tra l’effetto e il checkpoint crea comunque un esito incerto.
Hub Tecnologico e AI
Altro da leggere

In che modo un broker segreto fornisce le credenziali a un agente IA senza esporle nei prompt?
Segui l'identità del carico di lavoro, le policy, l'emissione dei token, l'iniezione delle richieste, la redazione, la scadenza e la revoca attraverso un'architettura secretless...

In che modo un sandbox degli strumenti contiene gli effetti collaterali degli agenti IA?
Scopri come l'isolamento, i gate delle capacità, lo stato usa e getta, il controllo dell'egress, le quote e i log di audit limitano gli...

In che modo la decodifica vincolata produce JSON valido secondo lo schema?
Comprendi la compilazione dello schema, il mascheramento dei token, lo stato del parser, i sottoinsiemi supportati, la latenza, il troncamento e perché la validità...

