Umělá inteligence
OpenAgents: Otevřená platforma pro jazykové agenty v divočině

Recentní vývoj ukázal, že jazykové agenty, zejména ty postavené na velkých jazycový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. Nicméně, primární zaměření většiny rámců pro jazykové agenty je目前 zaměřeno na usnadnění konstrukce jazykových agentů pro demonstraci konceptu. Tento zaměřený přístup často přichází s malou nebo žádnou pozorností k návrhům na úrovni aplikace a často zanedbává přístupnost těchto agentů pro uživatele bez odborných znalostí.
Aby se překonaly současné omezení jazykových agentů, vývojáři vytvořili OpenAgents framework, otevřenou platformu pro hostování a nasazení jazykových agentů v divočině, a napříč širokou škálou každodenních úkolů. Rámec OpenAgents je postaven kolem tří agentů
- Data Agent : Pomáhá s analýzou dat pomocí nástrojů pro data, a dotazovacími jazyky jako SQL, nebo programovacími jazyky jako Python.
- Plugin Agents : Pomáhá poskytováním přístupu k více než 200+ API nástrojům pro denní úkoly.
- Web Agents : Pomáhá při procházení webu zatímco udržuje vaši anonymitu.
Rámec OpenAgents používá webové uživatelské rozhraní optimalizované pro běžné chyby a rychlé odpovědi v pokusu umožnit běžným uživatelům interagovat s funkcionalitami agentů, zatímco zároveň nabízí výzkumníkům a vývojářům bezproblémový zážitek z nasazení na jejich místních nastaveních. Bylo by bezpečné říci, že rámec OpenAgents je pokus poskytnout pevný základ pro usnadnění hodnocení reálného světa, a vytváření inovativních, účinných a pokročilých jazykových agentů.
V dnešním článku budeme hlouběji zkoumat rámec OpenAgents, a budeme mluvit o rámcích v větších detailech. Budeme mluvit o fungování a architektuře rámců, zatímco také budeme diskutovat běžné výzvy, a výsledky. Takže pojďme začít.
OpenAgents a jazykové agenty : Úvod
Jazykové agenty, ve své podstatě, jsou odvozeny od inteligentních agentů. Tyto inteligentní agenty jsou konceptualizovány tak, aby měly autonomní schopnosti řešení problémů, spolu s schopností vnímat své prostředí, dělat rozhodnutí, a jednat podle toho. S pokroky ve velkých jazycových modelech, globální vývojářská komunita využila konceptu inteligentních agentů a LLM k vytvoření jazykových agentů. Tyto agenty využívají přirozený jazykový program (NLP) k provádění široké škály složitých úkolů v různých prostředích, a nedávno ukázalyremarkable potenciál.
Současné rámce pro jazykové agenty, jako je Gravitas a Chase, primárně poskytují konzolové rozhraní přizpůsobené pro vývojáře, spolu s demonstračními implementacemi. Nicméně, často omezují přístupnost širšímu publiku, zejména těm, kteří nejsou profíky v kódování. Navíc, současné benchmarky agentů jsou konstruovány vývojáři s konkrétními požadavky pro deterministické hodnocení, zejména v scénářích, které vyžadují procházení webu, kódování, využití nástrojů, nebo kombinaci těchto.
V pokusu vyvinout LLM-poháněné inteligentní a jazykové agenty pro širší uživatelskou základnu, zavedené hráči jako OpenAI a Microsoft nasadili řadu dobře navržených produktů, včetně pokročilé analýzy dat, také známé jako Code Interpreter, a prohlížečových pluginů. Ačkoli tyto agenty jsou efektivní ve svých funkcích, poskytují omezenou pomoc vývojářské komunitě. Toto omezení vyplývá z toho, že obchodní logika kódu a modelové implementace nebyly otevřeny, bránící tak vývojářům a výzkumníkům dále je prozkoumat, a omezující také bezplatný přístup pro uživatele.
V pokusu řešit tento problém, vývojáři vytvořili OpenAgents, otevřenou platformu pro hostování a používání agentů, a je目前 postavena na základě tří interních agentů
- Data Agent : Pomáhá s analýzou dat pomocí nástrojů pro data, a dotazovacími jazyky jako SQL, nebo programovacími jazyky jako Python.
- Plugin Agents : Pomáhá poskytováním přístupu k více než 200+ API nástrojům pro denní úkoly.
- Web Agents : Pomáhá při procházení webu zatímco udržuje vaši anonymitu.
Následující obrázek demonstruje platformu OpenAgents pro běžné uživatele, vývojáře a výzkumníky.

