AI-mallit ja alustat

OpenAgents: Avoin alusta kieliagentteja varten

mm
Lisää Unite.AI suosikkilähteisiisi Google-palvelussa

Viimeaikaiset kehityssuunnat ovat osoittaneet, että kieliagentit, erityisesti ne, jotka perustuvat suuriin kielen malliin (LLM), kykenevät suorittamaan monia monimutkaisia tehtäviä monissa ympäristöissä luonnollisen kielen avulla. Kuitenkin useimpien kieliagenttikehysten pääpainopiste on tällä hetkellä lähinnä mahdollistamaan kieliagenttien luominen. Tämä painopiste usein tulee pienellä huomiolla sovelluskohtaisiin suunnitteluun ja usein laiminlyö näiden agenttien saatavuuden ei-asiantuntijakäyttäjille.

Kieliagenttien nykyisten rajoitusten ylittämiseksi kehittäjät ovat kehittäneet OpenAgents-kehyksen, avoimen alustan kieliagenttien isännöintiin ja käyttöön sekä arkipäivän tehtävissä. OpenAgents-kehyksessä on kolme agenttia:

  • Data Agent: Auttaa datan analyysissä käyttäen data-työkaluja ja kyselykieliä kuten SQL tai ohjelmointikieliä kuten Python.
  • Plugin Agents: Tarjoaa pääsyn yli 200:een API-työkaluun, jotka ovat hyödyllisiä päivittäisissä tehtävissä.
  • Web Agents: Auttaa verkkoselaamisessa ylläpitäen anonyymiysesi.

OpenAgents-kehyksessä käytetään verkkokäyttöliittymää, joka on optimoitu yleisille virheille ja nopeille vastauksille, jotta yleiset käyttäjät voivat vuorovaikuttaa agenttien toiminnallisuuksien kanssa, samalla tarjoten tutkijoille ja kehittäjille helpon käyttökokemuksen paikallisissa asetuksissa. Voidaan sanoa, että OpenAgents-kehyksen tavoitteena on tarjota vankka perusta kieliagenttien kehittämiseen ja arvioimiseen.

Tässä artikkelissa tutustumme OpenAgents-kehykseen tarkemmin ja keskustelemme siitä, miten se toimii ja mitkä ovat yleisimmät haasteet, joita kehittäjät kohtasivat. Aloitaanko siis.

OpenAgents ja kieliagentit: Johdanto

Kieliagentit ovat perustana älykkäät agentit, jotka on suunniteltu omatoimiseen ongelmanratkaisuun, ympäristön havainnointiin, päätöksentekoon ja toimintaan. Suurten kielen mallien edetessä globaali kehitysyhteisö on hyödyntänyt älykkäiden agenttien ja LLM:n konseptia luodakseen kieliagentteja. Nämä agentit käyttävät luonnollisen kielen ohjelmointia (NLP) suorittaakseen monia monimutkaisia tehtäviä eri ympäristöissä, ja ne ovat viime aikoina osoittaneet merkittävää potentiaalia.

Nykyiset kieliagenttikehykset, kuten Gravitas ja Chase, tarjoavat pääasiassa kehittäjille suunnatun käyttöliittymän ja todistusvoittoiset toteutukset. Kuitenkin ne usein rajoittavat saatavuuden laajemmalle yleisölle, erityisesti niille, jotka eivät ole perehtyneitä ohjelmointiin. Lisäksi nykyiset agenttien vertailu on usein suunniteltu kehittäjien tarpeisiin, erityisesti tilanteissa, joissa vaaditaan determinististä arviointia, kuten verkkoselaamisessa, ohjelmoinnissa, työkalujen käytössä tai niiden yhdistelmissä.

Pyrkimyksenä kehittää LLM-pohjaisia älykkäitä kieliagentteja laajemmalle käyttäjäkunnalle, etabloituneet toimijat kuten OpenAI ja Microsoft (MSFT ) ovat ottaneet käyttöön hyvin suunniteltuja tuotteita, kuten Advanced Data Analysis (tunnetaan myös nimellä Code Interpreter) ja selainlaajennukset. Vaikka nämä agentit ovat tehokkaita tehtävissään, ne tarjoavat vain rajoitetun avun kehitysyhteisölle. Tämä rajoitus johtuu siitä, että liiketoimintalogiikan koodi ja mallien toteutukset eivät ole avoimia, mikä estää kehittäjien ja tutkijoiden mahdollisuuden tutkia niitä syvemmältä ja rajoittaa myös vapaan käytön käyttäjille.

