Enhet 10 / 11

Agentarbetsflöden och flerstegsuppgifter

Vinster:

  • Tillämpa den ökande komplexiteten från den enklaste lösningen till agenten
  • Att skilja mellan kedja, routing och parallella arbetsflödesmönster
  • Dela upp en flerstegsuppgift i en cykel för planering, genomförande och verifiering

Vi etablerade den enkla cykeln för ett fordon i den föregående enheten. Verkligt arbete kräver ofta flera steg, flera verktyg och ibland förgrenade beslut: "Hitta beställningar som är sena den här månaden, skapa ett e-postmeddelande om ursäkt till kunder, sammanfatta för en chef." I den här enheten tar vi upp mönster för att organisera flerstegsuppgifter, när du behöver en riktig agent, och cykeln för planering-utförande-verifiering. Huvudprincipen: komplexitet så mycket som behövs.

Skala från enklaste lösningen till agent

Inte varje uppgift förtjänar den mest komplexa lösningen. Klättra steg för steg på komplexitetsskalan och stanna vid den enklaste adekvata lösningen:

  1. Single call: Om uppgiften löses av ett enda modellanrop (sammanfatta, klassificera) sluta här.
  2. Enkelsamtal med RAG: Om information krävs, lägg till hämtning och återigen ensamtal.
  3. Fast arbetsflöde: Om stegen är kända i förväg, sekvensera dem manuellt (kodflöde). Modellen gör ett deljobb vid varje steg, men du bestämmer ordningen.
  4. Modelldriven agent: Om stegen inte kan vara kända i förväg bestämmer modellen vilken agent som ska ringas och när. Det mest kraftfulla men dyraste och riskfyllda alternativet.

Skillnaden mellan Workflow och agent är avgörande: I Workflow skriver du kontrollflödet (förutsägbart, testbart, billigt). Du ger kontroll över agendan till modellen (flexibel men oförutsägbar). Det mesta företagets arbete är faktiskt ett arbetsflöde; verkliga agenter är relativt få.

Tips: "Kan jag skriva ut stegen för den här uppgiften i förväg?" be. Om du kan skriva det, bygg ett arbetsflöde — billigare, säkrare, mer testbart. Men om stegen varierar beroende på indata och inte kan förutsägas, krävs en agent.

Tre grundläggande arbetsflödesmönster

Snabbkedja: Utdata från ett steg är ingången från nästa. "Generera utkast → redigera → format." Varje steg är enkelt och fokuserat; lätt att felsöka.

Routing: Du klassificerar först den inkommande förfrågan och skickar den till lämplig expert. "Är den här frågan teknisk, fakturering eller återbetalning?" → omdirigera till korrekt underström. Varje väg är optimerad med sin egen uppmaning och verktyg.

Parallellisering: Köra självständiga jobb samtidigt och kombinera resultaten. "Sammanfatta 5 dokument separat och kombinera sedan." Det är inte bara snabbt, utan varje bit får full uppmärksamhet.

mönster

när

exempel

kedjad

Stegen är sekventiella och beroende

Utkast → redigera → format

omdirigera

Olika bearbetning beroende på ingångstyp

Klassificering av supportförfrågningar

parallell

Självständiga delarbeten

Sammanfatta flera dokument separat

Agent (loop)

Steg kan inte förutsägas i förväg

Öppen forskning/reparation

# Routing mönster (konceptuell) typ = pattern.classify(request) # "return" | "teknik" | "invoice"if tour == "return": answer = return_flow(request)elif tur == "technical": answer = technical_flow(request)else: answer = invoice_flow(request)

Planering-Exekution-Verifieringscykel

Ett kraftfullt mönster hos verkliga agenter: ha modellplanen, exekvera sedan och verifiera den. Modellen delar upp den komplexa uppgiften i delsteg, utför varje steg med verktyg och frågar slutligen "uppnådde jag målet?" han kollar. Verifieringssteget fångar upp fel med ett separat, fräscht utseende ("uppfyller denna utdata uppgiften?").

# Plan-execute-verify (conceptual)plan = model.uret("Dela upp den här uppgiften i steg: " + uppgift)för steg i plan: result = agent_loop(step) # execute with toolscheck = model.uret("Stämmer denna utdata uppgiften? Berätta om det saknas något: " + uppgift + resultat)if check.missing: # correction round

Två goda rutiner för långa uppgifter: införa ett stoppvillkor (maximalt antal steg – förhindrar oändlig loop) och framstegsspårning (låt agenten skriva ner vad han gör så att han inte blir distraherad). Agenten, som inte har någon steggräns, kan snurra för evigt om han fastnar och kostnaden exploderar.

