AI-modeller och plattformar
OpenAgents: En Öppen Plattform för Språkagenter i Vildmarken
De senaste utvecklingarna har visat att språkagenter, särskilt de som byggs på stora språkmodeller (LLM), har potentialen att utföra en mängd olika uppgifter i olika miljöer med hjälp av naturligt språk. Dock har de flesta språkagentramverk för närvarande fokus på att underlätta konstruktionen av bevis för språkagenter. Detta fokus kommer ofta med liten eller ingen uppmärksamhet på applikationsnivådesign och försummar ofta tillgängligheten för dessa agenter för icke-experter.
För att överbrygga de nuvarande begränsningarna för språkagenter har utvecklare skapat OpenAgents-ramverket, en öppen plattform för att värd och distribuera språkagenter i vildmarken och över en mängd vardagliga uppgifter. OpenAgents-ramverket är byggt kring tre agenter
- Data Agent: Hjälper till med dataanalys med hjälp av dataverktyg och frågespråk som SQL eller programmeringsspråk som Python.
- Plugin Agents: Hjälper till genom att ge tillgång till över 200+ API-verktyg som är användbara för vardagliga uppgifter.
- Web Agents: Hjälper till med att bläddra på webben samtidigt som din anonymitet upprätthålls.
OpenAgents-ramverket använder ett webbgränssnitt som är optimerat för vanliga fel och snabba svar i ett försök att tillåta allmänna användare att interagera med agentfunktionerna, samtidigt som det erbjuder forskare och utvecklare en sömlös distributionsupplevelse på sina lokala installationer. Det vore säkert att säga att OpenAgents-ramverket är ett försök att tillhandahålla en solid grund för att underlätta realvärldsevaluationer och skapa innovativa, effektiva och avancerade språkagenter.
I dagens artikel kommer vi att gå djupare in i OpenAgents-ramverket och prata om ramverket i större detalj. Vi kommer att prata om arkitekturen och utmaningarna som mötts, samt resultaten. Så låt oss komma igång.
OpenAgents och Språkagenter: En Introduktion
Språkagenter, i sin kärna, är härledda från intelligenta agenter. Dessa intelligenta agenter är konceptualiserade för att ha autonom problemlösningsförmåga, tillsammans med förmågan att känna sin omgivning, fatta beslut och agera därefter. Med framstegen inom stora språkmodeller har den globala utvecklingsgemenskapen utnyttjat konceptet med intelligenta agenter och LLM för att skapa språkagenter. Dessa agenter använder naturligt språkprogrammering (NLP) för att utföra en mängd olika uppgifter i olika miljöer, och de har nyligen visat en anmärkningsvärd potential.
De nuvarande språkagentramverken, som Gravitas och Chase, tillhandahåller i huvudsak ett konsolgränssnitt anpassat för utvecklare, tillsammans med bevis för implementering. Dock begränsar de ofta tillgängligheten till en bredare publik, särskilt de som inte är bekanta med programmering. Dessutom är de nuvarande agentbenchmarkerna konstruerade av utvecklare med specifika krav för deterministisk utvärdering, särskilt i scenarier som kräver webbläsnings-, kodnings-, verktygsanvändning eller en kombination därav.
I ett försök att utveckla LLM-drivna intelligenta och språkagenter för en bredare användarbas har etablerade aktörer som OpenAI och Microsoft (MSFT ) distribuerat en rad välutformade produkter, inklusive Avancerad Dataanalys, även känd som Kodtolk, och webbläsartillägg. Även om dessa agenter är effektiva i sina funktioner, erbjuder de begränsad hjälp till utvecklingsgemenskapen. Denna begränsning uppstår eftersom affärslogik-koden och modellimplementeringarna inte har öppen källkod, vilket hindrar möjligheterna för utvecklare och forskare att ytterligare utforska dem, samt begränsar fri tillgång för användare.
I ett försök att tackla detta problem har utvecklare skapat OpenAgents, en öppen källkodsplattform för att värd och använda agenter, och det är för närvarande byggt på en grund av tre interna agenter
- Data Agent: Hjälper till med dataanalys med hjälp av dataverktyg och frågespråk som SQL eller programmeringsspråk som Python.
- Plugin Agents: Hjälper till genom att ge tillgång till över 200+ API-verktyg som är användbara för vardagliga uppgifter.
- Web Agents: Hjälper till med att bläddra på webben samtidigt som din anonymitet upprätthålls.
Följande figur visar OpenAgents-plattformen för allmänna användare, utvecklare och forskare.

