Unità 10 / 11

Flussi di lavoro degli agenti e attività in più fasi

Guadagni:

  • Applicazione della scala crescente di complessità dalla soluzione più semplice all'agente
  • Distinguere tra modelli di concatenamento, instradamento e flusso di lavoro parallelo
  • Suddividere un compito composto da più fasi in un ciclo di pianificazione-esecuzione-verifica

Abbiamo stabilito il ciclo semplice a veicolo singolo nell'unità precedente. Il lavoro reale spesso richiede più passaggi, più strumenti e talvolta decisioni ramificate: "Trova gli ordini che sono in ritardo questo mese, redige un'e-mail di scuse per i clienti, riepiloga per un manager". In questa unità tratteremo i modelli per l'organizzazione di attività in più fasi, quando è necessario un agente reale e il ciclo di pianificazione-esecuzione-verifica. Il principio fondamentale: la complessità quanto la necessità.

Passa dalla soluzione più semplice all'agente

Non tutti i compiti meritano la soluzione più complessa. Salire passo dopo passo sulla scala della complessità e fermarsi alla soluzione adeguata più semplice:

  1. Chiamata singola: se l'attività viene risolta con una chiamata singola del modello (riassumere, classificare), fermarsi qui.
  2. Chiamata singola con RAG: Se sono richieste informazioni aggiungere recupero e ancora chiamata singola.
  3. Flusso di lavoro fisso: se i passaggi sono noti in anticipo, sequenziarli manualmente (flusso di codice). Il modello esegue un lavoro secondario in ogni passaggio, ma sei tu a determinare l'ordine.
  4. Agente basato sul modello: se i passaggi non possono essere conosciuti in anticipo, il modello decide quale agente chiamare e quando. L’opzione più potente ma più costosa e rischiosa.

La differenza tra flusso di lavoro e agente è fondamentale: nel flusso di lavoro si scrive il flusso di controllo (prevedibile, verificabile, economico). Dai il controllo dell'agenda al modello (flessibile ma imprevedibile). La maggior parte del lavoro aziendale è in realtà un flusso di lavoro; gli agenti reali sono relativamente pochi.

Suggerimento: "Posso scrivere in anticipo i passaggi per questa attività?" chiedere. Se puoi scriverlo, costruisci un flusso di lavoro: più economico, più sicuro, più testabile. Tuttavia, se i passaggi variano a seconda dell'input e non possono essere previsti, è necessario un agente.

Tre modelli di flusso di lavoro di base

Concatenamento rapido: l'output di un passaggio è l'input del successivo. "Genera bozza → modifica → formato." Ogni passaggio è semplice e mirato; facile da eseguire il debug.

Routing: prima classifichi la richiesta in arrivo e la invii all'esperto appropriato. "Si tratta di una domanda tecnica, di fatturazione o di rimborso?" → reindirizzare al flusso secondario corretto. Ogni percorso è ottimizzato con i propri suggerimenti e strumenti.

Parallelizzazione: esecuzione simultanea di lavori indipendenti e combinazione dei risultati. "Riassumi 5 documenti separatamente, quindi uniscili." Non solo è veloce, ma ogni pezzo riceve la massima attenzione.

modello

quando

esempio

incatenato

I passaggi sono sequenziali e dipendenti

Bozza → modifica → formato

reindirizzare

Elaborazione diversa a seconda del tipo di input

Classificazione delle richieste di supporto

parallelo

Sottoopere indipendenti

Riepilogare più documenti separatamente

Agente (ciclo)

I passaggi non possono essere previsti in anticipo

Ricerca/riparazione a tempo indeterminato

# Tipo di modello di routing (concettuale) = pattern.classify(richiesta) # "return" | "tecnica" | "fattura"if tour == "ritorno": risposta = flusso_ritorno(richiesta)elif tur == "tecnico": risposta = flusso_tecnico(richiesta)else: risposta = flusso_fattura(richiesta)

Ciclo Progettazione-Esecuzione-Verifica

Un modello potente negli agenti reali: pianificare il modello, quindi eseguirlo, quindi verificarlo. Il modello suddivide il compito complesso in sottofasi, esegue ciascuna fase con strumenti e infine chiede "ho raggiunto l'obiettivo?" controlla. La fase di verifica rileva gli errori con un aspetto nuovo e separato ("questo output soddisfa l'attività?").

# Plan-execute-verify (conceptual)plan = model.uret("Suddividi questa attività in passaggi: " + attività)for step in plan: result = agent_loop(step) # esegui con toolscheck = model.uret("Questo output soddisfa l'attività? Dimmi se manca qualcosa: " + attività + risultati)if check.missing: # giro di correzione ...

