项目简介
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。
安装步骤
- 安装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' 工具来选择和连接到这些预定义的服务器即可。
基本使用方法
- 运行Agent: 安装完成后,在命令行中运行以下命令启动 Agent 的交互式设置向导:
python -m agent - 配置Agent: 按照向导提示,配置LLM模型、系统提示等。
- 与Agent交互: 配置完成后,即可在命令行中输入消息与Agent进行交互。Agent 会根据设定的状态机和工具进行推理和响应。
- 使用MCP服务器工具: Agent 启动后,可以使用 'list_mcp_servers' 工具查看可用的MCP服务器列表,然后使用 'add_mcp_server' 工具连接到指定的MCP服务器,连接成功后,即可使用该服务器提供的工具。例如:
- 输入 'list_mcp_servers' 查看服务器列表。
- 输入 'add_mcp_server' 并指定服务器 'identifier' 来连接服务器。
- 连接服务器后,Agent 即可使用服务器提供的工具完成任务。
更多详细使用方法,请参考官方文档。
信息
分类
AI与计算