- I stället för att använda ett programmeringsorienterat paket eller konsol, kan allmänna användare interagera med de tre agenterna i OpenAgents-ramverket med hjälp av ett webbgränssnitt.
- Utvecklare kan använda affärslogik- och forskningskod som tillhandahålls av OpenAgents-ramverket för att sömlöst distribuera backend och frontend för vidareutveckling.
- Forskare har flexibiliteten att antingen bygga nya språkagenter från scratch eller implementera agentrelaterade metoder med hjälp av delade komponenter och exempel, och utvärdera deras prestanda med hjälp av webbgränssnittet.
För att sammanfatta, OpenAgents-ramverket är ursprungligen tänkt att vara en holistisk och realistisk plattform för human-in-the-loop språkagentutvärdering som tillåter användare att interagera med dessa agenter för att slutföra en mängd olika uppgifter, och dessa human-agent-interaktioner tillsammans med användarfeedback lagras och analyseras för vidareutveckling och utvärdering.
För de som inte är medvetna om det, är LLM-promptning en process som tillåter utvecklare att skapa instruktioner som skyddar mot adversarial eller felaktiga indata, förbättrar utdataestetik och anpassar sig till backend-logik. Under utvecklingsfasen använder utvecklare som arbetar med OpenAgents-ramverket LLM-promptningstekniken för att understryka vikten av att specificera applikationskrav effektivt. Dock observerade utvecklarna snart att byggnaden av dessa instruktioner eller LLM-prompt kan vara betydande ibland, vilket kan påverka kontextbehandlingsförmågan hos LLM-ramverk, samt tokenbegränsningar. Utvecklarna observerade också att för att distribuera dessa agenter effektivt i den verkliga världen, bör agentmodellerna inte bara visa exceptionell prestanda, utan också kunna hantera en mängd interaktiva scenarier i realtid. Även om nuvarande agentramverk har prestandan täckt, försummar de ofta realvärldsfaktorer, särskilt i realtid, vilket kan dölja den verkliga potentialen hos LLM-ramverk genom att handla om svarstid eller noggrannhet.
I följande figur jämförs OpenAgents-ramverket direkt med befintliga arbeten på benchmark för agentkoncept och byggnad av prototyper.

OpenAgents: Plattformdesign och Implementering
Den systematiska designen eller arkitekturen för OpenAgents-plattformen kan delas in i två primära komponenter: Användargränssnitt, inklusive både backend och frontend, och Språkagent, bestående av verktyg, språkmodeller och miljöer. OpenAgents-ramverket tillhandahåller ett gränssnitt för kommunikation mellan användare och agenter. Flödet av interaktion i ramverket är som följer.
Agenterna använder verktyg som är tillgängliga för dem för att planera och vidta nödvändiga åtgärder i miljöerna när de har mottagit indata från användarna. Arkitekturen eller den systematiska designen för ramverket visas i följande bild.

