2026-08-01T08:38:59.139Z
Agenti temporanei AI: esecuzione duratura separata dall'agente sanitario
Utilizzare Temporal per l'esecuzione recuperabile, quindi aggiungere progressi, attesa, effetto e ricevute consegnabili prima di chiamare un agente AI sano.
Temporal è una risposta forte a un problema di agente duro: Come si mantiene una esecuzione di lunga durata recuperabile quando i lavoratori si schiantano, i processi riavviano o una dipendenza esterna fallisce? Non è, da solo, una risposta a una domanda diversa: È l'agente sano e ha prodotto il risultato richiesto dall'utente? Il default sicuro è utilizzare lo stato Temporal Workflow come prova di esecuzione, quindi aggiungere quattro ricevute di domanda prima di assegnare un verdetto sanitario: 1. una ricevuta di progresso che mostra una pietra miliare significativa o un delta di uscita; 2. una ricevuta wait che indica il proprietario, la scadenza e la condizione di ripristino; 3. una ricevuta effect che risolva se è avvenuta un'azione sul lato dello strumento; 4. una ricevuta di consegna che verifica l'artefatto o lo stato richiesto. Questa distinzione è importante perché la propria Flusso di lavoro Documentazione di esecuzione di Temporal definisce Running come capace di progredire mentre progredisce attivamente o in attesa di qualcosa . Un flusso di lavoro verde e aperto non può quindi distinguere tra lavoro produttivo, un'attesa legittima di approvazione o una sosta silenziosa. Allo stesso modo, un flusso di lavoro Completed chiuso dimostra che il suo codice ha raggiunto un percorso di completamento; non dimostra automaticamente che una fattura sia stata inviata una volta, che una richiesta di prelievo contenga le modifiche previste o che un rapporto esista alla destinazione promessa. Cosa dimostra Temporal e cosa non dimostra Il modello di esecuzione duratura di Temporal offre a un agente AI preziose garanzie meccaniche. Lo stato del flusso di lavoro persiste anche nel fallimento. Controlli di riproduzione generato comandi contro Storia degli eventi. Le attività isolano le chiamate a rischio di fallimento come le richieste LLM, l'uso degli strumenti e le API esterne dal codice di orchestrazione deterministica. La spiegazione ufficiale di Agenti dinamici AI su Temporal rende esplicito questo confine: l'orchestrazione del flusso di lavoro deve essere deterministica, mentre le decisioni e i risultati degli strumenti di LLM possono rimanere non deterministi all'interno delle attività. Queste proprietà rispondono a diverse domande operative: La registrazione dell'orchestrazione può sopravvivere a un riavvio dei lavoratori? Può il flusso di lavoro riprendere dalla sua storia registrata invece di ricomputare ogni precedente decisione LLM? Un'attività è ancora in fase di ripetizione, in ritardo, fallita o completata? Il flusso di lavoro è aperto, in pausa, cancellato, completato, fallito, terminato o scaduto? Non rispondono a quattro domande specifiche dell'agente: Il piano si è avvicinato all'obiettivo dell'utente, o il circuito è semplicemente attivo? Una pausa è prevista, posseduta e ripresa? Si è verificato un effetto collaterale esterno, specialmente dopo una pausa o un incidente di lavoro? Esiste il risultato finale e soddisfa una verifica di accettazione deterministica? Questa non è una critica di Temporal. È un confine di responsabilità. Il Implementazione dell'agente AI della comunità temporanea dimostra un loop di agenti, chiamate di strumenti, conferma umana, segnali, gestione dello stato e test all'interno di un flusso di lavoro. I suoi appunti richiamano anche una lunga storia di conversazioni, riprovare la visibilità e le considerazioni di stoccaggio della produzione. La semantica delle applicazioni appartiene ancora all'applicazione. Mettere quattro ricevute sopra lo stato di flusso di lavoro Una ricevuta compatta può essere molto più piccola di una trascrizione. Dovrebbe rivelare le prove, la freschezza e l'identità senza caricare richieste, carichi utili di strumenti o segreti. Il ricevimento del progresso deve descrivere un traguardo della domanda, non solo un tempo di battito cardiaco. Documenti temporanei Attività battiti cardiaci come modo per un lavoratore di segnalare la vita e il progresso, conservare i dettagli del progresso per un nuovo tentativo e ricevere l'annullamento. Tale trasporto è utile, ma il carico utile deve portare un delta significativo: il conteggio dei registri elaborati, l'insieme di fonti verificato, l'identificazione delle filiali completata, il digestione degli artefatti o un'altra invariante specifica per l'attività. Un agente può emettere un nuovo timestamp per sempre ripetendo la stessa chiamata fallita. La ricevuta di attesa impedisce l'errore oppostopaging una pausa umana sana nel loop come una stallo. Richiede tre campi: owner : la persona o il sistema in grado di risolvere la dipendenza; deadline : quando l'attesa è in ritardo; resumeToken : il segnale, l'aggiornamento, l'identificazione di approvazione o altra identità che riprende lo stesso lavoro. Mancare uno dei tre rende l'attesa operazionalmente incompleta. In attesa di approvazione senza proprietario è un lavoro abbandonato. Un proprietario senza scadenza può scomparire indefinitamente. Un termine senza identità di curriculum invita a una continuazione duplicata o sbagliata. La ricezione dell'effetto è necessaria perché le attività possono essere ripetute. Guida per la gestione degli errori di Python di Temporal descrive le attività come almeno una volta e raccomanda l'idempotenza: un lavoratore può completare un'azione esterna e incorrere prima del completamento dei registri di servizio. Per un agente, gli stati critici sono none , attempted , verified e unknown . Unknown non è autorizzato a riprovare. Conciliare prima l'ID di operazione stabile con la destinazione. La ricevuta consegnabile chiude il divario all'altra estremità. Dovrebbe legare il flusso di lavoro e eseguire un controllo deterministico dell'identità: file digest, versione del database, ID delle risorse HTTP, commit fuso, risultato di test o verdetto di accettazione strutturato. Un messaggio in lingua naturale done è la prova di una affermazione, non la prova del risultato. Un esperimento su sei casi Il dispositivo ispezionabile utilizzato per questo articolo valuta sei corse con una regola deterministica: Solo la condizione del flusso di lavoro avrebbe ridotto i primi quattro casi a RUNNING e gli ultimi due a COMPLETED . Le ricevute modificano la decisione dell'operatore: Caso Evidenza decisiva Azione sicura Lavorare Recentemente la pietra miliare è cambiata Lascialo stare. In attesa proprietario, scadenza, token di ripresa percorso o aspettare fino alla scadenza Inchiodato . Nessun delta recente e nessuna attesa valida indagare, poi preparare un recupero limitato Effetto incerto ID di operazione stabile non ha verdetto di destinazione riconciliarsi; non riprovare Falso successo Flusso di lavoro completato ma mancano i risultati riaprire l'incidente Completamento sano Completamento, effetto e consegnabile accordo Chiudere con le prove La regola è intenzionalmente conservatrice. Non utilizza un giudice LLM quando è disponibile un controllo deterministico. Conserva uncertain quando le prove non sono d'accordo. E evita anche di "fixare" ogni pausa: un'attesa valida resta un'attesa, non un fallimento. Riprova operativa e lunghe storie senza falso verde Temporal gestisce la meccanica di retry, ma l'applicazione possiede ancora il budget di retry e il limite degli effetti. Per ciascuna attività esterna, portare un ID operativo stabile in ogni tentativo. Registrare il verdetto di impotenza della destinazione quando disponibile. Separare il fallimento transitorio del trasporto dal fallimento permanente dell'input e fermarsi quando il termine di esecuzione rimanente non può soddisfare un altro tentativo di riconciliazione e verifica dei risultati. Per le attività lunghe, combinare tre segnali diversi: Attività freschezza dei battiti cardiaci: il lavoratore ha comunicato di recente? Freschezza di pietra miliare: è cambiato lo stato di applicazione utile? La Commissione ha adottato una proposta di regolamento (CE) n. Un battito di cuore fresco con una pietra miliare inalterata può essere un ciclo. Un battito cardiaco stadio con un ricevimento di destinazione recente può essere un fallimento di segnalazione incerto. Un'attesa esponenziale può essere salutare se il suo tempo di veglia e il suo budget sono espliciti. Nessun tempo merita un verdetto verde. La crescita storica è un altro confine. L'attuale documento Flusso di lavoro Limiti di esecuzione Hard Event History limita i 51.200 eventi o 50 MB, con avvertimenti a 10.240 eventi o 10 MB. Non trasformare tali valori datati in costanti universali; controllare la documentazione corrente e la tua implementazione. Il modello duraturo è quello di mantenere i dati di conversazione voluminosi al di fuori della cronologia del flusso di lavoro quando appropriato, mantenere le identità e le invarianti ridotte al contenuto e utilizzare Continuare come nuovo prima che la pressione della cronologia diventi un'interruzione. Questo crea una pratica divisione del lavoro: Temporal conserva e riprende lo stato di orchestrazione. L'applicazione dell'agente definisce le pietre miliari, la proprietà di attesa, la riconciliazione degli effetti e i controlli di accettazione. Uno strato di salute rivolto all'operatore unisce entrambi gli insiemi di prove e mostra incertezza piuttosto che inventare un verdetto. Tenere la salute separata dall'orchestrazione Per un agente temporaneo AI, l'esecuzione duratura è la base, non il punteggio di salute finale. La riproduzione può ripristinare le decisioni registrate dopo un incidente. I retest di attività possono recuperare i fallimenti transitori. I segnali e gli aggiornamenti possono portare decisioni umane. Nessuna di queste meccaniche dovrebbe essere estesa in una affermazione che l'agente sta progredendo, che un effetto collaterale è accaduto esattamente una volta, o che il risultato dell'utente è presente. Inizia con le quattro ricevute. Rendili piccoli, freschi e legati a workflowId , runId e identità di funzionamento stabili. Prova i sei stati scomodi prima della produzione. Se la scheda di controllo non può mostrare separatamente waiting , stuck , uncertain e false success , nasconde le decisioni che un operatore deve effettivamente prendere. La limitazione è semantica: ogni flusso di lavoro deve definire la propria pietra miliare significativa e il controllo delle consegne. Un agente di verifica della fonte e un agente di pagamento non possono condividere lo stesso predicato di accettazione. Quando non esiste un controllo deterministico degli esiti, etichettare il giudizio e la sua fiducia; non convertire silenziosamente in fatto. Sidewisp è attualmente in anteprima privata. La sua direzione del prodotto è uno strato di salute dell'agente AI, ma un adattatore temporaneo di produzione e la collezione di salute dell'agente vivo non sono presentati qui come capacità spedite. L'utile movimento a breve termine è indipendente da qualsiasi prodotto: mantenere le prove di durata di Temporal, aggiungere le quattro ricevute di domanda e richiedere che siano d'accordo prima di definire un agente sano.