Strategia AI

Come progettare azioni compensative in un workflow AI

MAIKER HUB10 settembre 20267 min di lettura
Come progettare azioni compensative in un workflow AI

Il workflow ha creato la pratica, prenotato una risorsa e preparato una notifica. L'ultimo passaggio fallisce. Cancellare il record iniziale non libera la risorsa e non ritira la notifica già entrata nella coda.

Quando un processo attraversa più sistemi, il rollback perfetto spesso non esiste. Servono azioni compensative: passi espliciti che neutralizzano, correggono o chiudono gli effetti già prodotti e portano il processo in uno stato accettabile.

Il verbo annullare inganna. Una compensazione può revocare una prenotazione, segnare una pratica come incompleta, emettere una rettifica oppure passare il caso a una persona. Non sempre riporta tutto al punto di partenza. Microsoft lo chiarisce nel pattern Compensating Transaction: lavoro concorrente e regole del processo rendono pericoloso ripristinare alla cieca lo stato precedente.

Capisci quando il retry non basta

AWS separa due percorsi. Il recupero in avanti ripete uno step transitorio e continua. Il recupero indietro applica compensazioni agli step già chiusi.

Situazione

Percorso probabile

Perché

timeout prima di qualsiasi effetto

retry entro budget

lo stesso step può riuscire

effetto confermato, risposta persa

riconciliazione

ritentare può duplicare

input non valido dopo step precedenti

compensazione o correzione manuale

il processo non può avanzare

dipendenza ferma ma stato conservato

pausa o recupero in avanti

annullare può essere inutile

azione irreversibile già eseguita

gestione manuale e stato terminale

non esiste un vero undo

Il primo controllo resta l'idempotenza. I retry idempotenti del workflow AI evitano che una risposta persa produca un secondo invio. La compensazione entra quando alcuni effetti sono certi e il risultato complessivo non può più chiudersi come previsto.

Mappa effetto e compensazione per ogni step

Mappa degli effetti e delle azioni compensative di un workflow AI
La compensazione parte dalla prova dell’effetto, non dal messaggio di errore.Visual editoriale originale MAIKER HUB, prodotto con imagegen

Per ogni passaggio scrivi cosa cambia fuori dal workflow. Chiama il gestionale descrive il mezzo, non l'effetto.

Step

Effetto atteso

Prova

Compensazione candidata

Autorità

crea pratica

nuovo record

record_id

chiudi come annullata

process owner

prenota slot

disponibilità ridotta

reservation_id

libera lo slot

operations

genera documento

file versionato

hash e percorso

marca come superato

document owner

invia messaggio

destinatario raggiunto

receipt del canale

invia rettifica

communication owner

aggiorna prezzo

dato commerciale cambiato

versione e audit

revisione competente

ruolo autorizzato

La tabella non autorizza le azioni. Le rende visibili. Un rimborso, una cancellazione o una rettifica possono avere regole che il workflow non conosce. Il sistema prepara il caso e chiama il ruolo previsto.

Accanto alla compensazione definisci il risultato accettabile. Libera lo slot può essere impossibile se un altro processo lo ha già assegnato. In quel caso l'esito può diventare manual_reallocation, non rolled_back.

Registra la prova di ogni effetto

Una compensazione parte da ciò che è successo, non dall'ultimo messaggio di errore. Conserva identificatori e ricevute per distinguere quattro stati:

  • effetto non iniziato

  • effetto iniziato ma non confermato

  • effetto completato

  • effetto completato e già modificato da un altro processo

Il secondo stato è quello pericoloso. Se non sai se il sistema destinatario ha accettato l'azione, verifica prima di ritentare o compensare. Una chiave idempotente, un identificatore remoto o una query read-only possono chiudere il dubbio.

L'audit trail del workflow AI deve collegare step, versione, input autorizzato, ricevuta e decisione. Un log che dice step failed non permette di capire quale conseguenza esiste ancora.

Segna i punti di non ritorno

Punto di non ritorno e gestione degli effetti irreversibili in un workflow AI
Gli step irreversibili arrivano dopo le validazioni e cambiano il percorso di recupero.Visual editoriale originale MAIKER HUB, prodotto con imagegen

Alcune azioni non si possono annullare in modo sicuro o significativo. Un messaggio letto non torna non letto. Un file scaricato non può essere richiamato. Una decisione contrattuale non diventa nulla perché il record è stato cancellato.

Microsoft raccomanda di identificare gli step irreversibili e metterli dopo le validazioni critiche. Nel workflow, marca almeno:

step_id: send-approved-notice
effect_class: external_communication
reversible: false
preconditions:
  - source_verified
  - content_approved
  - recipient_authorized
required_receipt: channel_delivery_receipt
failure_path: human_review

Se un passaggio irreversibile arriva troppo presto, spostalo. Prima prepara la bozza, valida destinatario e fonte, raccogli l'approvazione. Solo dopo esegui.

Il punto di non ritorno deve cambiare anche il recupero. Prima puoi compensare in automatico dentro un perimetro stretto. Dopo, il sistema conserva le prove e passa alla persona competente.

Progetta compensazioni idempotenti

Anche una compensazione può fallire. Microsoft chiede di registrare il progresso e rendere gli step ripetibili senza moltiplicare gli effetti.