Tätä ongelmaa vastaan kehittäjät ovat kehittäneet OpenAgents-alustan, joka on avoin alusta agenttien isännöintiin ja käyttöön. Alusta on tällä hetkellä rakennettu kolmen sisäisen agentin perustalle:

  • Data Agent: Auttaa datan analyysissä käyttäen data-työkaluja ja kyselykieliä kuten SQL tai ohjelmointikieliä kuten Python.
  • Plugin Agents: Tarjoaa pääsyn yli 200:een API-työkaluun, jotka ovat hyödyllisiä päivittäisissä tehtävissä.
  • Web Agents: Auttaa verkkoselaamisessa ylläpitäen anonyymiysesi.

Seuraavassa kuvassa on esitetty OpenAgents-alusta yleisille käyttäjille, kehittäjille ja tutkijoille.

  1. Yleiset käyttäjät voivat vuorovaikuttaa kolmen agentin kanssa OpenAgents-kehyksessä käyttäen verkkokäyttöliittymää.
  2. Kehittäjät voivat käyttää OpenAgents-kehyksen liiketoimintalogiikkaa ja tutkimuskoodia järjestelmän takaisin ja eteenpäin kehittämiseen.
  3. Tutkijat voivat joko luoda uusia kieliagentteja alusta asti tai toteuttaa agenttien liittyviä menetelmiä ja arvioida niiden suorituskykyä verkkokäyttöliittymän avulla.

Yhteenvetona voidaan sanoa, että OpenAgents-kehyksen tavoitteena on olla kokonainen ja realistinen alusta kieliagenttien arvioimiseen, joka sallii käyttäjien vuorovaikuttaa näiden agenttien kanssa suorittaakseen monia tehtäviä, ja nämä ihmisen ja agentin väliset vuorovaikutukset sekä käyttäjien palautteet tallennetaan ja analysoidaan jatkokehittämistä varten.

LLM-ohjelmointi on prosessi, joka sallii kehittäjien luoda ohjeita, jotka suojaavat agentteja vastaan hyökkäyksiä ja parantavat ulostulon esteettisyyttä sekä huolehtivat taustalogiikasta. OpenAgents-kehyksen kehittäjät käyttävät LLM-ohjelmointitekniikkaa korostamaan sovelluksen vaatimusten määrittelyn tärkeyttä. Kuitenkin kehittäjät havaitsivat, että näiden ohjeiden kasautuminen voi olla merkittävää ja vaikuttaa LLM-kehysten kontekstin käsittelykykyyn sekä tokenien rajoituksiin. Kehittäjät myös havaitsivat, että agenttien käyttöönotto vaatii, että mallit eivät ainoastaan suoriudu poikkeuksellisen hyvin, vaan myös kykenevät käsittelemään monia vuorovaikutustilanteita reaaliajassa.

Seuraavassa kuvassa verrataan OpenAgents-kehyksen suorituskykyä muihin olemassa oleviin töihin agenttien vertailussa.

OpenAgents: Alustan suunnittelu ja toteutus

OpenAgents-alustan järjestelmällinen suunnittelu voidaan jakaa kahteen pääkomponenttiin: Käyttöliittymä, joka kattaa sekä taustapuolen että etupuolen, ja Kieliagentti, joka koostuu työkaluista, kielimalleista ja ympäristöistä. OpenAgents-kehyksessä on käyttöliittymä, joka mahdollistaa vuorovaikutuksen käyttäjien ja agenttien välillä.

Agentit käyttävät työkaluja suunnittelemiseen ja toimien suorittamiseen ympäristössä, kun he ovat saaneet syötteen käyttäjiltä. Alustan arkkitehtuuri on esitetty seuraavassa kuvassa.

Käyttöliittymä

OpenAgents-kehyksen kehittäjät ovat panostaneet paljon käyttöliittymän kehittämiseen, joka on sekä toiminnallinen että käyttäjäystävällinen. Tämän ansiosta OpenAgents-kehyksessä on tukevia monia teknisiä tehtäviä, kuten virheiden käsittely, taustapalvelimen toiminnot, data-virtaaminen ja paljon muuta, ja päämääränä on tehdä OpenAgents-kehyksestä käyttäjäystävällisen, mutta myös tehokkaan ja käytettävissä olevan.

Kieliagentti

