Un agente è stocastico e a più passi: quando sbaglia al passo 7 di 12, riprodurre il bug rilanciando tutto da capo è frustrante (magari non si ripresenta) e costoso. Il time-travel debugging risolve salvando un checkpoint dello stato a ogni passo del grafo di esecuzione: puoi tornare a un punto qualsiasi, ispezionare cosa il modello "vedeva", modificare un input, e riprendere da lì invece che dall'inizio.
Cosa richiede: uno stato serializzabile (contesto, memoria, risultati dei tool, non riferimenti volatili) e un runtime che lo persista a ogni transizione – è uno dei motivi per cui i framework moderni modellano l'esecuzione come macchina a stati anziché come chiamate annidate.
I vantaggi vanno oltre il debug: ripresa dopo un crash o una pausa senza rifare il lavoro fatto (e ripagato), human-in-the-loop pulito (l'agente si ferma a un checkpoint aspettando l'approvazione, e riparte esatto), e la riproducibilità che rende gli agenti testabili. È lo stesso principio del resume di un workflow: il prefisso già calcolato non si ricalcola – si riparte dal primo passo cambiato.