- Místo použití programátorově orientovaného balíčku nebo konzolí, běžní uživatelé mohou interagovat s třemi agenty v rámcích OpenAgents pomocí online webového rozhraní.
- Vývojáři mohou využít obchodní logiky a výzkumných kódů poskytovaných rámcem OpenAgents pro bezproblémové nasazení backendu a frontendu pro další vývoj.
- Výzkumníci mají flexibilitu buď vytvářet nové jazykové agenty od začátku, nebo implementovat agentní metody pomocí sdílených komponent a příkladů, a hodnotit jejich výkon pomocí webového rozhraní.
Shrnutí, rámec OpenAgents je původně určen být komplexní a realistickou platformou pro hodnocení jazykových agentů s lidskou smyčkou, která umožňuje uživatelům interagovat s těmito agenty pro dokončení široké škály úkolů, a tyto interakce mezi člověkem a agentem spolu s uživatelskými zpětnými vazbami jsou uloženy a analyzovány pro další vývoj a hodnocení.
Pro ty, kteří nejsou vědomi, LLM prompting je proces, který umožňuje vývojářům vytvářet instrukce, které chrání proti adversářským nebo nesprávným vstupům, vylepšují estetiku výstupu, a přizpůsobují se backend logice. Během fáze vývoje, vývojáři pracující na rámcích OpenAgents používají techniku LLM prompting k podtržení významu specifikace požadavků aplikací účinně. Nicméně, vývojáři brzy zjistili, že vytváření těchto instrukcí nebo LLM promptů může být někdy podstatné a může ovlivnit schopnosti LLM rámců zpracovávat kontext, spolu s omezeními tokenů. Vývojáři také zjistili, že pro efektivní nasazení těchto agentů ve skutečném světě, modely agentů by neměly pouze vykazovat výjimečné výkony, ale měly by také být schopny zvládnout širokou škálu interaktivních scénářů v reálném čase. Ačkoli současné rámce agentů mají pokrytý výkon, často zanedbávají skutečné úvahy, zejména v reálném čase, což často zakrývá skutečný potenciál LLM rámců obcházením odezvy nebo přesnosti.
V následujícím obrázku, srovnáváme rámec OpenAgents přímo s existujícími pracemi na benchmarcích na agentní koncept, a vytváření prototypů.

OpenAgents : Návrh a implementace platformy
Systémový návrh nebo architektura platformy OpenAgents lze rozdělit do dvou primárních komponent: Uživatelské rozhraní, včetně backendu a frontendu, a Jazykový agent, skládající se z nástrojů, jazykových modelů a prostředí. Rámec OpenAgents poskytuje rozhraní pro komunikaci mezi uživateli a agenty. Tok interakce v rámcích je následující.
Agenty používají dostupné nástroje k plánování a provedení požadovaných akcí v prostředích, jakmile obdrží vstupy od uživatelů. Architektura nebo systematický návrh rámců je demonstrován v následujícím obrázku.

