Modele și platforme AI
OpenAgents: O platformă deschisă pentru agenți de limbaj în sălbăticie
Dezvoltările recente au demonstrat că agenții de limbaj, în special cei construiți pe modele de limbaj mari (LLM), au potențialul de a efectua o gamă largă de sarcini complexe în medii diverse, utilizând limbajul natural. Cu toate acestea, principala focalizare a majorității cadrelor de agenți de limbaj în prezent este pe facilitarea construirii de agenți de limbaj de demonstrație. Această focalizare vine adesea cu puțină sau deloc atenție pentru proiectarea la nivel de aplicație și adesea neglijează accesibilitatea acestor agenți pentru utilizatorii non-experți.
Pentru a depăși limitările actuale ale agenților de limbaj, dezvoltatorii au creat cadrul OpenAgents, o platformă deschisă pentru găzduirea și implementarea agenților de limbaj în sălbăticie și într-o varietate de sarcini de zi cu zi. Cadrul OpenAgents este construit în jurul a trei agenți
- Agenții de date: Ajută la analiza datelor utilizând unelte de date și limbi de interogare precum SQL sau limbaje de programare precum Python.
- Agenții de plugin: Ajută prin oferirea accesului la peste 200 de unelte API utile pentru sarcini zilnice.
- Agenții web: Ajută la navigarea pe web, menținând anonimitatea.
Cadrul OpenAgents utilizează o interfață de utilizator web optimizată pentru defecte comune și răspunsuri rapide, în încercarea de a permite utilizatorilor generali să interacționeze cu funcționalitățile agenților, în același timp oferind cercetătorilor și dezvoltatorilor o experiență de implementare fără efort pe configurațiile locale. Ar fi sigur să spunem că cadrul OpenAgents este o încercare de a oferi o bază solidă pentru facilitarea evaluărilor din lumea reală și pentru crearea de agenți de limbaj inovatori, eficienți și avansați.
În articolul de astăzi, vom face o analiză mai profundă a cadrului OpenAgents și vom discuta despre arhitectura și funcționarea acestuia, precum și despre provocările întâmpinate și rezultatele obținute. Deci, să începem.
OpenAgents și agenții de limbaj: O introducere
Agenții de limbaj, în esență, sunt derivați din agenți inteligenți. Acești agenți inteligenți sunt concepuți pentru a avea capacități autonome de rezolvare a problemelor, împreună cu capacitatea de a simți mediul, de a lua decizii și de a acționa corespunzător. Cu progresele în modelele de limbaj mari, comunitatea globală de dezvoltare a valorificat conceptul de agenți inteligenți și LLM pentru a crea agenți de limbaj. Acești agenți utilizează programarea limbajului natural (NLP) pentru a efectua o gamă largă de sarcini complexe în medii diverse și au arătat recent un potențial remarcabil.
Cadrele actuale de agenți de limbaj, cum ar fi Gravitas și Chase, oferă în principal o interfață de consolă destinată dezvoltatorilor, împreună cu implementări de demonstrație. Cu toate acestea, ele restricționează adesea accesul la o audiență mai largă, în special cei care nu sunt familiarizați cu programarea. În plus, benchmark-urile actuale de agenți sunt create de dezvoltatori cu cerințe specifice pentru evaluarea deterministă, în special în scenarii care necesită navigare pe web, programare, utilizarea uneltelor sau o combinație a acestora.
În încercarea de a dezvolta agenți de limbaj inteligenți și puternici pe baza LLM pentru o bază mai largă de utilizatori, jucători consacrați precum OpenAI și Microsoft (MSFT ) au implementat o serie de produse bine proiectate, inclusiv Analiza Avansată a Datelor, cunoscută și sub numele de Interpretor de Cod, și plugin-uri pentru browsere. Deși acești agenți sunt eficienți în funcțiunile lor, ei oferă o ajutor limitat comunității de dezvoltare. Această limitare apare deoarece codul de logică de afaceri și implementările modelului nu au fost deschise, împiedicând oportunitățile pentru dezvoltatori și cercetători de a explora în continuare și limitând accesul gratuit pentru utilizatori.
În încercarea de a aborda această problemă, dezvoltatorii au creat OpenAgents, o platformă deschisă pentru găzduirea și utilizarea agenților, și este construită în prezent pe o bază de trei agenți interni
- Agenții de date: Ajută la analiza datelor utilizând unelte de date și limbi de interogare precum SQL sau limbaje de programare precum Python.
- Agenții de plugin: Ajută prin oferirea accesului la peste 200 de unelte API utile pentru sarcini zilnice.
- Agenții web: Ajută la navigarea pe web, menținând anonimitatea.
Următoarea figură demonstrează platforma OpenAgents pentru utilizatori generali, dezvoltatori și cercetători.