Svag/stark design

Svag (lägger allt på en gigantisk agent):

Säg "få det där komplexa gjort" och släpp det med obegränsade verktyg.# Resultat: oförutsägbart beteende, risk för oändliga loopar, höga kostnader,# omöjligt att felsöka.

Kraftfull (flöde först, agent endast där det behövs, begränsat):

Dela först upp jobbet i fasta steg (routing + kedja). Använd endast agent i deluppgift där stegen är okända; Lägg till steggräns, framstegsspårning och verifieringsrunda.

Tre minifodral

Fall 1 — Arbetsflöde istället för agent. Ett team satte upp uppgiften "process support request" med en fri agent; Ibland vände agenten 15 steg och gick på fel väg. Stegen var i huvudsak fixade (klassificera → hämta relevant information → skriv utkast → skicka in för godkännande). När vi bytte till arbetsflödet för routing + kedja ökade konsistensen från 58 % till 96 % och kostnaden halverades.

Fall 2 — Parallell förstärkning. Ett juridiskt team sammanfattade 20 kontrakt ett efter ett; Det tog 4 minuter totalt. När vi bytte till ett parallellt mönster (allt på samma gång, kombinera sedan) minskade tiden till 25 sekunder och kvaliteten ökade då varje sammanfattning fick full uppmärksamhet.

Fall 3 – Det fanns inget stoppvillkor. En utredande agent ringde oändligt samma två verktyg och letade efter information han inte kunde hitta; ackumulerade betydande kostnader över en natt. När den maximala 8-stegsgränsen och regeln "Om du inte hittar den på 3 försök, säg att jag inte vet"-regeln lades till, hölls kostnaden under kontroll och ärliga "Jag kunde inte hitta den"-svaren kom.

Vanliga misstag

  • Delegera allt till agenten: Arbetsflödet är billigare, säkrare och testbart om stegen är kända.
  • Blanda arbetsflöde med agent: Tar du eller modellen kontroll? Designa inte utan att göra detta tydligt.
  • Att inte ställa in ett stoppvillkor: Agenten går in i en oändlig loop och samlar på sig kostnader.
  • Ingen framstegsspårning: Under ett långt uppdrag blir agenten distraherad och gör samma jobb igen.
  • Hoppa över verifieringsrundan: Felaktigt men troligt utseende levereras okontrollerat.
Observera: Ju friare medlet är, desto större blir sprängradien. Flexibilitet är inte gratis; varje ytterligare frihet tillför oförutsägbarhet och risk. Välj den smalaste lämpliga lösningen.

Sammanfattningsvis

  • I komplexitet gäller principen "efter behov": enstaka samtal → RAG → arbetsflöde → agent endast om det verkligen behövs.
  • I Workflow skriver du kontrollflödet (förutsägbart); Du lämnar agendan till modellen (flexibel men riskabel).
  • Tre grundläggande mönster: kedja (sekventiellt beroende), routing (fördela efter typ), parallella (oberoende jobb).
  • Verkliga agenter använder cykeln plan-kör-verifiera, stopptillstånd och förloppsspårning.
  • När flexibiliteten ökar ökar oförutsägbarheten och kostnaderna; Välj den smalaste lämpliga lösningen.

Applikationsuppgift

Välj en flerstegsuppgift från ditt eget företag (t.ex. "förbereda och distribuera månadsrapport"). (1) Kan du skriva stegen för denna uppgift i förväg? Om du kan skriva det, designa det som ett arbetsflöde (vilket mönster: kedja/routing/parallell?); Om du inte kan skriva, förklara varför en agent behövs. (2) Rita din valda design med ett diagram med en pil. (3) Om byrå: skriv hur du kommer att ställa in stoppvillkor, förloppsspårning och verifieringsrunda. (4) Lista 3 risker med att göra samma uppgift med en "single dev agent".

checklista

  • [ ] Jag kan välja rätt nivå på skalan "komplexitet efter behov".
  • [ ] Jag kan skilja skillnaden i kontroll mellan Workflow och agent.
  • [ ] Jag kan kartlägga kedja, routing och parallella mönster till lämpliga uppgifter.
  • [ ] Jag kan ställa in cykeln plan-exekvera-verifiera, stopptillstånd och förloppsspårning i agenter.
  • [ ] Jag kommer ihåg att för mycket flexibilitet medför oförutsägbarhet och kostnader.