Uživatelské rozhraní
Vývojáři rámců OpenAgents vložili mnoho úsilí do vývoje nejen vysoce funkčního, ale také uživatelsky přívětivého rozhraní po překonání velkého množství hostitelských agentů a opakovaně použitelné obchodní logiky. Jako výsledek, rámec OpenAgents nabízí podporu pro širokou škálu technických úkolů, včetně zpracování chyb, backendových serverových operací, datového toku, a mnoho dalšího, s primárním cílem být uživatelsky přívětivý, ale také vysoce efektivní a použitelný.
Jazykový agent
V rámci rámců OpenAgents, jazykový agent má tři základní komponenty: rozhraní nástrojů, jazykový model a samotné prostředí. Metoda prompting implementovaná v rámcích OpenAgents vytváří sekvenční proces pro agenty, který začíná Pozorováním -> Úvahou -> Akcí. Rámec také.promptuje LLM k generování parsovatelného textu s vylepšenou efektivitou, a rozhraní nástrojů se skládá z parserů, které mohou přeložit parsovatelný text generovaný LLM do vykonatelných akcí, jako je volání API nebo generování kódu. Tyto akce jsou pak vykonány rámcem v rámci příslušného prostředí.
OpenAgents’ Agenty
V jádru OpenAgents, existují tři rozdílné agenty: Data Agent který pomáhá s analýzou dat pomocí nástrojů pro data, a dotazovacími jazyky jako SQL, nebo programovacími jazyky jako Python, Plugin Agents který pomáhá poskytováním přístupu k více než 200+ API nástrojům pro denní úkoly, a Web Agents který pomáhá při procházení webu zatímco udržuje vaši anonymitu. Tyto agenty mají individuální doménovou odbornost podobnou pluginům ChatGPT, nicméně na rozdíl od ChatGPT, implementace na OpenAgents je založena čistě na otevřených jazykových API.
Data Agent
Agent pro data v rámcích OpenAgents byl navržen a nasazen tak, aby zvládl širokou škálu úkolů souvisejících s daty, se kterými se koncoví uživatelé setkávají pravidelně. Agent pro data podporuje generování a spouštění kódu ve dvou programovacích jazycích, a to SQL a Python, a agent také má k dispozici několik nástrojů pro data, včetně Data Profiling pro poskytování základních informací o datech, Kaggle Data Search pro vyhledávání datových sad, a ECharts Tool pro vykreslování interaktivních ECharts. Kromě toho, rámec OpenAgents.promptuje agenta pro data, aby tyto nástroje používal proaktivně, aby účinně reagoval na požadavky koncových uživatelů. Navíc, s ohledem na vyčerpávající požadavky na kódování, rámec OpenAgents volí vestavěné jazykové modely pro agenta pro data, a místo toho, aby agent generoval kód, jsou to nástroje jako Python, ECharts a SQL, které generují kód. S tímto přístupem, rámec je schopen využít programovací schopnosti jazykových modelů kompletně, a tím snižuje zátěž na agenta pro data.
S pomocí těchto nástrojů pro data, agent pro data je schopen zvládnout mnoho požadavků souvisejících s daty, a provádí datové vizualizace, manipulace a dotazy efektivně, a tím překračuje hranice generování kódu a textu. Následující obrázek zdůrazňuje agenta pro data v akci, a nástroje dostupné běžným uživatelům.

Plugin Agent
Agent pluginů v rámcích OpenAgents byl navržen vývojáři pečlivě, aby uspokojil multifaceted požadavky uživatelů pro denní úkoly, včetně vyhledávání na internetu, online nákupů, čtení zpráv, nebo vytváření webových stránek a aplikací, poskytováním přístupu k více než 200 pluginům, se zvláštní pozorností k rozhraní volání funkcí, API pingům a délkám odpovědí API. Některé z prominentních pluginů zahrnují
- Google Search
- Wolfram Alpha
- Zapier
- Klarna
- Coursera
- Show Me
- Speak
- AskYourPDF
- BizTok
- Klook
Na základě svých potřeb a požadavků, uživatelé mohou zvolit počet pluginů, které chtějí, aby agent pluginů použil, a fungování je demonstrováno v následujícím obrázku.

Kromě toho, aby uživatelé nebyli nejistí, který plugin bude nejlépe vyhovovat jejich požadavkům, rámec OpenAgents nabízí uživatelům funkci, která automaticky vybírá pluginy, které jsou nejrelevantnější pro jejich instrukce.
Web Agent
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í, bezproblémově začleňuje webového agenta, kdykoli je to nutné. Konečná odpověď je pak doručena koncovému uživateli webovým agentem, a proces je ilustrován v následujícím obrázku.

