Jedinica 10 / 11

Tijek rada agenta i zadaci u više koraka

Dobici:

  • Primjena rastuće ljestvice složenosti od najjednostavnijeg rješenja do agenta
  • Razlikovanje između obrazaca ulančavanja, usmjeravanja i paralelnog tijeka rada
  • Razbijanje zadatka od više koraka u ciklus planiranja-izvršenja-provjere

Jednostavni ciklus s jednim vozilom uspostavili smo u prethodnoj cjelini. Pravi posao često zahtijeva više koraka, više alata, a ponekad i odluke o grananju: "Pronađite narudžbe koje kasne ovaj mjesec, nacrtajte e-poruku isprike kupcima, sastavite sažetak za upravitelja." U ovoj jedinici pokrivamo obrasce za organiziranje zadataka u više koraka, kada vam je potreban pravi agent, i ciklus planiranja-izvršenja-provjere. Glavno načelo: složenosti onoliko koliko treba.

Skala od najjednostavnijeg rješenja do agenta

Ne zaslužuje svaki zadatak najsloženije rješenje. Penjite se korak po korak na ljestvici složenosti i zaustavite se na najjednostavnijem adekvatnom rješenju:

  1. Pojedinačni poziv: Ako se zadatak rješava jednim pozivom modela (sažeti, klasificirati) zaustavite se ovdje.
  2. Jedan poziv s RAG-om: Ako su potrebne informacije, dodajte pronalaženje i ponovno jedan poziv.
  3. Fiksni tijek rada: Ako su koraci poznati unaprijed, slijedite ih ručno (tijek koda). Model obavlja podposao u svakom koraku, ali vi određujete redoslijed.
  4. Agent vođen modelom: Ako se koraci ne mogu unaprijed znati, model odlučuje kojeg će agenta pozvati i kada. Najmoćnija, ali najskuplja i najrizičnija opcija.

Razlika između tijeka rada i agenta je kritična: u tijeku rada pišete tijek kontrole (predvidljiv, testiran, jeftin). Dajete kontrolu nad rasporedom modelu (fleksibilnom, ali nepredvidivom). Većina korporativnog rada zapravo je tijek rada; pravih agenata je relativno malo.

Savjet: "Mogu li unaprijed napisati korake za ovaj zadatak?" pitati. Ako to možete napisati, izgradite tijek rada - jeftiniji, sigurniji, koji se može testirati. Međutim, ako se koraci razlikuju ovisno o unosu i ne mogu se predvidjeti, potreban je agent.

Tri osnovna obrasca tijeka rada

Ulančavanje upita: Izlaz jednog koraka je ulaz sljedećeg. “Generiraj nacrt → uredi → format.” Svaki korak je jednostavan i fokusiran; lako otkloniti pogreške.

Usmjeravanje: Prvo klasificirate dolazni zahtjev i šaljete ga odgovarajućem stručnjaku. "Je li ovo tehničko pitanje, pitanje naplate ili povrat novca?" → preusmjeri na ispravan podtok. Svaki je put optimiziran vlastitim odzivom i alatima.

Paralelizacija: Izvođenje neovisnih poslova istovremeno i kombiniranje rezultata. "Sažmite 5 dokumenata zasebno, a zatim ih kombinirajte." Ne samo da je brz, već svaki komad privlači punu pažnju.

uzorak

kada

primjer

okovan lancima

Koraci su sekvencijski i ovisni

Skica → uredi → formatiraj

preusmjeriti

Različita obrada ovisno o vrsti unosa

Klasifikacija zahtjeva za podršku

paralelno

Samostalne podradnje

Sažmite više dokumenata zasebno

Agent (petlja)

Koraci se ne mogu unaprijed predvidjeti

Otvoreno istraživanje/popravak

# Uzorak usmjeravanja (konceptualni)type = pattern.classify(request) # "return" | "tehnika" | "invoice"if tour == "return": answer = return_flow(request)elif tur == "technical": answer = technical_flow(request)else: answer = invoice_flow(request)

Ciklus planiranja-izvršenja-verifikacije

Moćan obrazac u stvarnim agentima: imajte plan modela, zatim izvršite, a zatim provjerite. Model rastavlja složen zadatak na pod-korake, izvodi svaki korak pomoću alata i na kraju postavlja pitanje "jesam li postigao cilj?" on provjerava. Korak provjere hvata pogreške zasebnim, svježim izgledom ("ispunjava li ovaj izlaz zadatak?").

# Plan-execute-verify (conceptual)plan = model.uret("Razdijeli ovaj zadatak na korake: " + zadatak)za korak u planu: rezultat = agent_loop(korak) # izvrši uz toolcheck = model.uret("Da li ovaj izlaz zadovoljava zadatak? Reci mi ako nešto nedostaje: " + zadatak + rezultati)if check.missing: # krug ispravka ...

Dvije dobre prakse za duge zadatke: nametanje uvjeta zaustavljanja (maksimalni broj koraka — sprječava beskonačnu petlju) i praćenje napretka (neka agent zapiše što radi kako ga ne bi ometao). Agent, koji nema ograničenje koraka, može se vrtjeti zauvijek ako zapne i trošak će eksplodirati.

