在本教程中,您将使用 智能体通信协议 (ACP) 来深入了解 多智能体、跨平台 AI 工作流,展示 BeeAI 和 crewAI 的实时智能体协作。ACP 作为一个共享的开放标准消息传递层,来自不同框架的智能体能够无需自定义集成逻辑即可进行通信和协调。
ACP 对于企业 AI 环境尤其有价值,其中团队通常需要跨不同平台、工具和基础架构构建智能体和工作流。通过提供标准化的消息传递层,ACP 可实现可扩展、安全和模块化的智能体协作,从而满足现代企业 AI 系统的需求。
此项目通过使 AI 驱动的智能体能够跨越框架孤岛进行协作,将研究、内容生成和反馈等智能体功能整合到一个统一的工作流中,展示智能体的互操作性。
大多数 智能体式 AI 框架都使用自定义或封闭系统来处理通信。这种架构使得跨工具链、团队或基础设施连接智能体变得困难,尤其是在组合来自不同 AI 系统的组件时。
ACP 引入了一个标准化、与框架无关的消息格式,用于自主智能体发送、接收和解释消息。消息通常以 JSON 格式结构化,并包含元数据,以增强智能体交互的清晰度和一致性。
通过将通信与智能体的内部逻辑分离,ACP 允许团队混合和匹配使用不同的 AI 智能体框架,例如 BeeAI、 CrewAI、 LangChain 或 LangGraph,而无需自定义集成代码。这种方法提高了可扩展性,简化了自动化,并支持符合现代行业标准的模块化、透明系统设计。
在本教程结束时,您将看到 ACP 的实际示例,并获得使用以下技术的实践经验:
此项目演示了多智能体工作流,展示 ACP(通过 acp-sdk)如何简化跨生态系统的连贯且可观察的协作。
当用户提供 URL 时,工作流启动。在此基础上,一个独立于框架的模块化专业智能体系统会将网页内容转化为创意作品,即一首原创歌曲,并附上专业风格的评论。所有组件协同工作,将这些输出组合成一个统一的人类可读的 Markdown 报告。这个最终结果代表了原始数据的完整转化,将创意生成与分析洞察相结合。
此歌曲创作工作流展示了 ACP 如何作为一个共享的通信层,使一个多智能体、智能体式 AI 系统能够协调两个不同框架(BeeAI 和 crewAI)开发的智能体之间的协作。
通过将通信与实现分离,该系统保持模块化和可扩展性——能够在框架之间协调智能体,同时从非结构化的网络内容产生连贯的端到端输出。
ACP 智能体
此项目使用了四个专门的 AI 智能体:
歌曲创作和评论项目工作流
在整个工作流中,智能体之间交换的消息被结构化为带有丰富元数据的 JSON 对象。这些元数据指导每个智能体对消息内容、上下文和预期响应的理解。
此工作流展示了一个可重用的模式,适用于任何需要协调多智能体数据转换和分析管道的用例。
ACP 提供了一个通用消息传递系统,允许使用不同框架构建的智能体以标准化的方式交换信息。这种开放协议允许智能体无需自定义集成或共享内部逻辑即可互操作。
ACP 客户端 (
ACP 客户工作流概述
然后,
的关键角色
客户端使用示例:
以下是运行此项目的系统要求:
在开始之前,以下是您需要的工具和提供程序服务的快速概述。
以下列表涵盖了多智能体工作流所需的主要框架、平台和 API。
在随后的部分中,您将找到有关安装、配置和使用每个工具和提供程序的逐步说明,以便您可以设置环境。
BeeAI 和 crewAI 均可与各种语言模型提供程序协同工作,从而灵活地适用于不同的环境和用例。在本教程中,OpenRouter 是 BeeAI 智能体的 LLM 提供程序,而 Ollama 用于本地的 crewAI 智能体。
这两个框架均独立于提供程序,因此您可通过更新配置设置来切换到其他 LLM 服务。您的设置可能会因所选择的 LLM 提供程序而异。此外,本教程还包括一个可选的预配置设置,以便使用 IBM watsonx.ai 作为替代的基于云的提供程序。
您也可以使用个人首选的 LLM 提供程序和模式;但请注意,只有本教程中显示的配置已经过测试。其他提供程序和模型可能需要额外的设置或调整。
以下要求适用于此项目中支持的三个提供程序:
您需要一个 OpenRouter API 密钥,才能使用预配置的 BeeAI 智能体服务器与基于云的语言模型。
要将 OpenRouter 作为 BeeAI 智能体的 LLM 提供程序,请按照以下步骤操作:
注意:根据本教程运行的时间,免费模型可能会有所不同。对于免费模型,请查看 OpenRouter 免费套餐模型列表。
如果您计划使用 Ollama 作为 crewAI 智能体的 LLM 提供程序,请按照以下步骤操作:
要使用 IBM watsonx.ai 作为 crewAI 服务器的 LLM 提供程序,请按照以下步骤操作:
在本教程中,使用 IBM watsonx.ai 作为 crewAI 智能体的可选云 LLM 提供程序。
AgentOps 是一项可选服务,用于跟踪、监控和可视化您的多智能体工作流。
如果您想在此项目中使用 AgentOps,请按照以下步骤操作:
AgentOps不是运行工作流所必需的,但它可以帮助您监控智能体活动并调试多智能体交互。
要运行此项目,请使用 https://github.com/IBM/ibmdotcom-tutorials.git 作为 HTTPS URL 克隆GitHub 存储库。有关如何克隆存储库的详细步骤,请参阅 GitHub 文档。
本教程可以在 存储库的项目目录中找到。
在终端中,导航到本教程的目录:
此项目需要为多智能体系统的每个组件同时运行 三个独立的 Python 脚本 。因此,您需要打开三个终端窗口或标签页。
首先保持当前终端打开,然后打开 另外两个终端,并确保所有三个都已导航到正确的目录(如下一步所示)。
使用 IDE 吗?
如果您使用的是类似 Visual Studio Code 的 IDE * ,可以使用拆分终端功能并排管理多个终端。
否则打开三个独立的终端窗口,并将每个窗口导航到正确的子目录。
终端导航
每个终端负责以下组件之一:
每个组件都在自己的虚拟环境中运行,以确保明确的依赖项管理。本教程使用基于 Rust 的 Python 包管理器 UV 来管理和同步环境。
注意:在继续之前,请确保已安装 Python 3.11 或更高版本。
安装 UV
如果尚未安装,请使用 Homebrew 安装 UV(建议用于 macOS 和 Linux):
Windows 用户注意事项: 安装 WSL(适用于 Linux 的 Windows 子系统) 并按照 WSL 终端中的 Linux 说明进行操作。
创建并激活虚拟环境(在每个终端中)
在每个终端(BeeAI、crewAI 和 ACP 客户端)中运行以下代码:
此步骤将在当前目录中创建并激活一个
在每个项目目录中运行
现在使用以下方法在 每个终端 中安装依赖项:
此步骤将安装每个组件的
BeeAI 安装后,使用 CLI 启动 BeeAI 平台
注意:首次运行时,此步骤可能需要几分钟。
设置 LLM 提供程序 (OpenRouter)
运行以下命令,通过交互式 CLI 配置 LLM 提供程序和模型:
按照提示选择 OpenRouter,并输入您的 API 密钥和模型详细信息。
要确认您的设置,请使用:
此步骤应输出您配置的内容
或者,高级用户可以手动编辑
OpenRouter 的 .env 示例
如需验证 BeeAI 是否正在运行,请发送测试提示:
有效响应确认平台处于活动状态。
故障诊断
如有需要,您可以更新或重新启动平台:
在
打开
您还可以使用 crewAI LLM 配置文档自定义自己的提供程序。
更新 crewAI 智能体代码
在
确保您的
配置 BeeAI 和 crewAI 后,在各自的终端中启动智能体服务器。
启动 BeeAI 智能体服务器
在 beeai_agent_server 终端中:
您应该看到确认服务器已在
终端应每隔几秒钟记录一次运行状况检查 ping 值。
启动 crewAI 智能体服务器
在 crewai_agent_server 终端中:
您应该看到服务器在
确认所有智能体都在运行
本地构建的符合 ACP 标准的智能体由 BeeAI 自动识别。使用 BeeAI CLI 确认所有本地智能体均已注册且运行状况良好(此步骤可以在任意空闲终端中运行):
您将看到以下条目:
如果所有智能体都已列出且可访问,我们可以确认这些智能体已成功实现互操作!
在专用于 acp-client 服务器的终端中(在
在终端内,系统将提示您输入 URL。此输入触发多智能体工作流。
所有智能体和客户端/服务器都运行正常后,就可以启动 ACP 项目了!
注意: 大语言模型(LLM)的输出是概率性的,即使输入相同,每次运行工作流时输出也可能不同。
在本教程中,您通过一个 ACP 客户端/服务器连接两个不同的多智能体框架,该客户端/服务器提供了端点,供 AI 智能体协作生成和转换数据。通过将通信与智能体行为分开,ACP 使得使用 BeeAI、crewAI、LangChain 和其他智能体框架构建的智能体可以协同工作,而无需自定义集成逻辑。这种方法提高了模块化、可扩展性和互操作性。
ACP是一个开放的倡议,由智能体发送、接收和解释消息的需求驱动。ACP 中的消息是结构化的,通常采用 JSON 等格式,并富含元数据,以确保智能体交互之间的一致性和清晰度。无论您使用的是由 OpenAI、Anthropic 或是其他 AI 模型驱动的智能体,ACP 都能为不依赖框架的互操作性提供共享消息传递层。
通过遵循此工作流,您已经看到创意和分析智能体如何协调工作,将非结构化网络内容转换为歌曲、专业评论和统一的 Markdown 报告。这种方法展现了 ACP 在实现无缝、可扩展和灵活的多智能体 AI 系统方面的强大功能。
完成系统试验后,请按照以下步骤彻底关闭所有正在运行的组件:
1. 停止每个运行中的服务器
在 每个终端窗口中,按下
您应该看到类似以下内容的输出:
2. 如果服务器在关闭期间挂起
如果服务器在关机时没有响应或挂起(例如卡在
查找进程 ID (PID)
运行以下命令来找到服务器进程:
确定要停止的进程的 PID。例如:
终止进程。 使用 PID 强制停止该进程:
如有必要,请对每个服务器重复此过程。
就这样!您已使用 ACP 成功运行一个完整的跨平台多智能体系统。
构建、部署和管理强大的 AI 助手和智能体,运用生成式 AI 实现工作流和流程自动化。
借助值得信赖的 AI 解决方案,您可以勾勒未来业务发展蓝图。
IBM Consulting AI 服务有助于重塑企业利用 AI 实现转型的方式。