AI-modellen en platforms
OpenAgents: Een Open Platform voor Taalagenten in de Wildernis
Recente ontwikkelingen hebben aangetoond dat taalagenten, met name die gebouwd zijn op grote taalmodellen (LLM’s), het potentieel hebben om een breed scala aan complexe taken uit te voeren in diverse omgevingen met behulp van natuurlijke taal. Echter, de primaire focus van de meeste taalagentframeworks is momenteel gericht op het faciliteren van de constructie van proof-of-concept taalagenten. Deze focus gaat vaak gepaard met weinig tot geen aandacht voor application-level ontwerpen en negeert vaak de toegankelijkheid van deze agenten voor niet-expertgebruikers.
Om de huidige beperkingen van taalagenten te overbruggen, hebben ontwikkelaars het OpenAgents-framework ontwikkeld, een open platform voor het hosten en deployen van taalagenten in de wildernis en voor een breed scala aan alledaagse taken. Het OpenAgents-framework is gebouwd rond drie agenten
- Data Agent: Helpt met data-analyse met behulp van data-tools en query-talen zoals SQL of programmeertalen zoals Python.
- Plugin Agents: Helpt door toegang te bieden tot meer dan 200+ API-tools die nuttig zijn voor dagelijkse taken.
- Web Agents: Helpt bij het browsen op het web terwijl anoniem blijft.
Het OpenAgents-framework gebruikt een webgebruikersinterface die geoptimaliseerd is voor algemene fouten en snelle reacties in een poging om algemene gebruikers in staat te stellen om te communiceren met de agentfunctionaliteiten, terwijl het tegelijkertijd onderzoekers en ontwikkelaars een naadloze deploy-ervaring biedt op hun lokale instellingen. Het zou veilig zijn om te zeggen dat het OpenAgents-framework een poging is om een solide basis te bieden voor het faciliteren van real-world evaluaties en het creëren van innovatieve, effectieve en geavanceerde taalagenten.
In dit artikel zullen we dieper ingaan op het OpenAgents-framework en praten over het framework in meer detail. We zullen praten over de werking en architectuur van het framework, evenals over de gemeenschappelijke uitdagingen en de resultaten. Laten we beginnen.
OpenAgents en Taalagenten: Een Introductie
Taalagenten, in hun kern, zijn afgeleid van intelligente agenten. Deze intelligente agenten zijn geconceptualiseerd om autonome probleemoplossende capaciteiten te bezitten, evenals de mogelijkheid om hun omgeving te detecteren, beslissingen te nemen en dienovereenkomstig te handelen. Met de vooruitgang in grote taalmodellen, heeft de wereldwijde ontwikkelingsgemeenschap het concept van intelligente agenten en LLM’s gebruikt om taalagenten te creëren. Deze agenten gebruiken natuurlijke taalprogrammering (NLP) om een breed scala aan complexe taken uit te voeren in diverse omgevingen en hebben onlangs een opmerkelijk potentieel getoond.
Huidige taalagentframeworks, zoals Gravitas en Chase, bieden voornamelijk een console-interface die is aangepast voor ontwikkelaars, evenals proof-of-concept-implementaties. Echter, ze beperken vaak de toegankelijkheid tot een bredere doelgroep, met name diegenen die niet bekend zijn met programmeren. Bovendien zijn huidige agent-benchmarks gebouwd door ontwikkelaars met specifieke vereisten voor deterministische evaluatie, met name in scenario’s die webbrowsing, codering, toolgebruik of een combinatie daarvan vereisen.
Om LLM-gepowered intelligente en taalagenten te ontwikkelen voor een bredere gebruikersgroep, hebben gevestigde spelers zoals OpenAI en Microsoft (MSFT ) een reeks goed ontworpen producten geïmplementeerd, waaronder Geavanceerde Data-analyse, ook bekend als Code Interpreter, en browser-plugins. Hoewel deze agenten effectief zijn in hun functies, bieden ze beperkte hulp aan de ontwikkelingsgemeenschap. Deze beperking ontstaat omdat de businesslogica-code en modelimplementaties niet zijn geopend, waardoor ontwikkelaars en onderzoekers niet verder kunnen onderzoeken en vrij toegang voor gebruikers wordt beperkt.
Om dit probleem aan te pakken, hebben ontwikkelaars het OpenAgents-framework ontwikkeld, een open-sourceplatform voor het hosten en gebruiken van agenten, en het is momenteel gebouwd op een fundament van drie interne agenten
- Data Agent: Helpt met data-analyse met behulp van data-tools en query-talen zoals SQL of programmeertalen zoals Python.
- Plugin Agents: Helpt door toegang te bieden tot meer dan 200+ API-tools die nuttig zijn voor dagelijkse taken.
- Web Agents: Helpt bij het browsen op het web terwijl anoniem blijft.
De volgende figuur toont het OpenAgents-platform voor algemene gebruikers, ontwikkelaars en onderzoekers.