Slab/jak dizajn

Slab (sve staviti na jednog ogromnog agenta):

Recite "obavite tu složenu stvar" i pustite je uz neograničene alate.# Rezultat: nepredvidivo ponašanje, rizik od beskonačnih petlji, visoka cijena,# nemoguće otkloniti pogreške.

Snažan (prvi tok, agent samo gdje je potrebno, ograničeno):

Prvo podijelite posao na fiksne korake (usmjeravanje + ulančavanje). Koristite agenta samo u podzadatku gdje su koraci nepoznati; Dodajte ograničenje koraka, praćenje napretka i krug provjere.

Tri mini kućišta

Slučaj 1 — Tijek rada umjesto agenta. Jedan tim je postavio zadatak "zahtjeva za podršku procesu" sa slobodnim agentom; Ponekad bi agent skrenuo 15 stepenica i otišao krivim putem. Koraci su u biti fiksirani (klasificiraj → dohvati relevantne informacije → napiši nacrt → pošalji na odobrenje). Kad smo se prebacili na tijek rada usmjeravanje + ulančavanje, dosljednost se povećala s 58% na 96%, a trošak je prepolovljen.

Slučaj 2 — Paralelno pojačanje. Odvjetnički tim sažimao je jedan po jedan 20 ugovora; Ukupno je trajalo 4 minute. Kad smo se prebacili na paralelni obrazac (svi u isto vrijeme, a zatim kombinirati), vrijeme je smanjeno na 25 sekundi, a kvaliteta je porasla jer je svaki sažetak dobio punu pozornost.

Slučaj 3 — Nije bilo uvjeta zaustavljanja. Istražni agent neprestano je pozivao ista dva alata tražeći informacije koje nije mogao pronaći; akumulirao značajne troškove preko noći. Kad je dodano ograničenje od maksimalnih 8 koraka i pravilo "Ako ne možete pronaći u 3 pokušaja, recite da ne znam", trošak je ostao pod kontrolom i pojavili su se iskreni odgovori "Nisam mogao pronaći".

Uobičajene greške

  • Delegiranje svega agentu: tijek rada je jeftiniji, sigurniji i testiran ako su koraci poznati.
  • Miješanje tijeka rada s agentom: preuzimate li vi ili model kontrolu? Nemojte dizajnirati a da to ne pojasnite.
  • Nepostavljanje uvjeta zaustavljanja: agent ulazi u beskonačnu petlju i akumulira troškove.
  • Nema praćenja napretka: tijekom duge misije, agent biva ometen, ponovno radeći isti posao.
  • Preskakanje kruga provjere: Netočan, ali uvjerljiv izlaz isporučuje se neprovjeren.
Pažnja: Što je agent slobodniji, radijus eksplozije postaje veći. Fleksibilnost nije besplatna; svaka dodatna sloboda dodaje nepredvidivost i rizik. Odaberite najuže adekvatno rješenje.

Ukratko

  • U složenosti se primjenjuje načelo "prema potrebi": jedan poziv → RAG → tijek rada → agent samo ako je stvarno potrebno.
  • U Tijek rada pišete tijek kontrole (predvidljiv); Plan prepuštate modelu (fleksibilan, ali riskantan).
  • Tri osnovna obrasca: ulančavanje (sekvencijalno ovisno), usmjeravanje (distribucija po vrsti), paralelno (neovisni poslovi).
  • Pravi agenti koriste ciklus planiranja-izvršavanja-provjere, uvjet zaustavljanja i praćenje napretka.
  • Kako raste fleksibilnost, povećavaju se nepredvidivost i troškovi; Odaberite najuže adekvatno rješenje.

Zadatak aplikacije

Odaberite zadatak u više koraka iz vlastitog posla (npr. "pripremite i distribuirajte mjesečno izvješće"). (1) Možete li unaprijed napisati korake ovog zadatka? Ako ga možete napisati, dizajnirajte ga kao tijek rada (koji obrazac: ulančavanje/usmjeravanje/paralelno?); Ako ne možete pisati, objasnite zašto je potreban agent. (2) Nacrtajte odabrani dizajn dijagramom u obliku strelice. (3) Ako je agencija: napišite kako ćete postaviti uvjet zaustavljanja, praćenje napretka i krug provjere. (4) Navedite 3 rizika obavljanja istog zadatka s "jedinim razvojnim agentom".

popis za provjeru

  • [ ] Mogu odabrati pravu razinu na ljestvici "složenosti po potrebi".
  • [ ] Mogu razlikovati razliku u kontroli između tijeka rada i agenta.
  • [ ] Mogu mapirati ulančavanje, usmjeravanje i paralelne obrasce u odgovarajuće zadatke.
  • [ ] Mogu postaviti ciklus planiranja-izvršenja-provjere, stanje zaustavljanja i praćenje napretka u agentima.
  • [ ] Imam na umu da prevelika fleksibilnost donosi nepredvidivost i troškove.