使用说明

项目简介

AWorld (Agent World) 是一个旨在弥合理论上的多智能体系统 (MAS) 能力与实际应用之间差距的框架。它通过集成模型上下文协议 (MCP) 服务器作为智能体工具,简化了通用多智能体系统的构建、评估和运行,帮助开发者轻松迈向通用人工智能 (AGI) 世界。

主要功能点

  • MCP服务器即工具:无缝集成各种MCP服务器,为智能体提供丰富的工具能力,例如数据访问、外部功能调用和Prompt模板渲染。
  • 多智能体系统支持:支持构建单智能体和多智能体系统,包括协作和竞争模式,以及混合智能体团队。
  • 环境多工具支持
    • 默认提供计算机使用工具,如浏览器、Shell终端、代码执行、文件系统等。
    • 支持Android设备模拟,用于移动应用自动化和测试。
  • 灵活的智能体架构
    • 支持智能体初始化、智能体间委托和异步委托。
    • 允许将智能体作为工具进行委托,实现更复杂的协作模式。
  • 双重用途框架
    • 智能体评估:提供统一的任务定义,支持自定义和公共基准测试,并生成详细的测试报告。
    • 智能体训练:支持智能体模型在环境中学习和进化,克服挑战,同时环境模型也演进以呈现更复杂的场景。

安装步骤

  1. 确保你的Python版本为3.11或更高。
  2. 使用pip安装AWorld:
    python setup.py install

服务器配置

MCP服务器的配置信息位于 'aworld/config/mcp.json' 文件中。你需要根据你的MCP服务器实例修改此文件。配置信息为JSON格式,示例如下:

{
  "mcpServers": {
    "amap-amap-sse": {
      "url": "http://localhost:5080"  // 你的MCP服务器SSE接口URL,例如:http://your-mcp-server:port
    },
    "另一个-mcp-服务器": {
      "url": "http://another-mcp-server:8081" // 另一个MCP服务器的URL
    }
    // ... 可以配置多个MCP服务器
  }
}
  • 'mcpServers': 包含所有MCP服务器配置的JSON对象。
  • 'server_name': 你为MCP服务器配置的名称,例如 'amap-amap-sse' 或 '另一个-mcp-服务器'。这个名称将在智能体配置中被引用。
  • 'url': 你的MCP服务器的URL地址,MCP客户端将通过此URL与服务器建立连接。你需要替换示例URL为你实际的MCP服务器地址。

注意:MCP客户端不需要配置MCP服务器的启动命令 (command) 及其参数 (args)。'aworld/config/mcp.json' 文件中仅需配置MCP服务器的访问URL ('url')。MCP客户端通过此URL以标准化的MCP协议与服务器通信,无需关心服务器的启动细节。

基本使用方法

  1. 配置MCP服务器:编辑 'aworld/config/mcp.json' 文件,添加你的MCP服务器配置信息,包括服务器名称和URL。
  2. 创建智能体:在Python代码中,创建 'Agent' 实例,并在 'mcp_servers' 参数中指定要使用的MCP服务器名称(与 'mcp.json' 中配置的名称一致)。
  3. 定义任务:创建 'Task' 实例,将输入 (input) 和智能体 (agent) 传递给任务。
  4. 运行任务:调用 'task.run()' 方法执行任务。

示例代码

from aworld.config.conf import AgentConfig, TaskConfig
from aworld.core.agent.base import Agent
from aworld.core.task import Task

if __name__ == '__main__':
    agent_config = AgentConfig(
        llm_provider="openai",
        llm_model_name="gpt-4o",
        llm_api_key="YOUR_API_KEY", # 设置你的LLM API Key
        llm_base_url="http://localhost:5080" # 设置你的LLM服务地址
    )

    search_sys_prompt = "You are a helpful agent."
    search = Agent(
        conf=agent_config,
        name="search_agent",
        system_prompt=search_sys_prompt,
        mcp_servers=["amap-amap-sse"] # 指定使用的MCP服务器名称,与mcp.json中的配置一致
    )

    # 定义任务
    task = Task(input="附近的酒店", agent=search, conf=TaskConfig())
    task.run()

请参考仓库中的 'examples/mcp/run.py' 和 'examples/browsers/run.py' 等示例代码,了解更详细的使用方法。

信息

分类

开发者工具