- In plaats van een programmeergeoriënteerd pakket of consoles te gebruiken, kunnen algemene gebruikers communiceren met de drie agenten in het OpenAgents-framework met behulp van een online webinterface.
- Ontwikkelaars kunnen gebruikmaken van de businesslogica- en onderzoekscode die wordt geboden door het OpenAgents-framework om naadloos de backend en frontend te deployen voor verdere ontwikkelingen.
- Onderzoekers hebben de flexibiliteit om nieuwe taalagenten van scratch te bouwen of agent-gerelateerde methoden te implementeren met behulp van de gedeelde componenten en voorbeelden, en ze kunnen hun prestaties evalueren met behulp van de webinterface.
Om samen te vatten, is het OpenAgents-framework oorspronkelijk bedoeld als een holistisch en realistisch platform voor human-in-the-loop taalagent-evaluatie dat gebruikers in staat stelt om te communiceren met deze agenten om een breed scala aan taken uit te voeren, en deze human-agent-interacties en gebruikersfeedback worden opgeslagen en geanalyseerd voor verdere ontwikkeling en evaluatie.
Voor diegenen die niet op de hoogte zijn, is LLM-prompting een proces dat ontwikkelaars in staat stelt om instructies te creëren die bescherming bieden tegen adversarial of verkeerde inputs, de output-esthetiek verbeteren en de backend-logica aanpassen. Tijdens de ontwikkelingsfase gebruiken ontwikkelaars die werken aan het OpenAgents-framework de LLM-prompting-techniek om de belangrijkheid van het specificeren van application-vereisten effectief te benadrukken. Echter, ontwikkelaars ontdekten al snel dat de opbouw van deze instructies of LLM-prompts aanzienlijk kan zijn en het contextbehandelingsvermogen van LLM-frameworks kan beïnvloeden, evenals tokenlimieten. De ontwikkelaars ontdekten ook dat om deze agenten effectief in de echte wereld te deployen, de agentmodellen niet alleen uitzonderlijke prestaties moeten laten zien, maar ook in staat moeten zijn om een breed scala aan interactieve scenario’s in real-time aan te pakken. Hoewel huidige agentframeworks de prestaties hebben afgedekt, negeren ze vaak real-world-overwegingen, met name in real-time, wat de ware potentie van LLM-frameworks kan verhullen door responsiviteit of nauwkeurigheid in te ruilen.
In de volgende figuur vergelijken we het OpenAgents-framework rechtstreeks met bestaande werken op benchmarks op agent-concept en het bouwen van prototypes.

OpenAgents: Platformontwerp en Implementatie
Het systematische ontwerp of de architectuur van het OpenAgents-platform kan worden opgesplitst in twee primaire componenten: Gebruikersinterface, inclusief zowel backend- als frontend, en Taalagent, bestaande uit tools, taalmodellen en omgevingen. Het OpenAgents-framework biedt een interface voor communicatie tussen de gebruikers en de agenten. De interactiestroom in het framework is als volgt.
De agenten gebruiken de beschikbare tools om te plannen en de nodige acties uit te voeren in de omgevingen zodra ze inputs van de gebruikers hebben ontvangen. De architectuur of het systematische ontwerp van het framework wordt gedemonstreerd in de onderstaande afbeelding.

