Umjetna inteligencija
OpenAgents: Otvorena platforma za jeziÄne agente u divljini

Nedavni razvoj pokazao je da jeziÄni agenti, posebno oni izgraÄeni na velikim jeziÄnim modelima (LLM), imaju potencijal za obavljanje Å”irokog niza zamrÅ”enih zadataka u razliÄitim okruženjima koristeÄi prirodni jezik. MeÄutim, primarni fokus veÄine okvira jeziÄnih agenata trenutno je na olakÅ”avanju konstrukcije jeziÄnih agenata s dokazom koncepta. Ovaj fokus Äesto dolazi s malo ili nimalo pozornosti na dizajne na razini aplikacije i Äesto zanemaruje dostupnost ovih agenata nestruÄnim korisnicima.
Kako bi premostili trenutna ograniÄenja jeziÄnih agenata, programeri su osmislili Okvir OpenAgents, otvorena platforma za hosting i implementaciju jeziÄnih agenata u divljini i kroz niz svakodnevnih zadataka. Okvir OpenAgents izgraÄen je oko tri agenta
- Agent podataka: Pomaže u analizi podataka koriŔtenjem podatkovnih alata i upitnih jezika poput SQL-a ili programskih jezika poput Pythona.
- Agenti dodataka: Pomaže pružajuÄi pristup viÅ”e od 200+ API alata korisnih za svakodnevne zadatke.
- Web agenti: Pomaže u pregledavanju weba uz zadržavanje vaŔe anonimnosti.
Okvir OpenAgents koristi web korisniÄko suÄelje optimizirano za uobiÄajene kvarove i brze odgovore u pokuÅ”aju da opÄim korisnicima omoguÄi interakciju s funkcionalnostima agenta, dok u isto vrijeme nudi istraživaÄima i programerima besprijekorno iskustvo implementacije na njihovim lokalnim postavkama. Bilo bi sigurno reÄi da je okvir OpenAgents pokuÅ”aj pružanja Ävrstih temelja za olakÅ”avanje evaluacija u stvarnom svijetu i izradu inovativnih, uÄinkovitih i naprednih jeziÄnih agenata.
U danaÅ”njem Äemo Älanku dublje zaroniti u okvir OpenAgents i detaljnije govoriti o okviru. Razgovarat Äemo o radu i arhitekturi okvira, dok Äemo takoÄer raspravljati o zajedniÄkim izazovima s kojima se suoÄavamo i rezultatima. Pa krenimo.
OpenAgents i jeziÄni agenti: Uvod
JeziÄni agenti, u svojoj srži, izvedeni su iz inteligentnih agenata. Ovi inteligentni agenti su konceptualizirani tako da posjeduju autonomne sposobnosti rjeÅ”avanja problema, zajedno sa sposobnoÅ”Äu da osjete svoje okruženje, donose odluke i djeluju u skladu s tim. S napretkom u velikim jeziÄnim modelima, globalna razvojna zajednica iskoristila je koncept inteligentnih agenata i LLM-ova za stvaranje jeziÄnih agenata. Ovi agenti koriste programiranje prirodnog jezika (NLP) za izvoÄenje Å”irokog spektra zamrÅ”enih zadataka u razliÄitim okruženjima, a nedavno su pokazali izuzetan potencijal.
TrenutaÄni okviri jeziÄnih agenata, kao Å”to su Gravitas i Chase, primarno pružaju konzolno suÄelje prilagoÄeno programerima, zajedno s implementacijama dokaza koncepta. MeÄutim, Äesto ograniÄavaju dostupnost Å”iroj publici, osobito onima koji nisu vjeÅ”ti u kodiranju. Osim toga, trenutne referentne vrijednosti agenata konstruiraju programeri sa specifiÄnim zahtjevima za deterministiÄku procjenu, posebno u scenarijima koji zahtijevaju pregledavanje weba, kodiranje, koriÅ”tenje alata ili njihovu kombinaciju.
U nastojanju da razviju inteligentne i jeziÄne agente koje pokreÄe LLM za Å”iru korisniÄku bazu, etablirani igraÄi kao Å”to su OpenAI i Microsoft postavili su niz dobro dizajniranih proizvoda, ukljuÄujuÄi Advanced Data Analysis, takoÄer poznat kao Code Interpreter, i dodatke za preglednik. Iako su ovi agenti uÄinkoviti u svojim funkcijama, oni nude ograniÄenu pomoÄ razvojnoj zajednici. Ovo ograniÄenje proizlazi iz razloga Å”to kod poslovne logike i implementacije modela nisu bili otvorenog koda, Å”to ometa moguÄnosti programera i istraživaÄa da ih dalje istražuju, kao i ograniÄavajuÄi slobodan pristup za korisnike.
U pokuÅ”aju da se pozabave ovim problemom, programeri su smislili OpenAgents, platforma otvorenog koda za hosting i koriÅ”tenje agenata, a trenutno je izgraÄena na temelju tri interna agenta
- Agent podataka: Pomaže u analizi podataka koriŔtenjem podatkovnih alata i upitnih jezika poput SQL-a ili programskih jezika poput Pythona.
- Agenti dodataka: Pomaže pružajuÄi pristup viÅ”e od 200+ API alata korisnih za svakodnevne zadatke.
- Web agenti: Pomaže u pregledavanju weba uz zadržavanje vaŔe anonimnosti.
SljedeÄa slika prikazuje platformu OpenAgents za opÄe korisnike, programere i istraživaÄe.
- Umjesto koriÅ”tenja programerski orijentiranih paketa ili konzola, opÄi korisnici mogu komunicirati s tri agenta u okviru OpenAgents pomoÄu internetskog web suÄelja.
- Razvojni programeri mogu koristiti poslovnu logiku i istraživaÄke kodove koje pruža okvir OpenAgents za neprimjetno postavljanje pozadinskog i suÄelnog dijela za daljnji razvoj.
- IstraživaÄi imaju fleksibilnost izgradnje novih jeziÄnih agenata od nule ili implementacije metoda povezanih s agentima koriÅ”tenjem zajedniÄkih komponenti i primjera te procjene njihove izvedbe pomoÄu web suÄelja.
Ukratko, okvir OpenAgents izvorno je zamiÅ”ljen kao holistiÄka i realistiÄna platforma za evaluaciju jeziÄnog agenta od strane ljudi u petlji koja korisnicima omoguÄuje interakciju s tim agentima kako bi dovrÅ”ili Å”iroku lepezu zadataka, a ovi ljudski- interakcije agenata zajedno s povratnim informacijama korisnika pohranjuju se i analiziraju za daljnji razvoj i procjenu.
Za one koji nisu svjesni, LLM savjetovanje je proces koji programerima omoguÄuje izradu uputa koje Å”tite od kontradiktornih ili pogreÅ”nih unosa, poboljÅ”avaju estetiku izlaza i prate logiku pozadine. Tijekom faze razvoja, programeri koji rade na okviru OpenAgents koriste LLM prompting tehniku āākako bi naglasili važnost uÄinkovitog odreÄivanja zahtjeva aplikacije. MeÄutim, programeri su ubrzo primijetili da nakupljanje ovih uputa ili LLM upita ponekad može biti znaÄajno Å”to može utjecati na moguÄnosti rukovanja kontekstom LLM okvira zajedno s ograniÄenjima tokena. Razvojni programeri takoÄer su primijetili da, kako bi se ovi agenti uÄinkovito implementirali u stvarnom svijetu, modeli agenata ne bi trebali samo pokazivati āāiznimne performanse, veÄ bi takoÄer trebali biti u moguÄnosti uhvatiti se u koÅ”tac sa Å”irokim spektrom interaktivnih scenarija u stvarnom vremenu. Iako trenutni agentski okviri Pokrili su izvedbu, Äesto zanemaruju razmatranja stvarnog svijeta, posebno u stvarnom vremenu, Å”to Äesto zamagljuje pravi potencijal okvira LLM-a time Å”to mijenja brzinu odziva ili toÄnost.
Na sljedeÄoj slici usporeÄujemo okvir OpenAgents izravno s postojeÄim radovima na mjerilima koncepta agenta i izgradnjom prototipova.
OpenAgents: dizajn i implementacija platforme
Sustavni dizajn ili arhitektura platforme OpenAgents može se podijeliti u dvije primarne komponente: KorisniÄko suÄelje, ukljuÄujuÄi pozadinu i suÄelje, i JeziÄni agent, koji ukljuÄuje alate, jeziÄne modele i okruženja. Okvir OpenAgents pruža suÄelje za komunikaciju izmeÄu korisnika i agenata. Tijek interakcije u okviru je sljedeÄi.
Agenti koriste alate koji su im dostupni za planiranje i poduzimanje potrebnih radnji u okruženjima nakon Å”to prime unose od korisnika. Arhitektura ili sustavni dizajn okvira prikazan je na sljedeÄoj slici.
KorisniÄko suÄelje
Razvojni programeri okvira OpenAgents uložili su puno razmiÅ”ljanja i truda u razvoj ne samo vrlo funkcionalnog, veÄ i korisniÄkog korisniÄkog suÄelja nakon Å”to su se uhvatili u koÅ”tac s mnoÅ”tvom agenata hosta i viÅ”ekratne poslovne logike. Kao rezultat toga, okvir OpenAgents može se pohvaliti pružanjem podrÅ”ke za Å”iroku lepezu tehniÄkih zadataka ukljuÄujuÄi rukovanje pogreÅ”kama, operacije pozadinskog poslužitelja, strujanje podataka i joÅ” mnogo toga, s primarnim ciljem da okvir OpenAgents bude prilagoÄen korisniku, ali vrlo uÄinkovit & upotrebljiva u isto vrijeme.
JeziÄni agent
Unutar okvira OpenAgents, jeziÄni agent ima tri bitne komponente: suÄelje alata, jeziÄni model i samo okruženje. Metoda upita implementirana u okviru OpenAgents stvara sekvencijalni proces koji agenti trebaju slijediti, a koji poÄinje s Promatranje -> PromiÅ”ljanje -> Djelovanje. Okvir takoÄer potiÄe LLM da generira parsable tekst s poboljÅ”anom uÄinkovitoÅ”Äu, a suÄelje alata sastoji se od parsera koji mogu prevesti te parsable tekstove koje generiraju LLM-ovi u izvrÅ”ne radnje kao Å”to je upuÄivanje API poziva ili generiranje koda. Ove radnje zatim izvrÅ”ava okvir unutar granica odgovarajuÄeg okruženja.
Agenti OpenAgents
U srži OpenAgentsa postoje tri razliÄita agenta: Data Agent koji pomaže u analizi podataka pomoÄu podatkovnih alata i upitnih jezika poput SQL-a ili programskih jezika poput Pythona, Agenti dodataka tu pomaže pružajuÄi pristup viÅ”e od 200+ API alata korisnih za svakodnevne zadatke, i Web agenti koji pomaže u pregledavanju weba uz zadržavanje vaÅ”e anonimnosti. Ovi agenti imaju struÄnost za pojedinaÄnu domenu sliÄnu ChatGPT dodacima, no za razliku od ChatGPT-a, implementacija na OpenAgents temelji se iskljuÄivo na suÄelju za programiranje aplikacija otvorenog jezika ili API-jima.
Data Agent
Podatkovni agent u okviru OpenAgents dizajniran je i postavljen na naÄin da se nosi sa Å”irokim spektrom zadataka povezanih s podacima s kojima se krajnji korisnici redovito susreÄu. Podatkovni agenti podržavaju generiranje i izvoÄenje koda u dva programska jezika, naime SQL i Python, a agent takoÄer ima nekoliko podatkovnih alata na raspolaganju ukljuÄujuÄi Profiliranje podataka za pružanje osnovnih podataka, Kaggle Data Search za pretraživanje skupova podataka i Alat ECharts za iscrtavanje interaktivnih EChartova. Nadalje, okvir OpenAgents potiÄe podatkovnog agenta da proaktivno koristi ove alate kako bi uÄinkovito odgovorio na zahtjeve krajnjih korisnika. Osim toga, s obzirom na iscrpne zahtjeve kodiranja, okvir OpenAgents odluÄuje se za ugraÄene jeziÄne modele za podatkovnog agenta, a umjesto da agent generira kod, alati kao Å”to su Python, ECharts i SQL generiraju kod. Ovim pristupom, okvir je u moguÄnosti u potpunosti iskoristiti programsku snagu jeziÄnih modela i tako smanjiti optereÄenje podatkovnog agenta.
Uz pomoÄ ovih podatkovnih alata, podatkovni agent je sposoban upravljati brojnim zahtjevima usmjerenim na podatke i struÄno izvodi vizualizaciju podataka, manipulaciju i upite, Äime prelazi granice koda i generiranja teksta. SljedeÄa slika prikazuje podatkovnog agenta na djelu i alate dostupne obiÄnim korisnicima.
Agent za dodatke
Agent dodatka u okviru OpenAgents dizajneri su pažljivo dizajnirali kako bi zadovoljili korisnikove viÅ”estruke zahtjeve za svakodnevne zadatke ukljuÄujuÄi pretraživanje interneta, online kupnju, Äitanje vijesti ili izradu web stranica i aplikacija pružajuÄi pristup do preko 200 dodataka, s posebnom pozornoÅ”Äu plaÄa se na suÄelju za pozivanje funkcija, API pingovima i duljinama API odgovora. Neki od istaknutih dodataka ukljuÄuju
- Google pretraživanje
- Wolfram Alpha
- Zapier
- Klarna
- Coursera
- Pokaži mi
- Govoriti
- Pitajte svojPDF
- BizTok
- Klook
Na temelju svojih potreba i zahtjeva, korisnici mogu odabrati broj dodataka koje žele da agenti dodataka koriste, a rad je prikazan na slici ispod.
Nadalje, kako bi pomogao korisnicima u situacijama kada nisu sigurni koji Äe dodatak najbolje odgovarati njihovim zahtjevima, okvir OpenAgents nudi korisnicima znaÄajku koja automatski odabire dodatke koji su najrelevantniji za njihove upute.
Web agenti
Okvir OpenAgents predstavlja web agenta kao specijalizirani alat Äiji je zadatak poveÄati uÄinkovitost i moguÄnosti chat agenta. Iako agent za chat i dalje sadrži glavno interakcijsko suÄelje, on neprimjetno ukljuÄuje web agenta kad god je to potrebno. KonaÄni odgovor zatim web agent dostavlja krajnjem korisniku, a proces je ilustriran na slici ispod.
Strategija dizajna implementirana u ove web agente pokazala se od velike koristi jer agent za chat obraÄuje važne parametre ili sustavno inicira URL-ove prije nego Å”to se prenesu na web agenta, Äime se osigurava bolja usklaÄenost izmeÄu zahtjeva korisnika i generiranog izlaza, dakle Å”to rezultira jasnom komunikacijom. Nadalje, strategija takoÄer omoguÄuje web agentima da se prilagode slojevitim i prilagodljivim korisniÄkim upitima koriÅ”tenjem dinamiÄne web navigacije s viÅ”e okretanja zajedno s dijalozima za chat. Stoga, jasnim razgraniÄenjem uloga i odgovornosti agenata za Äavrljanje i viÅ”estruko pregledavanje, okvir OpenAgents otvara mjesta za usavrÅ”avanje i razvoj svakog pojedinaÄnog modula.
OpenAgents : PraktiÄne aplikacije i implementacija u stvarnom svijetu
U ovom Äemo odjeljku govoriti o putanji okvira OpenAgents od teoretiziranja do implementacije u stvarnom svijetu, zajedno s izazovima s kojima se susreÄe, te steÄenim uÄenjima i složenostima evaluacije s kojima su se programeri uhvatili u koÅ”tac.
KoriÅ”tenje upita za transformaciju velikih jeziÄnih modela u aplikacije iz stvarnog svijeta
Kada koristite upite LLM-a za izradu aplikacija iz stvarnog svijeta za krajnje korisnike, okvir OpenAgents koristi upute upita za odreÄivanje odreÄenih zahtjeva. Cilj nekih uputa je osigurati da je izlaz usklaÄen s odreÄenim formatom, Äime se omoguÄuje obrada pozadinske logike, dok je cilj drugih uputa poveÄati estetsku privlaÄnost izlaza, dok ostale Å”tite okvir od potencijalnih zlonamjernih napada.
Nekontrolirani Äimbenici stvarnog svijeta
Kada su programeri implementirali okvir OpenAgents u stvarnom svijetu, doÄekao ih je niz nekontroliranih Äimbenika stvarnog svijeta koje je pokrenula internetska infrastruktura, korisnici, poslovna logika i viÅ”e. Ovi Äimbenici koji se ne mogu kontrolirati natjerali su programere da preispitaju i preinaÄe neke pretpostavke na temelju prethodnih istraživanja, a mogli su u konaÄnici dovesti do situacija u kojima krajnji korisnici možda neÄe biti zadovoljni odgovorom koji okvir generira.
Složenost evaluacije
Iako konstruirani agenti usmjereni izravno na aplikacije mogu imati Å”iru primjenu i olakÅ”ati bolju evaluaciju, oni poveÄavaju složenost izrade aplikacija koje pokreÄu LLM, Å”to otežava analizu izvedbe aplikacija. Nadalje, ovaj pristup takoÄer doprinosi nestabilnosti i proÅ”iruje lanac sustava LLMs zbog toga je okviru teÅ”ko prilagoditi se razliÄitim komponentama. Stoga ima smisla poboljÅ”ati dizajn sustava i operativnu logiku ovih agenata kako bi se pojednostavile procedure i osigurao uÄinkovit izlaz.
Final Misli
U ovom smo Älanku govorili o okviru OpenAgents, otvorenoj platformi za hosting i implementaciju jeziÄnih agenata u divljini i kroz niz svakodnevnih zadataka. Okvir OpenAgents izgraÄen je oko tri agenta: Data Agent, pomaže u analizi podataka koriÅ”tenjem podatkovnih alata i upitnih jezika kao Å”to je SQL ili programskih jezika kao Å”to je Python, Plugin Agents, pomaže pružanjem pristupa do viÅ”e od 200+ API alata korisnih za svakodnevne zadatke, a Web Agents pomaže u pregledavanju weba uz zadržavanje vaÅ”e anonimnosti . Okvir OpenAgents koristi web korisniÄko suÄelje optimizirano za uobiÄajene kvarove i brze odgovore u pokuÅ”aju da opÄim korisnicima omoguÄi interakciju s funkcionalnostima agenta, dok u isto vrijeme nudi istraživaÄima i programerima besprijekorno iskustvo implementacije na njihovim lokalnim postavkama. Pružanjem transparentne, holistiÄke platforme koja se može implementirati, OpenAgents ima za cilj uÄiniti potencijal LLM-a dostupnim Å”irem krugu korisnika koji nisu ograniÄeni na istraživaÄe i programere, veÄ i krajnje korisnike s ograniÄenom tehniÄkom struÄnoÅ”Äu.