- În loc de a utiliza un pachet orientat spre programatori sau console, utilizatorii generali pot interacționa cu cei trei agenți din cadrul OpenAgents utilizând o interfață web online.
- Dezvoltatorii pot utiliza codul de logică de afaceri și codul de cercetare oferit de cadrul OpenAgents pentru a implementa în mod transparent backend și frontend pentru dezvoltări ulterioare.
- Cercetătorii au flexibilitatea de a construi noi agenți de limbaj de la zero sau de a implementa metode legate de agenți utilizând componentele și exemplele partajate și de a evalua performanța utilizând interfața web.
În rezumat, cadrul OpenAgents este în mod original destinat să fie o platformă holistică și realistă pentru evaluarea agenților de limbaj cu implicarea umană, care permite utilizatorilor să interacționeze cu acești agenți pentru a finaliza o gamă largă de sarcini, iar interacțiunile umane și feedback-ul utilizatorilor sunt stocate și analizate pentru dezvoltare și evaluare ulterioară.
Pentru cei care nu sunt familiarizați, promptarea LLM este un proces care permite dezvoltatorilor să creeze instrucțiuni care protejează împotriva intrărilor adverse sau greșite, îmbunătățește estetica ieșirii și se conformează logicii backend. În faza de dezvoltare, dezvoltatorii care lucrează la cadrul OpenAgents utilizează tehnica de promptare LLM pentru a sublinia importanța specificării cerințelor de aplicație în mod eficient. Cu toate acestea, dezvoltatorii au observat curând că acumularea acestor instrucțiuni sau a prompturilor LLM poate fi substanțială și poate afecta capacitatea de a gestiona contextul LLM, precum și limitările de token. Dezvoltatorii au observat, de asemenea, că pentru a implementa acești agenți în mod eficient în lumea reală, modelele de agenți nu trebuie să aibă doar o performanță excepțională, ci și să poată face față unei game largi de scenarii interactive în timp real.
În figura următoare, comparăm cadrul OpenAgents direct cu lucrările existente pe benchmark-uri pe conceptul de agent și construirea de prototipuri.

OpenAgents: Proiectarea și implementarea platformei
Proiectarea sistematică sau arhitectura platformei OpenAgents poate fi împărțită în două componente principale: Interfața de utilizator, inclusiv atât backend, cât și frontend, și Agenții de limbaj, care includ unelte, modele de limbaj și medii. Cadrul OpenAgents oferă o interfață pentru comunicarea între utilizatori și agenți. Fluxul de interacțiune în cadrul este următorul.
Agenții utilizează uneltele disponibile pentru a planifica și a efectua acțiunile necesare în medii odată ce au primit intrări de la utilizatori. Arhitectura sau proiectarea cadrului este demonstrată în imaginea următoare.

