Umělá inteligence
OpenAgents: Otevřená platforma pro jazykové agenty ve volné přírodě

Nedávný vývoj ukázal, že jazykoví agenti, zejména ti, kteří jsou postaveni na velkých jazykových modelech (LLM), mají potenciál provádět širokou škálu složitých úkolů v různých prostředích pomocí přirozeného jazyka. Primární zaměření většiny rámců jazykových agentů je však v současnosti na usnadnění konstrukce jazykových agentů pro ověření konceptu. Toto zaměření často přichází s malou nebo žádnou pozorností k návrhům na úrovni aplikací a často zanedbává dostupnost těchto agentů pro neodborné uživatele.
K překlenutí současných omezení jazykových agentů přišli vývojáři s OpenAgents framework, otevřená platforma pro hostování a nasazování jazykových agentů ve volné přírodě a přes řadu každodenních úkolů. Rámec OpenAgents je postaven na třech agentech
- Datový agent: Pomáhá s analýzou dat pomocí datových nástrojů a dotazovacích jazyků, jako je SQL, nebo programovacích jazyků, jako je Python.
- Agenti pluginů: Pomáhá tím, že poskytuje přístup k více než 200+ API nástrojům užitečným pro každodenní úkoly.
- Weboví agenti: Pomáhá při procházení webu při zachování vaší anonymity.
Rámec OpenAgents používá webové uživatelské rozhraní optimalizované pro běžná selhání a rychlé reakce ve snaze umožnit obecným uživatelům interakci s funkcemi agenta a zároveň nabídnout výzkumníkům a vývojářům bezproblémové nasazení na jejich lokálních nastaveních. Dalo by se s jistotou říci, že rámec OpenAgents je pokusem poskytnout pevný základ pro usnadnění hodnocení v reálném světě a vytváření inovativních, efektivních a pokročilých jazykových agentů.
V dnešním článku se hlouběji ponoříme do rámce OpenAgents a promluvíme si o něm podrobněji. Budeme mluvit o fungování a architektuře rámce a zároveň diskutovat o společných výzvách, kterým čelíme, a výsledcích. Pojďme tedy začít.
OpenAgents a jazykoví agenti: Úvod
Jazykoví agenti jsou ve svém jádru odvozeni od inteligentních agentů. Tito inteligentní agenti jsou koncipováni tak, aby měli schopnosti autonomního řešení problémů spolu se schopností vnímat své prostředí, rozhodovat se a podle toho jednat. S pokroky ve velkých jazykových modelech využila globální vývojová komunita koncept inteligentních agentů a LLM k vytvoření jazykových agentů. Tito agenti využívají programování přirozeného jazyka (NLP) k provádění široké řady složitých úkolů v různých prostředích a nedávno prokázali pozoruhodný potenciál.
Současné rámce jazykových agentů, jako jsou Gravitas a Chase, poskytují především konzolové rozhraní přizpůsobené vývojářům spolu s implementacemi proof-of-concept. Často však omezují přístup širšímu publiku, zejména těm, kteří nejsou zběhlí v kódování. Současné benchmarky agentů jsou navíc konstruovány vývojáři se specifickými požadavky na deterministické hodnocení, zejména ve scénářích, které vyžadují procházení webu, kódování, využití nástrojů nebo jejich kombinaci.
Ve snaze vyvinout inteligentní a jazykové agenty založené na LLM pro širší uživatelskou základnu nasadili etablovaní hráči jako OpenAI a Microsoft řadu dobře navržených produktů, včetně pokročilé analýzy dat, známé také jako Code Interpreter, a pluginů pro prohlížeče. Přestože jsou tito agenti ve svých funkcích efektivní, nabízejí vývojářské komunitě omezenou pomoc. Toto omezení vzniká proto, že kód obchodní logiky a implementace modelu nebyly open-source, což brání vývojářům a výzkumníkům v jejich dalším prozkoumávání a také omezuje volný přístup pro uživatele.
Ve snaze vyřešit tento problém vývojáři přišli s OpenAgents, open-source platforma pro hostování a používání agentů a v současnosti je postavena na základech tří interních agentů
- Datový agent: Pomáhá s analýzou dat pomocí datových nástrojů a dotazovacích jazyků, jako je SQL, nebo programovacích jazyků, jako je Python.
- Agenti pluginů: Pomáhá tím, že poskytuje přístup k více než 200+ API nástrojům užitečným pro každodenní úkoly.
- Weboví agenti: Pomáhá při procházení webu při zachování vaší anonymity.
Následující obrázek ukazuje platformu OpenAgents pro běžné uživatele, vývojáře a výzkumníky.
- Namísto použití programátorsky orientovaného balíčku nebo konzolí mohou běžní uživatelé komunikovat se třemi agenty v rámci OpenAgents pomocí online webového rozhraní.
- Vývojáři mohou využít obchodní logiku a výzkumné kódy poskytované frameworkem OpenAgents k bezproblémovému nasazení backendu a frontendu pro další vývoj.
- Výzkumníci mají flexibilitu buď vytvářet nové jazykové agenty od začátku, nebo implementovat metody související s agenty pomocí sdílených komponent a příkladů a hodnotit jejich výkon pomocí webového uživatelského rozhraní.
Abychom to shrnuli, rámec OpenAgents má být původně holistickou a realistickou platformou pro vyhodnocování jazykových agentů typu Human-in-the-Loop, která uživatelům umožňuje interagovat s těmito agenty za účelem dokončení široké škály úkolů. interakce agentů spolu s uživatelskou zpětnou vazbou se ukládají a analyzují pro další vývoj a hodnocení.
Pro ty, kteří si nejsou vědomi, Výzva LLM je proces, který umožňuje vývojářům vytvářet instrukce, které chrání před nepřátelskými nebo nesprávnými vstupy, zlepšuje estetiku výstupu a uspokojuje logiku backendu. Během vývojové fáze používají vývojáři pracující na frameworku OpenAgents techniku LLM, aby podtrhli význam efektivní specifikace požadavků na aplikace. Vývojáři však brzy zjistili, že nahromadění těchto instrukcí nebo výzev LLM může být někdy značné, což může ovlivnit schopnosti rámců LLM zpracovávat kontext spolu s omezeními tokenů. Vývojáři také poznamenali, že pro efektivní nasazení těchto agentů v reálném světě by modely agentů neměly vykazovat pouze výjimečný výkon, ale měly by být také schopny řešit širokou škálu interaktivních scénářů v reálném čase. Ačkoli aktuální rámce agentů mají pokrytý výkon, často ignorují úvahy z reálného světa, zejména v reálném čase, který často zatemňuje skutečný potenciál rámců LLM výměnou za odezvu nebo přesnost.
Na následujícím obrázku porovnáváme framework OpenAgents přímo se stávajícími pracemi na benchmarcích na konceptu agentů a vytváření prototypů.
OpenAgents: Návrh a implementace platformy
Systematický design nebo architektura platformy OpenAgents lze rozdělit do dvou primárních složek: Uživatelské rozhranívčetně backendu a frontendu, si Jazykový agent, zahrnující nástroje, jazykové modely a prostředí. Rámec OpenAgents poskytuje rozhraní pro komunikaci mezi uživateli a agenty. Tok interakce v rámci je následující.
Jakmile agenti obdrží vstupy od uživatelů, používají nástroje, které mají k dispozici, k plánování a provádění požadovaných akcí v prostředích. Architektura nebo systematický návrh rámce je demonstrován na následujícím obrázku.
Uživatelské rozhraní
Vývojáři rámce OpenAgents věnovali mnoho přemýšlení a úsilí vývoji nejen vysoce funkčního, ale také uživatelsky přívětivého uživatelského rozhraní poté, co se vypořádali se zátěží hostitelských agentů a opakovaně použitelné obchodní logiky. V důsledku toho se framework OpenAgents může pochlubit tím, že poskytuje podporu pro širokou řadu technických úloh včetně zpracování chyb, operací backendového serveru, streamování dat a mnoha dalších, přičemž primárním cílem je učinit framework OpenAgents uživatelsky přívětivý, ale vysoce efektivní a použitelné zároveň.
Jazykový agent
V rámci OpenAgents má jazykový agent tři základní součásti: rozhraní nástroje, jazykový model a samotné prostředí. Metoda výzvy implementovaná v rámci OpenAgents vytváří sekvenční proces, který agenti mají následovat a který začíná Pozorování -> Úvaha -> Akce. Rámec také vybízí LLM ke generování analyzovatelného textu se zvýšenou účinností a rozhraní nástroje se skládá z analyzátorů, které dokážou převést tyto analyzovatelné texty generované LLM do spustitelných akcí, jako je volání API nebo generování kódu. Tyto akce jsou pak prováděny rámcem v hranicích odpovídajícího prostředí.
Agenti OpenAgents
V jádru OpenAgents jsou tři odlišní agenti: Datový agent která pomáhá s analýzou dat pomocí datových nástrojů a dotazovacích jazyků, jako je SQL, nebo programovacích jazyků, jako je Python, Zásuvní agenti že pomáhá tím, že poskytuje přístup k více než 200+ API nástrojům užitečným pro každodenní úkoly a Weboví agenti který pomáhá při procházení webu při zachování vaší anonymity. Tito agenti mají zkušenosti s jednotlivými doménami podobné zásuvným modulům ChatGPT, avšak na rozdíl od ChatGPT je implementace na OpenAgents založena čistě na aplikačním programovacím rozhraní nebo API v otevřeném jazyce.
Datový agent
Datový agent v rámci OpenAgents byl navržen a nasazen tak, aby řešil širokou škálu úloh souvisejících s daty, se kterými se koncoví uživatelé pravidelně setkávají. Datoví agenti podporují generování a spouštění kódu ve dvou programovacích jazycích, jmenovitě SQL a Python, a agent má také k dispozici několik datových nástrojů, včetně Profilování dat pro poskytování základních údajů, Kaggle Data Search pro vyhledávání datových sad a Nástroj ECharts pro vykreslování interaktivních ECharts. Kromě toho rámec OpenAgents vybízí datového agenta, aby tyto nástroje používal proaktivně a efektivně reagoval na požadavky koncových uživatelů. Kromě toho, vzhledem k vyčerpávajícím požadavkům na kódování, framework OpenAgents volí pro datového agenta vestavěné jazykové modely a spíše než agent generující kód, jsou to nástroje jako Python, ECharts a SQL, které generují kód. S tímto přístupem je framework schopen plně využít programátorskou zdatnost jazykových modelů, a tím snížit zátěž pro datového agenta.
S pomocí těchto datových nástrojů je datový agent schopen řídit četné data-centrické požadavky a zdatně provádět vizualizaci dat, manipulaci a dotazy, čímž překračuje hranice generování kódu a textu. Následující obrázek ukazuje agenta dat v akci a nástroje dostupné běžným uživatelům.
Zástupce pluginů
Agent zásuvných modulů v rámci OpenAgents byl navržen vývojáři pečlivě, aby vyhověl mnohostranným požadavkům uživatelů na každodenní úkoly včetně vyhledávání na internetu, online nakupování, čtení zpráv nebo vytváření webových stránek a aplikací tím, že poskytuje přístup k více než 200 zásuvným modulům se zvláštní pozorností. platba za rozhraní volání funkcí, pingy API a délky odpovědí API. Některé z prominentních pluginů zahrnují
- Vyhledávání Google
- Wolfram Alpha
- Zapier
- Klarna
- Coursera
- Show Me
- Mluvit
- Zeptejte se svéhoPDF
- BizTok
- Klook
Na základě svých potřeb a požadavků si uživatelé mohou vybrat počet pluginů, které chtějí, aby agenti pluginů používali, a fungování je znázorněno na obrázku níže.
Kromě toho, aby uživatelům pomohl v situacích, kdy si nejsou jisti, jaký plugin bude nejlépe vyhovovat jejich požadavkům, nabízí rámec OpenAgents uživatelům funkci, která automaticky vybere pluginy, které jsou pro jejich pokyny nejrelevantnější.
Weboví agenti
Rámec OpenAgents představuje webového agenta jako specializovaný nástroj, jehož úkolem je zvýšit efektivitu a schopnosti chatovacího agenta. Ačkoli chatovací agent stále obsahuje hlavní interakční rozhraní, hladce zahrnuje webového agenta, kdykoli je to nutné. Konečnou odpověď pak webový agent doručí koncovému uživateli a proces je znázorněn na obrázku níže.
Strategie návrhu implementovaná v těchto webových agentech se ukázala být velkým přínosem, protože chatovací agent systematicky zpracovává důležité parametry nebo iniciuje adresy URL, než jsou převedeny na webového agenta, čímž zajišťuje lepší soulad mezi požadavky uživatele a generovaným výstupem. výsledkem je jasná komunikace. Kromě toho tato strategie také umožňuje webovým agentům vyhovět vrstveným a přizpůsobitelným uživatelským dotazům pomocí dynamické víceotáčkové webové navigace spojené s chatovými dialogy. Proto díky jasnému vymezení rolí a odpovědností agentů chatu a multi-browsingu vytváří rámec OpenAgents cestu pro zdokonalení a vývoj každého jednotlivého modulu.
OpenAgents: Praktické aplikace a nasazení v reálném světě
V této části budeme hovořit o trajektorii rámce OpenAgents od teoretizace po nasazení v reálném světě spolu s problémy, s nimiž se setkali, a nasátými poznatky spolu se složitostmi hodnocení, s nimiž se vývojáři potýkali.
Použití výzev k transformaci velkých jazykových modelů na aplikace reálného světa
Při používání výzev LLM pro vytváření aplikací v reálném světě pro koncové uživatele používá framework OpenAgents pokyny k zadání určitých požadavků. Cílem některých instrukcí je zajistit, aby výstup byl v souladu s konkrétním formátem, a tím umožnit zpracování backendové logiky, zatímco cílem jiných instrukcí je zvýšit estetickou přitažlivost výstupu, zatímco zbytek chrání rámec před potenciálním zlomyslné útoky.
Nekontrolovatelné faktory reálného světa
Když vývojáři nasadili rámec OpenAgents v reálném světě, byli přivítáni řadou nekontrolovatelných faktorů reálného světa vyvolaných internetovou infrastrukturou, uživateli, obchodní logikou a dalšími. Tyto neovladatelné faktory nutily vývojáře přehodnotit a přeladit některé předpoklady na základě předchozího výzkumu a nakonec mohly vést k situacím, kdy koncoví uživatelé nemusí být spokojeni s odezvou, kterou framework generuje.
Složitost hodnocení
Přestože konstruovaní agenti zaměření přímo na aplikace mohou mít širší uplatnění a usnadňují lepší vyhodnocení, zvyšuje to složitost vytváření aplikací založených na LLM, což ztěžuje analýzu výkonu aplikací. Kromě toho tento přístup také přispívá k nestabilitě a rozšiřuje systémový řetězec LLM proto je pro framework náročné přizpůsobit se různým komponentám. Proto má smysl vylepšit systémový návrh a provozní logiku těchto agentů, aby se zjednodušily postupy a zajistil se efektivní výstup.
Závěrečné myšlenky
V tomto článku jsme hovořili o frameworku OpenAgents, otevřené platformě pro hostování a nasazování jazykových agentů ve volné přírodě a přes řadu každodenních úkolů. Rámec OpenAgents je postaven na třech agentech: Data Agent, pomáhá s analýzou dat pomocí datových nástrojů a dotazovacích jazyků, jako je SQL, nebo programovacích jazyků, jako je Python, Plugin Agents, pomáhá tím, že poskytuje přístup k více než 200+ API nástrojům užitečným pro každodenní úkoly a Web Agents pomáhá při procházení webu při zachování vaší anonymity. . Rámec OpenAgents používá webové uživatelské rozhraní optimalizované pro běžná selhání a rychlé reakce ve snaze umožnit obecným uživatelům interakci s funkcemi agenta a zároveň nabídnout výzkumníkům a vývojářům bezproblémové nasazení na jejich lokálních nastaveních. Poskytováním transparentní, holistické a nasaditelné platformy se OpenAgents snaží zpřístupnit potenciál LLM širšímu okruhu uživatelů, nejen výzkumníkům a vývojářům, ale také koncovým uživatelům s omezenými technickými znalostmi.