Användargränssnitt
Utvecklarna av OpenAgents-ramverket har lagt ner mycket tanke och ansträngning på att utveckla inte bara en högt fungerande utan också ett användarvänligt gränssnitt efter att ha hanterat en mängd värdagenter och återanvändbar affärslogik. Som ett resultat har OpenAgents-ramverket stöd för en mängd tekniska uppgifter, inklusive felhantering, backend-serveroperationer, dataströmning och mycket mer, med det primära målet att göra OpenAgents-ramverket användarvänligt, men också högt effektivt och användbart.
Språkagent
Inom OpenAgents-ramverket har språkagenten tre väsentliga komponenter: ett verktygsgränssnitt, en språkmodell och miljön i sig. Promptmetoden som implementeras i OpenAgents-ramverket skapar en sekventiell process för agenterna att följa som börjar med Observation -> Deliberation -> Action. Ramverket promptar också LLM att generera parsbar text med förbättrad effektivitet, och verktygsgränssnittet består av parsare som kan översätta dessa parsbara texter genererade av LLM till verkställbara åtgärder som att göra API-anrop eller generera kod. Dessa åtgärder utförs sedan av ramverket inom ramarna för den motsvarande miljön.
OpenAgents Agenter
I kärnan av OpenAgents finns det tre distinkta agenter: Data Agent som hjälper till med dataanalys med hjälp av dataverktyg och frågespråk som SQL eller programmeringsspråk som Python, Plugin Agents som hjälper till genom att ge tillgång till över 200+ API-verktyg som är användbara för vardagliga uppgifter, och Web Agents som hjälper till med att bläddra på webben samtidigt som din anonymitet upprätthålls. Dessa agenter har individuell domänexpertis liknande ChatGPT-plugin, men till skillnad från ChatGPT är implementationen på OpenAgents baserad på öppen språkprogrammeringsgränssnitt eller API.
Data Agent
Dataagenten i OpenAgents-ramverket har designats och distribuerats för att hantera en mängd datarelaterade uppgifter som slutanvändare möter regelbundet. Dataagenten stöder kodgenerering och körning i två programmeringsspråk, nämligen SQL och Python, och agenten har också flera dataverktyg till sitt förfogande, inklusive Data Profiling för att tillhandahålla grundläggande datainformation, Kaggle Data Search för att söka efter dataset, och ECharts Tool för att plotta interaktiva ECharts. Dessutom promptar OpenAgents-ramverket dataagenten att använda dessa verktyg proaktivt för att effektivt svara på slutanvändarnas förfrågningar. Dessutom, med tanke på de omfattande kodkraven, väljer OpenAgents-ramverket att använda inbäddade språkmodeller för dataagenten, och i stället för att agenten genererar koden, är det verktyg som Python, ECharts och SQL som genererar koden. Med detta tillvägagångssätt kan ramverket utnyttja programmeringsförmågan hos språkmodellerna fullt ut, och därmed minska belastningen på dataagenten.
Med hjälp av dessa dataverktyg kan dataagenten hantera en mängd datacentrerade förfrågningar och utför datavisualisering, manipulation och frågor på ett kompetent sätt, och därmed överskrider gränserna för kod- och textgenerering. Följande figur visar en dataagent i aktion, och verktygen som är tillgängliga för allmänna användare.

Plugin Agents
Pluginagenten i OpenAgents-ramverket har designats av utvecklare noggrant för att tillgodose användarnas mångfacetterade krav för vardagliga uppgifter, inklusive sökning på internet, online-shopping, läsning av nyheter eller skapande av webbplatser och applikationer genom att ge tillgång till över 200 plugin, med särskild uppmärksamhet på funktionssamtalsgränssnitt, API-anrop och API-svarslängd. Några av de framstående pluginen inkluderar
- Google Sök
- Wolfram Alpha
- Zapier
- Klarna
- Coursera
- Show Me
- Speak
- AskYourPDF
- BizTok
- Klook
Baserat på deras behov och krav kan användare välja antalet plugin som de vill att pluginagenten ska använda, och arbetet visas i figuren nedan.

Dessutom, för att hjälpa användare i situationer där de inte är säkra på vilken plugin som bäst tillgodoser deras krav, erbjuder OpenAgents-ramverket användare en funktion som automatiskt väljer de plugin som är mest relevanta för deras instruktioner.
Web Agents
OpenAgents-ramverket presenterar webbagenten som ett specialiserat verktyg som är avsett att förbättra effektiviteten och förmågan hos chattagenten. Även om chattagenten fortfarande innehåller det primära interaktionsgränssnittet, integrerar den webbagenten sömlöst när det behövs. Det slutliga svaret levereras sedan till slutanvändaren av webbagenten, och processen visas i figuren nedan.