Interfața de utilizator
Dezvoltatorii cadrului OpenAgents au pus multă gândire și efort în dezvoltarea unei interfețe de utilizator nu doar funcționale, ci și prietenoase, după ce au abordat o mulțime de agenți și logică de afaceri reutilizabilă. Ca rezultat, cadrul OpenAgents se mândrește cu oferirea de suport pentru o gamă largă de sarcini tehnice, inclusiv gestionarea erorilor, operațiunile serverului backend, streamingul de date și multe altele, cu scopul principal de a face cadrul OpenAgents prietenos, dar și foarte eficient și utilizabil.
Agenții de limbaj
În cadrul OpenAgents, agenții de limbaj au trei componente esențiale: o interfață de unelte, un model de limbaj și mediul însuși. Metoda de promptare implementată în cadrul OpenAgents creează un proces secvențial pentru agenți, care începe cu Observare -> Deliberare -> Acțiune. Cadrul promptează, de asemenea, LLM pentru a genera text parsabil cu eficiență îmbunătățită, iar interfața de unelte este alcătuită din parsori care pot traduce textele parsabile generate de LLM în acțiuni executabile, cum ar fi apeluri API sau generare de cod. Aceste acțiuni sunt executate de cadrul în limitele mediului corespunzător.
Agenții OpenAgents
La baza OpenAgents, există trei agenți distincti: Agenții de date care ajută la analiza datelor utilizând unelte de date și limbi de interogare precum SQL sau limbaje de programare precum Python, Agenții de plugin care ajută prin oferirea accesului la peste 200 de unelte API utile pentru sarcini zilnice, și Agenții web care ajută la navigarea pe web, menținând anonimitatea. Acești agenți au expertiză individuală în domeniu, similară cu plugin-urile ChatGPT, însă, spre deosebire de ChatGPT, implementarea în OpenAgents se bazează pur și simplu pe API-uri de limbaj deschise.
Agenții de date
Agenții de date din cadrul OpenAgents au fost proiectați și implementați pentru a face față unei game largi de sarcini legate de date pe care utilizatorii le întâlnesc în mod regulat. Agenții de date susțin generarea și executarea de cod în două limbaje de programare, și anume SQL și Python, iar agentul are, de asemenea, la dispoziție mai multe unelte de date, inclusiv Profilarea datelor pentru a oferi informații de bază despre date, Căutarea datelor Kaggle pentru căutarea seturilor de date, și Uneltele ECharts pentru a crea grafice interactive ECharts. În plus, cadrul OpenAgents promptează agenții de date să utilizeze aceste unelte proactiv pentru a răspunde eficient la solicitările utilizatorilor. De asemenea, având în vedere cerințele exhaustive de codare, cadrul OpenAgents optează pentru modele de limbaj încorporate pentru agenții de date, și, în loc de a genera cod, uneltele precum Python, ECharts și SQL generează codul. Cu această abordare, cadrul reușește să valorifice complet puterea de programare a modelelor de limbaj și, astfel, reduce presiunea asupra agenților de date.
Cu ajutorul acestor unelte de date, agenții de date sunt capabili să gestioneze numeroase solicitări legate de date, să efectueze vizualizarea, manipularea și interogarea datelor cu profesionalism, depășind astfel limitele generării de cod și text. Figura următoare evidențiază un agent de date în acțiune și uneltele disponibile pentru utilizatorii obișnuiți.

Agenții de plugin
Agenții de plugin din cadrul OpenAgents au fost proiectați de dezvoltatori cu atenție pentru a satisface cerințele utilizatorilor pentru sarcini zilnice, inclusiv căutarea pe internet, cumpărăturile online, citirea știrilor sau crearea de site-uri web și aplicații, oferind acces la peste 200 de unelte API, cu atenție specială pentru interfețele de apelare a funcțiilor, ping-urile API și lungimile răspunsurilor API. Unele dintre plugin-urile proeminente includ
- Căutarea Google
- Wolfram Alpha
- Zapier
- Klarna
- Coursera
- Arată-mi
- Vorbește
- Întreabă-mi PDF
- BizTok
- Klook
Pe baza nevoilor și cerințelor lor, utilizatorii pot alege numărul de plugin-uri pe care agenții de plugin le pot utiliza, iar funcționarea este demonstrată în figura de mai jos.

Mai mult, pentru a ajuta utilizatorii în situațiile în care nu sunt siguri ce plugin ar fi cel mai potrivit pentru cerințele lor, cadrul OpenAgents oferă utilizatorilor o funcție care selectează automat plugin-urile cele mai relevante pentru instrucțiunile lor.
Agenții web
Cadrul OpenAgents prezintă agenții web ca unelte specializate destinate să îmbunătățească eficiența și capacitățile agenților de conversație. Deși agentul de conversație găzduiește în continuare interfața principală de interacțiune, el incorporează în mod transparent agentul web atunci când este necesar. Răspunsul final este livrat utilizatorului final de către agentul web, iar procesul este ilustrat în figura de mai jos.