OpenAgents-kehyksessä kieliagentilla on kolme olennaista komponenttia: työkaluliittymä, kielimalli ja ympäristö. OpenAgents-kehyksessä toteutettu ohjelmointimenetelmä luo järjestelmällisen prosessin, jota agentit seuraavat, aloittaen Havainnoinnin -> Deliberoinnin -> Toiminnan. Kehyksessä LLM:lle annetaan tehtäväksi generoida parsable-tekstiä tehokkaammin, ja työkaluliittymä koostuu parseista, jotka voivat kääntää LLM:n generoimat parsable-tekstit suoritettaviksi toimiksi, kuten API-kutsuiksi tai koodin generoimiseksi. Nämä toimet suoritetaan kehyksessä ympäristön rajoissa.

OpenAgentsin agentit

OpenAgentsin ytimessä on kolme erilaista agenttia: Data Agent, joka auttaa datan analyysissä käyttäen data-työkaluja ja kyselykieliä kuten SQL tai ohjelmointikieliä kuten Python, Plugin Agents, joka tarjoaa pääsyn yli 200:een API-työkaluun, jotka ovat hyödyllisiä päivittäisissä tehtävissä, ja Web Agents, joka auttaa verkkoselaamisessa ylläpitäen anonyymiysesi. Nämä agentit ovat erikoistuneita tiettyihin tehtäviin, mutta niiden toteutus OpenAgentsissa perustuu avoimiin kieli-Application Programming Interface (API) -rajapintoihin.

Data Agent

OpenAgents-kehyksessä data-agentti on suunniteltu ja toteutettu käsittelemään laajaa valikoimaa dataan liittyviä tehtäviä, joita loppukäyttäjät kohtaavat säännöllisesti. Data-agentti tukee koodin generointia ja suorittamista kahdessa ohjelmointikielessä: SQL ja Python, ja agentilla on useita data-työkaluja käytössään, kuten Data Profiling, joka tarjoaa perustietoja datasta, Kaggle Data Search, joka etsii tietokantoja, ja ECharts Tool, joka piirtää interaktiivisia ECharts-käyriä. Lisäksi OpenAgents-kehyksen data-agentti pyrkii käyttämään näitä työkaluja proaktiivisesti vastatakseen loppukäyttäjien pyynnöksiin.

Näiden data-työkalujen avulla data-agentti pystyy hallitsemaan monia data-keskeisiä pyynnöksiä ja suorittaa data-analyysiä, manipulointia ja kyselyjä tehokkaasti, ylittäen koodin ja tekstin generoinnin rajat. Seuraavassa kuvassa on esitetty data-agentti toiminnassa ja työkalut, jotka ovat käytettävissä yleisille käyttäjille.

Plugin Agents

OpenAgents-kehyksen plugin-agentti on suunniteltu tarkkaan tarjoamaan käyttäjille monipuolisia työkaluja päivittäisissä tehtävissä, kuten internetin hakemisessa, verkkokaupassa, uutisten lukemisessa tai verkkosivujen ja sovellusten luomisessa. Plugin-agentti tarjoaa pääsyn yli 200:een API-työkaluun, ja joitakin merkittäviä plugin-työkaluja ovat:

  1. Google Search
  2. Wolfram Alpha
  3. Zapier
  4. Klarna
  5. Coursera
  6. Show Me
  7. Speak
  8. AskYourPDF
  9. BizTok
  10. Klook

Käyttäjät voivat valita, mitkä plugin-agentit he haluavat käyttää, ja toiminta on esitetty seuraavassa kuvassa.

Lisäksi OpenAgents-kehyksessä on ominaisuus, joka auttaa käyttäjiä valitsemaan sopivimmat plugin-agentit heidän tarpeisiinsa.

Web Agents

OpenAgents-kehyksessä web-agentti on erikoistunut työkalu, joka parantaa chat-agentin tehokkuutta ja kykyä. Vaikka chat-agentti edelleen tarjoaa pääasiallisen vuorovaikutusliittymän, se integroi web-agentin tarpeen mukaan. Lopullinen vastaus toimitetaan loppukäyttäjälle web-agentin kautta, ja prosessi on esitetty seuraavassa kuvassa.

Web-agenttien suunnittelustrategia osoittautuu hyödylliseksi, koska chat-agentti prosessoi tärkeitä parametreja ja aloittaa URL-osoitteita järjestelmällisesti ennen kuin ne siirretään web-agentille, mikä varmistaa paremman vastaavuuden käyttäjien tarpeiden ja generoituun ulostulon välillä. Strategia myös sallii web-agenttien sopeutua monimutkaisiin käyttäjien pyynnöksiin dynaamisen monivaiheisen web-navigoinnin ja chat-vuorovaikutuksen avulla. Näin ollen erottamalla chat- ja monisivuagenttien roolit ja vastuut selkeästi, OpenAgents-kehyksessä on mahdollista kehittää ja parantaa kunkin moduulin toimintaa.