Designstrategin som implementeras i dessa webagenter visar sig vara av stor nytta, eftersom chattagenten bearbetar viktiga parametrar eller initierar URL:er systematiskt, innan de överförs till webbagenten, vilket säkerställer en bättre anpassning mellan användarnas krav och genererad utdata, vilket resulterar i tydlig kommunikation. Dessutom tillåter strategin också webbagenterna att hantera skiktade och anpassningsbara användarfrågor genom att använda en dynamisk multi-turn webbnavigering kombinerad med chattdialoger. Därför, genom att markera de distinkta rollerna och ansvarsområdena för chatt- och webb-agenter, skapar OpenAgents-ramverket möjlighet för förbättring och utveckling av varje enskild modul.
OpenAgents: Praktiska Tillämpningar och Verkliga Världsdistribution
I detta avsnitt kommer vi att prata om OpenAgents-ramverkets bana från teorier till distribution i den verkliga världen, tillsammans med de utmaningar som mötts, och lärdomar som inhämtats, samt utvärderingskomplexiteten som utvecklarna hanterade.
Användning av Prompt för att Omvandla Stora Språkmodeller till Verkliga Världstillämpningar
När man använder LLM-prompt för att bygga verkliga världstillämpningar för slutanvändare, använder OpenAgents-ramverket promptinstruktioner för att specificera vissa krav. Syftet med vissa av instruktionerna är att säkerställa att utdata är i linje med en specifik format, vilket tillåter backend-logiken att bearbeta, medan syftet med andra instruktioner är att förbättra utdataestetiken, och resten skyddar ramverket mot potentiella malicious attacker.
Okontrollerbara Verkliga Världsfaktorer
När utvecklare distribuerade OpenAgents-ramverket i den verkliga världen, möttes de av en mängd okontrollerbara verkliga världsfaktorer utlösta av internetinfrastruktur, användare, affärslogik och mer. Dessa okontrollerbara faktorer tvingade utvecklare att omvärdera och justera vissa antaganden baserat på tidigare forskning, och de kunde slutligen leda till situationer där slutanvändarna inte var nöjda med svaret som ramverket genererade.
Utvärderingskomplexitet
Även om konstruerade agenter som är avsedda direkt för tillämpningar kan ha en bredare tillämpning och underlätta utvärdering, lägger det till komplexitet vid byggnation av LLM-drivna tillämpningar, vilket gör det svårt att analysera tillämpningarnas prestanda. Dessutom lägger detta till instabilitet och förlänger systemkedjan för LLM, vilket gör det utmanande för ramverket att anpassa sig till olika komponenter. Därför är det meningsfullt att förbättra systemdesignen och driftlogiken för dessa agenter för att förenkla procedurerna och säkerställa effektiv utdata.
Slutliga Tankar
I denna artikel har vi talat om OpenAgents-ramverket, en öppen plattform för att värd och distribuera språkagenter i vildmarken och över en mängd vardagliga uppgifter. OpenAgents-ramverket är byggt kring tre agenter: Data Agent, som hjälper till med dataanalys med hjälp av dataverktyg och frågespråk som SQL eller programmeringsspråk som Python, Plugin Agents, som hjälper till genom att ge tillgång till över 200+ API-verktyg som är användbara för vardagliga uppgifter, och Web Agents, som hjälper till med att bläddra på webben samtidigt som din anonymitet upprätthålls. OpenAgents-ramverket använder ett webbgränssnitt som är optimerat för vanliga fel och snabba svar i ett försök att tillåta allmänna användare att interagera med agentfunktionerna, samtidigt som det erbjuder forskare och utvecklare en sömlös distributionsupplevelse på sina lokala installationer. Genom att tillhandahålla en transparent, holistisk och distribuerbar plattform, syftar OpenAgents till att göra potentialen hos LLM tillgänglig för en bredare användarbas, inte bara begränsad till forskare och utvecklare, utan också slutanvändare med begränsad teknisk expertis.












