项目简介

Proxy Base Agent (PBA) 是一个开源的Agent框架,旨在解决传统LLM Agent工具调用不可靠和状态管理脆弱的问题。PBA 核心是 Proxy Structuring Engine (PSE),PSE是一个高性能的分层状态机引擎,它使LLM能够执行真正状态化和可靠的工具调用。PBA 通过 Model Context Protocol (MCP) 支持动态运行时能力扩展,允许在不重启服务的情况下集成新的工具和服务。

主要功能点

  • 状态化执行: 通过显式的分层状态机 (HSM) 定义和执行复杂的工作流程,保证状态一致性和执行可靠性。
  • 可靠的工具调用: 利用PSE在生成过程中验证工具输入,确保工具调用的参数符合Schema定义,避免运行时错误。
  • 动态运行时适配 (MCP): 通过MCP协议动态集成新的工具和能力,无需重启即可立即使用新功能。
  • 可预测的控制流: 通过状态图显式定义Agent的推理模式和动作序列,实现确定性和可控的行为。
  • 通用LLM兼容性: 支持本地运行,兼容多种LLM模型(开源或自定义)和后端(MLX、PyTorch)。
  • 模块化和可扩展性: 允许通过添加自定义工具、定义新状态或修改核心HSM架构来构建定制化Agent。

安装步骤

  1. 安装Python包:
    pip install proxy-base-agent
    更多安装选项和开发设置,请参考官方文档

服务器配置

Proxy Base Agent 本身 不是一个独立的MCP服务器,而是一个 MCP客户端 的实现。它通过集成的 'MCPHost' 和 'MCPClient' 组件,可以连接并使用外部的MCP服务器提供的工具。

对于 MCP 客户端(例如 Proxy Base Agent)来说,配置 MCP 服务器意味着需要告知客户端如何连接到特定的 MCP 服务器。这通常涉及到服务器的启动命令和参数。

Proxy Base Agent 通过 'agent/mcp/servers/servers_list.json' 文件预定义了一些可用的 MCP 服务器配置。用户可以根据需要选择连接到这些服务器,或者添加自定义的服务器配置。

以下是一个 'servers_list.json' 文件中 MCP 服务器配置的示例(JSON 格式):

[
  {
    "identifier": "example-server",
    "name": "Example MCP Server",
    "description": "An example MCP server for demonstration purposes.",
    "vendor": "The Proxy Company",
    "sourceUrl": "https://github.com/TheProxyCompany/example-mcp-server",
    "command": "python",
    "args": ["server.py"],
    "required_env_vars": []
  },
  {
    "identifier": "another-server",
    "name": "Another MCP Server",
    "description": "Another example MCP server with more tools.",
    "vendor": "The Proxy Company",
    "sourceUrl": "https://github.com/TheProxyCompany/another-mcp-server",
    "command": "node",
    "args": ["index.js", "--port", "8080"],
    "required_env_vars": ["API_KEY", "SECRET_KEY"]
  }
]

配置参数说明:

  • 'identifier': 服务器的唯一标识符,用于客户端指定连接哪个服务器。例如 '"example-server"'。
  • 'name': 服务器的名称,用于在列表中显示,方便用户识别。例如 '"Example MCP Server"'。
  • 'description': 服务器的简短描述,说明服务器的功能和用途。例如 '"An example MCP server for demonstration purposes."'。
  • 'vendor': 服务器的提供商或组织。例如 '"The Proxy Company"'。
  • 'sourceUrl': 服务器源代码的URL,通常是GitHub仓库地址。例如 '"https://github.com/TheProxyCompany/example-mcp-server"'。
  • 'command': 启动服务器的可执行命令。例如 '"python"' 或 '"node"'。
  • 'args': 启动服务器命令的参数列表。例如 '["server.py"]' 或 '["index.js", "--port", "8080"]'。
  • 'required_env_vars': 服务器运行所需的环境变量列表。如果服务器需要API密钥或其他敏感信息,可以在这里列出。客户端需要确保这些环境变量在运行时被正确设置。例如 '["API_KEY", "SECRET_KEY"]'。

重要提示: 用户 不需要 手动配置这些 JSON 信息来 运行 Proxy Base Agent 客户端。这些配置信息是 预定义 在 'servers_list.json' 文件中,用于 Agent 客户端 连接使用 外部 MCP 服务器。用户只需要在 Agent 运行时,通过 'list_mcp_servers' 和 'add_mcp_server' 工具来选择和连接到这些预定义的服务器即可。

基本使用方法

  1. 运行Agent: 安装完成后,在命令行中运行以下命令启动 Agent 的交互式设置向导:
    python -m agent
  2. 配置Agent: 按照向导提示,配置LLM模型、系统提示等。
  3. 与Agent交互: 配置完成后,即可在命令行中输入消息与Agent进行交互。Agent 会根据设定的状态机和工具进行推理和响应。
  4. 使用MCP服务器工具: Agent 启动后,可以使用 'list_mcp_servers' 工具查看可用的MCP服务器列表,然后使用 'add_mcp_server' 工具连接到指定的MCP服务器,连接成功后,即可使用该服务器提供的工具。例如:
    • 输入 'list_mcp_servers' 查看服务器列表。
    • 输入 'add_mcp_server' 并指定服务器 'identifier' 来连接服务器。
    • 连接服务器后,Agent 即可使用服务器提供的工具完成任务。

更多详细使用方法,请参考官方文档

信息

分类

AI与计算