Gebruikersinterface
De ontwikkelaars van het OpenAgents-framework hebben veel aandacht en moeite gestoken in het ontwikkelen van niet alleen een zeer functionele maar ook een gebruikersvriendelijke UI nadat ze een grote hoeveelheid hostagenten en herbruikbare businesslogica hebben aangepakt. Als resultaat biedt het OpenAgents-framework ondersteuning voor een breed scala aan technische taken, waaronder foutafhandeling, backend-serverbewerkingen, datastreaming en veel meer, met als primair doel om het OpenAgents-framework gebruikersvriendelijk, maar ook zeer effectief en bruikbaar te maken.
Taalagent
Binnen het OpenAgents-framework heeft de taalagent drie essentiële componenten: toolinterface, een taalmodel en de omgeving zelf. De prompt-methode die is geïmplementeerd in het OpenAgents-framework creëert een sequentiële proces voor de agenten om te volgen dat begint met Observatie -> Overweging -> Actie. Het framework promoot ook de LLM om parsbare tekst te genereren met verbeterde efficiëntie, en de toolinterface bestaat uit parsers die deze parsable teksten gegenereerd door LLM’s kunnen vertalen in uitvoerbare acties zoals API-aanroepen of codegeneratie. Deze acties worden vervolgens uitgevoerd door het framework binnen de grenzen van de corresponderende omgeving.
OpenAgents’ Agenten
In het hart van OpenAgents zijn er drie distincte agenten: Data Agentdie helpt met data-analyse met behulp van data-tools en query-talen zoals SQL of programmeertalen zoals Python, Plugin Agentsdie helpt door toegang te bieden tot meer dan 200+ API-tools die nuttig zijn voor dagelijkse taken, en Web Agentsdie helpt bij het browsen op het web terwijl anoniem blijft. Deze agenten hebben individuele domeinexpertise vergelijkbaar met ChatGPT-plugins, maar in tegenstelling tot ChatGPT is de implementatie op OpenAgents gebaseerd op open taal-Application Programming Interface of API’s.
Data Agent
De data agent in het OpenAgents-framework is ontworpen en geïmplementeerd om een breed scala aan data-gerelateerde taken aan te pakken die eindgebruikers dagelijks tegenkomen. De data agenten ondersteunen codegeneratie en -uitvoering in twee programmeertalen, namelijk SQL en Python, en de agent heeft verschillende data-tools tot zijn beschikking, waaronder Data Profiling voor het verstrekken van basisinformatie over data, Kaggle Data Search voor het zoeken naar datasets, en ECharts Tool voor het maken van interactieve ECharts. Bovendien promoot het OpenAgents-framework de data agent om deze tools proactief te gebruiken om effectief te reageren op de verzoeken van eindgebruikers. Daarnaast, gezien de uitgebreide coderingsvereisten, kiest het OpenAgents-framework voor ingebedde taalmodellen voor de data agent, en in plaats van dat de agent de code genereert, zijn het de tools zoals Python, ECharts en SQL die de code genereren. Met deze aanpak kan het framework de programmeerkwaliteiten van taalmodellen volledig benutten en zo de belasting op de data agent verminderen.
Met de hulp van deze data-tools kan de data agent een breed scala aan data-gerelateerde verzoeken beheren en data-visualisatie, -manipulatie en -query’s uitvoeren, waardoor het de grenzen van code- en tekstgeneratie overschrijdt. De onderstaande figuur toont een data agent in actie en de tools die beschikbaar zijn voor algemene gebruikers.

Plugin Agents
De plugin agent in het OpenAgents-framework is zorgvuldig ontworpen door ontwikkelaars om te voldoen aan de multifacetteuze vereisten van gebruikers voor dagelijkse taken, waaronder het zoeken op internet, online winkelen, nieuws lezen of het maken van websites en applicaties door toegang te bieden tot meer dan 200 plugins, met speciale aandacht voor de function-calling interface, API-aanroepen en API-antwoordlengtes. Enkele van de prominente plugins zijn
- Google Search
- Wolfram Alpha
- Zapier
- Klarna
- Coursera
- Show Me
- Speak
- AskYourPDF
- BizTok
- Klook
Op basis van hun behoeften en vereisten kunnen gebruikers kiezen hoeveel plugins ze willen dat de plugin agenten gebruiken, en de werking wordt gedemonstreerd in de onderstaande figuur.

Bovendien biedt het OpenAgents-framework gebruikers een functie die automatisch de meest relevante plugins selecteert op basis van hun instructies.
Web Agents
Het OpenAgents-framework presenteert de web agent als een gespecialiseerd hulpmiddel dat is ontworpen om de efficiëntie en capaciteiten van de chat agent te verbeteren. Hoewel de chat agent nog steeds de hoofdinteractie-interface huisvest, integreert het naadloos de web agent wanneer nodig. Het uiteindelijke antwoord wordt vervolgens aan de eindgebruiker geleverd door de web agent, en het proces wordt geïllustreerd in de onderstaande figuur.

