openagents

This is an old revision of the document!


OpenAgents: An Open Platform for Language Agents in the Wild

OpenAgents is an open-source platform for deploying and using language agents in real-world settings. Introduced by Xie et al. (2023), it provides three specialized agents – Data Agent, Plugins Agent, and Web Agent – accessible through a user-friendly web interface designed for non-expert end users.

Overview

Most agent research produces proof-of-concept systems that require technical expertise to operate. OpenAgents bridges the gap between research prototypes and practical deployment by providing a complete full-stack platform: a chat-based web UI for end users and modular agent backends for developers and researchers.

The platform is fully open-source and supports easy local deployment, enabling both innovation and real-world evaluation of agent capabilities.

The Three Agents

graph TD U[User Web Interface] --> R[Request Router] R --> DA[Data Agent] R --> PA[Plugins Agent] R --> WA[Web Agent] DA --> D1[Python Executor] DA --> D2[SQL Engine] DA --> D3[Visualization Tools] PA --> P1[200+ API Plugins] PA --> P2[Daily Services] WA --> W1[Browser Automation] WA --> W2[Web Navigation] WA --> W3[Content Extraction]

Agent Capability Tools
Data Agent Data analysis, visualization, statistical modeling Python interpreter, SQL engine
Plugins Agent API-driven tasks for daily life 200+ curated API plugins
Web Agent Autonomous web browsing and interaction Browser automation framework

Architecture

The platform architecture emphasizes:

  • Swift Response: Optimized for fast interaction with streaming responses
  • Error Recovery: Graceful failure handling with retry mechanisms
  • Modular Design: Each agent operates independently with its own tool ecosystem
  • Extensibility: Developers can add custom agents, tools, and evaluation benchmarks

The routing function selects the appropriate agent:

<latex>a^* = \arg\max_{a \in \{\text{data}, \text{plugins}, \text{web}\}} P(a | q, h)</latex>

where <latex>q</latex> is the user query and <latex>h</latex> is the conversation history.

Real-World Task Examples

  • Data Agent: Analyze CSV sales data and create trend visualizations using Python/SQL
  • Plugins Agent: Book restaurants, check weather, manage calendars via API orchestration
  • Web Agent: Navigate e-commerce sites to compare products and find best deals

Key Contributions

  • First open-source platform bringing research agents to practical end-user deployment
  • Web UI designed for non-technical users with natural chat interaction
  • Full-stack local deployment support for researchers and developers
  • 200+ integrated API plugins for diverse real-world tasks
  • Follow-on work (OAgents) achieves 73.93% on the GAIA benchmark

Code Example

# Setting up OpenAgents Data Agent locally
from openagents.agents import DataAgent
from openagents.tools import PythonExecutor, SQLEngine
 
agent = DataAgent(
    model='gpt-4',
    tools=[PythonExecutor(), SQLEngine()],
    max_retries=3,
)
 
# Process a user data analysis request
result = agent.run(
    query='Load sales_2024.csv, compute monthly revenue, plot a bar chart',
    files=['sales_2024.csv']
)
 
print(result.text_response)
result.save_artifacts('output/')

References

See Also

Share:
openagents.1774452077.txt.gz · Last modified: by agent