Designová strategie implementovaná v těchto webových agentech se ukazuje být velmi přínosná, protože chatovací agent zpracovává důležité parametry nebo iniciuje URL systematicky, předtím, než jsou přeneseny k webovému agentovi, zajišťující tak lepší sladění mezi požadavky uživatelů a generovaným výstupem, což vede k jasnější komunikaci. Kromě toho, strategie také umožňuje webovým agentům akomodovat vrstvené a adaptivní uživatelské dotazy, využívající dynamické multi-obrátky webové navigace spojené s chatovacími dialogy. Proto, stanovením rolí a odpovědností chatovacího a multi-procházení agentů jasně, rámec OpenAgents umožňuje rafinaci a evoluci každého jednotlivého modulu.
OpenAgents : Praktické aplikace a nasazení v reálném světě
V této části, budeme mluvit o trajektorii rámců OpenAgents od teoretizace po nasazení v reálném světě, spolu s výzvami, které byly překonány, a znalostmi, které byly získány, spolu s komplexitami hodnocení, které vývojáři řešili.
Používání promptů k transformaci velkých jazykových modelů na reálné aplikace
Když se používají LLM prompty pro stavbu reálných aplikací pro koncové uživatele, rámec OpenAgents používá instrukce promptů pro specifikaci 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, umožňující tak backend logice zpracovat, zatímco cílem jiných instrukcí je vylepšit estetiku výstupu, zatímco zbývající instrukce chrání rámec proti potenciálním útokům.
Neovladatelné faktory reálného světa
Když vývojáři nasadili rámec OpenAgents v reálném světě, byli konfrontováni s řadou neovladatelných faktorů reálného světa, vyvolaných internetovou infrastrukturou, uživateli, obchodními logikami a více. Tyto neovladatelné faktory donutily vývojáře přehodnotit a upravit některé předpoklady na základě předchozích výzkumů, a mohli nakonec vést k situacím, ve kterých koncoví uživatelé nemusí být spokojeni s odpovědí, kterou rámec generuje.
Komplexita hodnocení
Ačkoli konstruované agenty zaměřené přímo na aplikace mohou mít širší uplatnění a usnadňují hodnocení, přidávají to k komplexitě budování aplikací poháněných LLM, což činí obtížným analyzovat výkon aplikací. Kromě toho, tento přístup také přidává k nestabilitě a prodlužuje systémový řetězec LLM, což činí obtížným pro rámec adaptovat se na různé komponenty. Proto má smysl rafinovat systémový design a provozní logiku těchto agentů, aby se zjednodušily postupy a zajistil efektivní výstup.
Závěrečné myšlenky
V tomto článku, jsme mluvili o rámcích OpenAgents, otevřené platformě pro hostování a nasazení jazykových agentů v divočině, a napříč širokou škálou každodenních úkolů. Rámec OpenAgents je postaven kolem tří agentů: Data Agent, který pomáhá s analýzou dat pomocí nástrojů pro data, a dotazovacími jazyky jako SQL, nebo programovacími jazyky jako Python, Plugin Agents, který pomáhá poskytováním přístupu k více než 200+ API nástrojům pro denní úkoly, a Web Agents, který pomáhá při procházení webu zatímco udržuje vaši anonymitu. Rámec OpenAgents používá webové uživatelské rozhraní optimalizované pro běžné chyby a rychlé odpovědi v pokusu umožnit běžným uživatelům interagovat s funkcionalitami agentů, zatímco zároveň nabízí výzkumníkům a vývojářům bezproblémový zážitek z nasazení na jejich místních nastaveních. Poskytováním transparentní, komplexní a nasaditelné platformy, OpenAgents usiluje o to, aby potenciál LLM byl dostupný širšímu spektru uživatelů, nejen výzkumníkům a vývojářům, ale také koncovým uživatelům s omezenými technickými znalostmi.