De ontwerpstrategie die is geïmplementeerd in deze web agents blijkt van grote waarde te zijn, omdat de chat agent belangrijke parameters verwerkt of URLs initieert op een systematische manier, voordat ze worden overgedragen aan de web agent, waardoor een betere afstemming tussen de vereisten van de gebruiker en de gegenereerde output ontstaat, wat resulteert in duidelijke communicatie. Bovendien stelt de strategie de web agents ook in staat om laaggelegen en adaptieve gebruikersquery’s te accommoderen door middel van een dynamische multi-turn webnavigatie gekoppeld aan chatdialogen. Daarom maakt het OpenAgents-framework, door de rollen en verantwoordelijkheden van chat- en multi-browsing agents duidelijk te definiëren, het mogelijk om elke afzonderlijke module te verfijnen en te laten evolueren.
OpenAgents: Praktische Toepassingen en Real-World Deployment
In dit gedeelte zullen we praten over de traject van het OpenAgents-framework van theorie naar implementatie in de echte wereld, evenals de uitdagingen die zijn ondervonden en de evaluatiecomplexiteiten die de ontwikkelaars hebben aangepakt.
Het Gebruiken van Prompts om Large Language Models om te Zetten in Real-World Apps
Wanneer het OpenAgents-framework LLM-prompts gebruikt om real-world applicaties te bouwen voor eindgebruikers, gebruikt het framework prompt-instructies om bepaalde vereisten te specificeren. Het doel van sommige instructies is om ervoor te zorgen dat de output in overeenstemming is met een specifiek formaat, waardoor de backend-logica de output kan verwerken, terwijl het doel van andere instructies is om de esthetiek van de output te verbeteren, terwijl de resterende instructies de framework beschermen tegen potentiële kwaadaardige aanvallen.
Oncontroleerbare Real-World Factoren
Toen ontwikkelaars het OpenAgents-framework in de echte wereld implementeerden, werden ze geconfronteerd met een reeks oncontroleerbare real-world factoren die werden geactiveerd door internetinfrastructuur, gebruikers, businesslogica en meer. Deze oncontroleerbare factoren dwongen ontwikkelaars om sommige aannamen op basis van eerder onderzoek te heroverwegen en te bijstellen, en ze konden uiteindelijk leiden tot situaties waarin de eindgebruikers niet tevreden zouden zijn met het antwoord dat het framework genereert.
Evaluatiecomplexiteit
Hoewel geconstrueerde agenten die rechtstreeks op applicaties zijn gericht, een bredere toepassing kunnen hebben en een betere evaluatie kunnen faciliteren, voegen ze ook complexiteit toe aan het bouwen van LLM-gepowered applicaties, waardoor het moeilijker wordt om de prestaties van de applicaties te analyseren. Bovendien voegt deze aanpak ook instabiliteit toe en verlengt de systeemketen van de LLM’s, waardoor het moeilijker wordt voor het framework om zich aan te passen aan verschillende componenten. Het is daarom verstandig om het systeemontwerp en de bedrijfslogica van deze agenten te verfijnen om de procedures te vereenvoudigen en ervoor te zorgen dat de output effectief is.
Slotgedachten
In dit artikel hebben we gesproken over het OpenAgents-framework, een open platform voor het hosten en deployen van taalagenten in de wildernis en voor een breed scala aan alledaagse taken. Het OpenAgents-framework is gebouwd rond drie agenten: Data Agent, die helpt met data-analyse met behulp van data-tools en query-talen zoals SQL of programmeertalen zoals Python, Plugin Agents, die helpt door toegang te bieden tot meer dan 200+ API-tools die nuttig zijn voor dagelijkse taken, en Web Agents die helpt bij het browsen op het web terwijl anoniem blijft. Het OpenAgents-framework gebruikt een webgebruikersinterface die geoptimaliseerd is voor algemene fouten en snelle reacties in een poging om algemene gebruikers in staat te stellen om te communiceren met de agentfunctionaliteiten, terwijl het tegelijkertijd onderzoekers en ontwikkelaars een naadloze deploy-ervaring biedt op hun lokale instellingen. Door een transparant, holistisch en deploybaar platform te bieden, streeft OpenAgents ernaar om het potentieel van LLM’s toegankelijk te maken voor een bredere gebruikersgroep, niet alleen onderzoekers en ontwikkelaars, maar ook eindgebruikers met beperkte technische expertise.