Strategia de proiectare implementată în acești agenți web se dovedește a fi de mare beneficiu, deoarece agentul de conversație procesează parametri importanți sau inițiază URL-uri în mod sistematic, înainte de a le transfera agentului web, asigurând astfel o mai bună aliniere între cerințele utilizatorului și ieșirea generată, ceea ce duce la o comunicare clară. În plus, strategia permite agenților web să se adapteze la întrebări utilizatorilor stratificate și adaptabile, prin utilizarea unei navigări web dinamice multi-turn, cuplată cu dialoguri de conversație. Prin urmare, prin delimitarea rolurilor și responsabilităților agenților de conversație și navigare web distinct, cadrul OpenAgents face posibilă rafinarea și evoluția fiecărui modul individual.
OpenAgents: Aplicații practice și implementare în lumea reală
În această secțiune, vom discuta despre traiectoria cadrului OpenAgents de la teoretizare la implementare în lumea reală, împreună cu provocările întâmpinate și învățămintele dobândite, precum și complexitățile de evaluare pe care dezvoltatorii le-au abordat.
Folosirea prompturilor pentru a transforma modelele de limbaj mari în aplicații din lumea reală
Atunci când se utilizează prompturi LLM pentru a construi aplicații din lumea reală pentru utilizatorii finali, cadrul OpenAgents utilizează instrucțiuni de prompt pentru a specifica anumite cerințe. Scopul unor dintre aceste instrucțiuni este de a asigura că ieșirea este aliniată cu un anumit format, permițând astfel logicii backend să proceseze, în timp ce scopul altor instrucțiuni este de a îmbunătăți estetica ieșirii, iar restul protejează cadrul împotriva atacurilor potențial maligne.
Factori din lumea reală necontrolabili
Atunci când dezvoltatorii au implementat cadrul OpenAgents în lumea reală, ei s-au confruntat cu o serie de factori din lumea reală necontrolabili, declanșați de infrastructura internetului, utilizatori, logica de afaceri și multe altele. Acești factori necontrolabili i-au determinat pe dezvoltatori să reevalueze și să ajusteze unele ipoteze pe baza cercetărilor anterioare și ar putea duce în cele din urmă la situații în care utilizatorii finali nu sunt mulțumiți de răspunsul generat de cadrul.
Complexitatea evaluării
Deși agenții construiți direct pentru aplicații pot avea o aplicabilitate mai largă și pot facilita o evaluare mai bună, aceasta adaugă complexitate în construirea de aplicații bazate pe LLM, făcând dificilă analiza performanței aplicațiilor. În plus, această abordare adaugă, de asemenea, instabilitate și prelungește lanțul de sistem al LLM, ceea ce face dificilă adaptarea cadrului la diverse componente. Prin urmare, are sens să se rafineze proiectarea sistemului și logica de operare a acestor agenți pentru a simplifica procedurile și a asigura ieșiri eficiente.
Gânduri finale
În acest articol, am discutat despre cadrul OpenAgents, o platformă deschisă pentru găzduirea și implementarea agenților de limbaj în sălbăticie și într-o varietate de sarcini zilnice. Cadrul OpenAgents este construit în jurul a trei agenți: Agenții de date, care ajută la analiza datelor utilizând unelte de date și limbi de interogare precum SQL sau limbaje de programare precum Python, Agenții de plugin, care oferă acces la peste 200 de unelte API utile pentru sarcini zilnice, și Agenții web, care ajută la navigarea pe web, menținând anonimitatea. Cadrul OpenAgents utilizează o interfață de utilizator web optimizată pentru defecte comune și răspunsuri rapide, în încercarea de a permite utilizatorilor generali să interacționeze cu funcționalitățile agenților, în același timp oferind cercetătorilor și dezvoltatorilor o experiență de implementare fără efort pe configurațiile locale. Prin oferirea unei platforme transparente, holistice și implementabile, OpenAgents își propune să facă potențialul LLM accesibil unui spectru mai larg de utilizatori, nu numai cercetătorilor și dezvoltatorilor, ci și utilizatorilor finali cu expertiză tehnică limitată.












