AutoGen: Viacagentové konverzačné rámce pre finančnú AI
Potom, čo model Gorilla ukázal, že jedno LLM sa dokáže naučiť presne volať tisíce API, prirodzenou otázkou je: čo sa stane, keď viacerým LLM pridelíte odlišné roly a necháte ich navzájom komunikovať? AutoGen (Wu et al., 2023) odpovedá na túto otázku vytvorením rámca pre viacagentovú konverzáciu. Čítať ho dnes pôsobí aktuálne — väčšina produkčných systémov finančnej AI, ktoré vidím navrhovať, štandardne zahŕňa aspoň troch agentov.
Článok
AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation (Wu, Bansal, Zhang a kol., Microsoft Research, 2023) navrhuje rámec, v ktorom „konverzujúci agenti“ — každý podporovaný nejakou kombináciou LLM, nástrojov a ľudského vstupu — posielajú správy jeden druhému, kým nie je úloha dokončená. Rámec zavádza dva vstavané typy agentov: AssistantAgent (poháňaný LLM) a UserProxyAgent (ktorý môže spúšťať kód a odovzdávať ľudský vstup), plus GroupChatManager, ktorý riadi poradie v rámci väčších skupín.
Hlavnou myšliedkou je to, čo autori nazývajú „konverzačné programovanie“: namiesto ručného písania orchestračnej logiky v kóde špecifikujete, čo by mal každý agent robiť prostredníctvom systémových promptov v prirodzenom jazyku a necháte prenos správ spracovať riadenie toku. Článok to demonštruje na riešení matematických úloh, vyhľadávaním rozšírených QA (RAG), rozhodovaní v ALFWorld a aplikácii pre operačný výskum s názvom OptiGuide.
Kľúčové myšlienky
- Zvýšenie presnosti na MATH benchmarku: nastavenie AutoGen s dvoma agentmi (asistent LLM plus proxy vykonávajúca kód) dosahuje 69,48 % na testovacej sade MATH, v porovnaní s 55,18 % pri samostatnom použití GPT-4 — zisk 14 bodov vďaka pridaniu spätnej väzby z vykonávania kódu.
- Človek v slučke (Human-in-the-loop) je prvoradý:
UserProxyAgentmá konfigurovateľnýhuman_input_mode—ALWAYS,NEVERaleboTERMINATE— čo znamená, že môžete zvýšiť alebo znížiť mieru dohľadu bez zmeny logiky agenta. - Dynamický skupinový chat:
GroupChatManagervyberá ďalšieho rečníka na základe stavu konverzácie a nie podľa fixného poradia (round-robin), čo umožňuje vetvenie pracovných postupov v reakcii na vznikajúce výsledky. - Zvýšenie bezpečnosti OptiGuide: pripojenie agenta SafeGuard k pracovnému postupu optimalizácie dodávateľského reťazca zlepšilo F1 skóre detekcie nebezpečného kódu o 8 percentuálnych bodov pri GPT-4 a o 35 bodov pri GPT-3.5, pričom sa kódová základňa používateľa zmenšila zo 430 na 100 riadkov.
- Interaktívne vyhľadávanie: v úlohách QA mohol agent asistent požiadať o dodatočný kontext odoslaním signálu
UPDATE CONTEXT; to sa stalo pri približne 19,4 % otázok v sade Natural Questions a celkové F1 bolo 23,40 %. - Kompozitnosť podľa návrhu: akýkoľvek agent AutoGen je sám o sebe platným „nástrojom“, ktorý môže zavolať iný agent, takže hierarchické linky sa spájajú bez špeciálneho prepojovacieho kódu.
Čo obstojí — a čo nie
Výsledky z MATH a ALFWorld sú solídne — kontrolované, reprodukovateľné porovnania s pomenovanými východiskovými hodnotami pri skutočných benchmarkoch. Číslo 69,48 % je významné, pretože izoluje prínos spätnej väzby z vykonávania kódu v rámci štruktúrovanej konverzačnej slučky.
Slabšou stránkou je analýza nákladov a latencie, respektíve jej absencia. Každý krok GroupChat spúšťa plné volanie LLM s akumulovanou históriou konverzácie. Pracovný postup so štyrmi agentmi a desiatimi kolami znamená minimálne štyridsať volaní LLM, každé s rastúcim kontextovým oknom. Článok neuvádza náklady na tokeny ani latenciu pre žiadnu zo svojich aplikácií. V živom účtovnom systéme spracovávajúcom tisíce transakcií toto opomenutie nie je akademické — určuje to, či je tento prístup vôbec realizovateľný.
Metafora konverzačného programovania je tiež krehkejšia, než sa zdá v demách. GroupChatManager vyberá ďalšieho rečníka tak, že vyzve LLM, aby si vybralo zo zoznamu agentov. Tento výber je sám o sebe pravdepodobnostným krokom generovania textu, čo znamená, že riadenie toku môže zlyhať jemnými spôsobmi, ktoré nevyvolajú výnimky. Pre agenta zapisujúceho do účtovnej knihy — kde záleží na poradí operácií a nesprávne umiestnené volanie nástroja by mohlo poškodiť záznam v denníku — je nedeterministický výber rečníka skutočným rizikom.
Napokon, všetky vyhodnocovacie úlohy sú jednorazové relácie s krátkym horizontom. Chýba experiment, v ktorom by agenti akumulovali stav počas dní, spracovávali protichodné pokyny alebo museli riešiť konflikty medzi staršou pamäťou agenta a novším záznamom v účtovnej knihe. Práve toto sú scenáre, ktoré vznikajú v reálnych účtovných procesoch.
Prečo je to dôležité pre finančnú AI
Dôvod pre použitie viacagentových systémov vo finančnej AI je priamočiary: odsúhlasenie (reconciliation), účtovanie a reportovanie sú prirodzene oddelené záujmy. Beancount linka by mohla mať agenta LedgerReaderAgent, ktorý dopytuje účtovnú knihu len na čítanie, agenta ReconcilerAgent, ktorý porovnáva transakcie s bankovými výpismi, agenta WriterAgent, ktorý navrhuje nové zápisy, a agenta ReviewerAgent, ktorý ich kontroluje podľa pravidiel účtovej osnovy pred akýmkoľvek potvrdením zápisu. Vzor UserProxyAgent z AutoGen je správnou abstrakciou pre WriterAgent — môže vykonať samotný zápis do knihy a vrátiť výsledok ako správu, ktorú skontroluje ReviewerAgent.
Výsledok SafeGuard z OptiGuide je najpriamejšie prenosným zistením: pridanie vyhradeného overovacieho agenta na zachytenie nebezpečných akcií podstatne zlepšilo detekciu a táto detekcia prebehla vo vnútri konverzačnej slučky, a nie ako audit ex post. To je presne architektúra, ktorú by som chcel pre bezpečnosť zápisu v Beancount — verifikátor, ktorý blokuje zápis, a nie taký, ktorý upozorní až po fakte.
Problém nedeterministického výberu rečníka je riešiteľný: môžete predefinovať GroupChatManager pomocou deterministickej funkcie v Pythone, ktorá smeruje na základe obsahu správy. Ale musíte vedieť, že to treba urobiť, a článok to neuvádza ako dôležitý problém.
Čo čítať ďalej
- AgentBench: Evaluating LLMs as Agents (Liu a kol., arXiv:2308.03688, ICLR 2024) — porovnáva LLM v ôsmich odlišných prostrediach agentov vrátane prehliadania webu, kódovania a manipulácie s databázami; kľúčovým zistením je priepasť medzi komerčnými a open-source modelmi, čo priamo ovplyvňuje výber základných modelov pre finančné agentové linky.
- TradingAgents: Multi-Agents LLM Financial Trading Framework (arXiv:2412.20138) — priamo aplikuje vzor AutoGen na finančné trhy so špecializovanými agentmi pre analytikov, výskumníkov, obchodníkov a riadenie rizík; výsledky Sharpeho pomeru a maximálneho poklesu (drawdown) poskytujú prvé reálne výkonnostné údaje pre viacagentové finančné systémy.
- AGENTLESS: Demystifying LLM-based Software Engineering Agents (Xia et al., arXiv:2407.01514) — argumentuje, že jednoduchý dvojfázový prístup bez agentov (lokalizácia, potom oprava) prekonáva zložité viacagentové rámce na SWE-bench; užitočná protiváha k predpokladu, že viac agentov vždy pomôže.