Due buone pratiche per attività lunghe: imporre una condizione di arresto (numero massimo di passaggi – impedisce il ciclo infinito) e il monitoraggio dei progressi (chiedere all'agente di annotare ciò che sta facendo in modo da non distrarsi). L'agente, che non ha limiti di passi, può girare all'infinito se rimane bloccato e il costo esploderà.

Design debole/forte

Debole (mettendo tutto su un agente gigante):

Dì "porta a termine quella cosa complessa" e rilasciala con strumenti illimitati.# Risultato: comportamento imprevedibile, rischio di cicli infiniti, costi elevati,# impossibile eseguire il debug.

Potente (flusso prima, agente solo dove necessario, limitato):

Suddividere innanzitutto il lavoro in passaggi fissi (instradamento + concatenamento). Utilizza l'agente solo nell'attività secondaria in cui i passaggi sono sconosciuti; Aggiungi limite di passi, monitoraggio dei progressi e ciclo di verifica.

Tre mini custodie

Caso 1: flusso di lavoro anziché agente. Un team ha impostato l'attività di "elaborazione della richiesta di supporto" con un agente libero; A volte l'agente faceva 15 passi e prendeva la strada sbagliata. I passaggi erano essenzialmente fissi (classificare → recuperare informazioni rilevanti → scrivere bozza → inviare per approvazione). Quando siamo passati al flusso di lavoro routing + concatenamento, la coerenza è aumentata dal 58% al 96% e il costo è stato dimezzato.

Caso 2 — Guadagno parallelo. Un team legale stava riassumendo 20 contratti uno per uno; Ci sono voluti 4 minuti in totale. Quando siamo passati a uno schema parallelo (tutti allo stesso tempo, poi combinati), il tempo è stato ridotto a 25 secondi e la qualità è aumentata poiché ogni riepilogo ha ricevuto la massima attenzione.

Caso 3 – Non c’era alcuna condizione di arresto. Un agente investigativo continuava a chiamare all'infinito gli stessi due strumenti, alla ricerca di informazioni che non riusciva a trovare; accumulato costi significativi durante la notte. Quando è stato aggiunto il limite massimo di 8 passaggi e la regola "Se non lo trovi in ​​3 tentativi, di' che non lo so", il costo è stato tenuto sotto controllo e sono arrivate risposte oneste "Non sono riuscito a trovarlo".

Errori comuni

  • Delegare tutto all'agente: il flusso di lavoro è più economico, sicuro e testabile se i passaggi sono noti.
  • Combinazione del flusso di lavoro con l'agente: tu o il modello prendete il controllo? Non progettare senza chiarire questo aspetto.
  • Non impostare una condizione di arresto: l'agente entra in un ciclo infinito e accumula costi.
  • Nessun monitoraggio dei progressi: durante una lunga missione, l'agente si distrae, svolgendo nuovamente lo stesso lavoro.
  • Saltare il ciclo di verifica: l'output errato ma dall'aspetto plausibile viene fornito senza controllo.
Attenzione: più l'agente è libero, maggiore diventa il raggio dell'esplosione. La flessibilità non è gratuita; ogni libertà aggiuntiva aggiunge imprevedibilità e rischio. Scegliere la soluzione adeguata più ristretta.

In sintesi

  • Nella complessità vale il principio “al bisogno”: singola chiamata → RAG → flusso di lavoro → agente solo se realmente necessario.
  • In Workflow si scrive il flusso di controllo (prevedibile); Si lascia l'agenda al modello (flessibile ma rischioso).
  • Tre modelli di base: concatenamento (dipendente in sequenza), instradamento (distribuito per tipo), parallelo (lavori indipendenti).
  • Gli agenti reali utilizzano il ciclo piano-esecuzione-verifica, la condizione di arresto e il monitoraggio dei progressi.
  • Con l’aumento della flessibilità, aumentano l’imprevedibilità e i costi; Scegliere la soluzione adeguata più ristretta.

Compito dell'applicazione

Scegli un'attività in più fasi della tua attività (ad esempio "preparare e distribuire un rapporto mensile"). (1) Puoi scrivere i passaggi di questa attività in anticipo? Se puoi scriverlo, progettalo come un flusso di lavoro (quale modello: concatenamento/instradamento/parallelo?); Se non puoi scrivere, spiega perché è necessario un agente. (2) Disegna il disegno che hai scelto con un diagramma a forma di scatola-freccia. (3) Se agenzia: scrivi come imposterai la condizione di interruzione, il monitoraggio dei progressi e il ciclo di verifica. (4) Elenca 3 rischi legati allo svolgimento della stessa attività con un "singolo agente di sviluppo".

lista di controllo

  • [] Posso scegliere il livello giusto sulla scala "complessità secondo necessità".
  • [ ] Posso distinguere la differenza di controllo tra flusso di lavoro e agente.
  • [ ] Posso mappare modelli di concatenamento, instradamento e parallelo ai compiti appropriati.
  • [ ] Posso impostare il ciclo piano-esecuzione-verifica, arrestando le condizioni e monitorando i progressi negli agenti.
  • [ ] Tengo presente che troppa flessibilità porta con sé imprevedibilità e costi.