OpenAgents: Käytännön sovellukset ja todellinen maailman käyttöönotto

Tässä osiossa keskustelemme OpenAgents-kehyksen kehityksestä teoreettisesta käyttöönottoon sekä haasteista, joita kehittäjät kohtasivat, ja oppimista, jonka he saivat aikaisemmin. Lisäksi tarkastelemme arviointikompleksisuutta, jonka kehittäjät ratkaisivat.

Käyttäen ohjelmointiin ohjeita muuttaa suuria kielen malleja todellisen maailman sovelluksiksi

Kun ohjataan LLM-promptteja rakentamaan todellisen maailman sovelluksia loppukäyttäjille, OpenAgents-kehyksessä annetaan ohjelmointiin ohjeita, jotka määrittävät tiettyjä vaatimuksia. Joidenkin ohjeiden tavoitteena on varmistaa, että ulostulo on tietyssä muodossa, jotta taustalogiikka voi prosessoida sitä, kun taas toisten ohjeiden tavoitteena on parantaa ulostulon esteettisyyttä, ja loput suojaavat kehyksen potentiaalisilta hyökkäyksiltä.

Hallitsemattomat todellisen maailman tekijät

Kun kehittäjät käyttöönottoivat OpenAgents-kehyksen todellisessa maailmassa, he kohtasivat joukon hallitsemattomia tekijöitä, jotka johtuivat internet-infrastruktuurista, käyttäjistä, liiketoimintalogiikasta ja muista tekijöistä. Nämä hallitsemattomat tekijät pakottivat kehittäjät arvioimaan ja säätämään joitakin oletuksia, jotka perustuivat aikaisempaan tutkimukseen, ja ne voivat lopulta johtaa tilanteisiin, joissa loppukäyttäjät eivät ole tyytyväisiä kehyksen generoimiin vastauksiin.

Arviointikompleksisuus

Vaikka agentit, jotka on suunniteltu suoraan sovelluksiin, voivat olla laajempaa soveltamista ja helpompia arvioida, ne lisäävät myös LLM-pohjaisen sovelluksen rakentamisen monimutkaisuutta, mikä vaikeuttaa sovelluksen suorituskyvyn analysointia. Lisäksi tämä lähestymistapa lisää myös epävakautta ja pidentää järjestelmän ketjua, mikä vaikeuttaa kehyksen sopeutumista eri komponentteihin. On siis järkevää parantaa näiden agenttien järjestelmän suunnittelua ja toimintalogiikkaa yksinkertaistamaan prosesseja ja varmistamaan tehokkaan ulostulon.

Loppusanat

Tässä artikkelissa olemme keskustelleet OpenAgents-kehyksestä, joka on avoin alusta kieliagenttien isännöintiin ja käyttöönottoon sekä arkipäivän tehtävissä. OpenAgents-kehyksessä on kolme agenttia: Data Agent, joka auttaa datan analyysissä käyttäen data-työkaluja ja kyselykieliä kuten SQL tai ohjelmointikieliä kuten Python, Plugin Agents, joka tarjoaa pääsyn yli 200:een API-työkaluun, jotka ovat hyödyllisiä päivittäisissä tehtävissä, ja Web Agents, joka auttaa verkkoselaamisessa ylläpitäen anonyymiysesi. OpenAgents-kehyksessä käytetään verkkokäyttöliittymää, joka on optimoitu yleisille virheille ja nopeille vastauksille, jotta yleiset käyttäjät voivat vuorovaikuttaa agenttien toiminnallisuuksien kanssa, samalla tarjoten tutkijoille ja kehittäjille helpon käyttökokemuksen paikallisissa asetuksissa. OpenAgentsin tavoitteena on tarjota avoin, kokonainen ja käytettävissä oleva alusta, joka tekee suurten kielen mallien potentiaalin saataville laajemmalle joukolle käyttäjiä, ei ainoastaan tutkijoille ja kehittäjille, vaan myös loppukäyttäjille, joilla on rajoitettu tekninen osaaminen.

Kunal Kejriwal on backend‑insinööri, joka on erikoistunut Pythoniin, PostgreSQL:ään, Redis:iin ja pilvi‑infrastruktuuriin GCP:ssä ja AWS:ssä. Kolmen vuoden kokemuksella tuotantojärjestelmien rakentamisesta ja skaalaamisesta hän kirjoittaa AI‑infrastruktuurista, hajautetuista järjestelmistä ja koneoppimistyönkuormien käyttöönoton arkkitehtuurista.