Una richiesta di cancellazione può essere ritentata con la stessa chiave. Una rettifica inviata due volte, invece, crea un secondo problema. Per ciascun passo definisci:

  • chiave univoca della compensazione

  • versione dell'effetto originale

  • precondizione da rileggere

  • esito già applicato

  • ricevuta attesa

  • retry ammesso

  • stato terminale in caso di incertezza

Non usare undo_complete come unico risultato. Distingui almeno compensated, already_compensated, manual_action_required, irreversible_effect_confirmed e compensation_failed.

Scegli l'ordine in base agli effetti

La sequenza inversa è un buon punto di partenza, non una legge. Microsoft osserva che le compensazioni possono seguire un ordine diverso o procedere in parallelo.

Immagina tre step: crea pratica, blocca inventario, invia conferma. Se la conferma è già partita, liberare subito l'inventario può rendere falso il messaggio ricevuto. Potrebbe servire prima una decisione, poi la rettifica, infine lo sblocco.

Costruisci un grafo con dipendenze e vincoli:

effetto originale -> prova -> decisione -> compensazione -> verifica

Due compensazioni indipendenti possono correre insieme. Quelle che modificano lo stesso oggetto devono essere ordinate. Una regola di business può prevalere sulla comodità tecnica.

Usa una disposition card per i casi umani

Quando la compensazione automatica non è sicura, il passaggio umano deve ricevere un caso completo:

case_id
workflow_version
failed_step
confirmed_effects
uncertain_effects
proposed_options
irreversible_actions
decision_authority
decision_due_at
evidence_refs

L'escalation umana di un workflow AI funziona solo se la persona può capire cosa è successo e quali opzioni sono ancora aperte. Uno screenshot dell'errore costringe a ricostruire tutto da capo.

Il modello può riassumere la sequenza e preparare le opzioni. Non interpreta contratto, rimborso, obbligo o autorizzazione. Se manca una prova, scrive unknown.

Riconcilia il processo intero

Una compensazione riuscita non chiude automaticamente il caso. Confronta lo stato finale in ogni sistema con la disposizione approvata.

Controlla:

  1. quali effetti originali restano

  2. quali compensazioni hanno una ricevuta valida

  3. se sono nate nuove versioni o modifiche concorrenti

  4. se messaggi e documenti descrivono ancora lo stato reale

  5. se code e retry sono stati fermati o riaperti

  6. se il caso ha un esito terminale leggibile

I fallimenti ricorrenti o ad alto impatto entrano nel registro degli incidenti AI. Non ogni compensazione è un incidente. Il collegamento serve quando volume, gravità o causa chiedono una risposta più ampia.

Misura casi compensati, casi manuali, durata fino allo stato noto, compensazioni ripetute, effetti incerti e fallimenti della compensazione. Il numero più utile spesso è unknown_effect_count: se resta sopra zero, il processo non è ancora chiuso.

Esempio fittizio

Un workflow prepara l'iscrizione a un laboratorio interno. Crea il record, blocca un posto e genera una mail. Prima dell'invio scopre che il reparto indicato non è ammesso a quella sessione.

Il record esiste e il posto è bloccato. La mail non è partita, come dimostra l'assenza della receipt. Il workflow chiude il record con motivo eligibility_failed, libera il posto usando la stessa chiave della prenotazione e verifica il nuovo conteggio. Nessuna rettifica è necessaria.

In un secondo caso la receipt della mail è incerta. Il sistema non libera subito il posto e non invia una seconda comunicazione. Passa il caso al communication owner, che verifica il canale. La mail era stata consegnata. L'owner approva una rettifica, poi operations libera il posto. Il caso chiude come compensated_with_notice.

Stesso errore, due recuperi. La differenza la fa la prova dell'effetto.

Think, Build, Enable applicato alle compensazioni

Think: elenca effetti, prove, regole, punti di non ritorno e autorità per ogni step.

Build: crea ricevute, chiavi idempotenti, grafo delle compensazioni, disposition card e riconciliazione.

Enable: assegna i casi manuali, prova un effetto incerto e fai chiudere il processo senza cancellare la storia.

Porta workflow, effetti e punti di non ritorno a MAIKER HUB per progettare automazioni e agenti AI con n8n. Il recupero è completo quando ogni conseguenza ha uno stato noto, non quando l'ultimo step diventa verde.

Domande frequenti

Compensazione e rollback sono la stessa cosa?

No. Un rollback atomico ripristina una transazione. La compensazione applica nuove azioni per neutralizzare o gestire effetti già confermati in più sistemi.

Devo compensare sempre in ordine inverso?

No. Dipendenze, concorrenza e regole del processo possono richiedere un ordine diverso. Alcuni step indipendenti possono procedere insieme.

Cosa faccio se anche la compensazione fallisce?

Registra il progresso, ritenta solo gli step dichiarati idempotenti e passa a gestione manuale quando lo stato resta incerto.

Un agent AI può scegliere da solo la compensazione?

Può applicare una regola già approvata entro un perimetro chiuso. Casi ad alto impatto, irreversibili o ambigui passano all'autorità competente.

Devo eliminare il record originale dopo la compensazione?

Di norma no. Conservalo con stato, motivo, ricevute e collegamento alla compensazione. La storia serve per riconciliare e imparare.

Strategia AIAI in azienda