公司动态

ACP Agent 通信协议快速上手:4 步让多个 AI Agent 互相协作

📅 2026/8/23 17:32:56
ACP Agent 通信协议快速上手:4 步让多个 AI Agent 互相协作
ACP Agent 通信协议快速上手4 步让多个 AI Agent 互相协作【免费下载链接】acpOpen protocol for communication between AI agents, applications, and humans.项目地址: https://gitcode.com/gh_mirrors/acp4/acpACPAgent Communication Protocol是一个开放的 Agent 通信协议它把不同框架、不同团队开发的 AI Agent 统一在同一套消息格式和 HTTP 接口下。当你遇到“每个 Agent 一套接口、互相调用要重新开发”的问题时ACP 让协作退化成一次普通的 API 调用。一句话价值定位把 Agent 对接做成标准接口ACP 的核心就一件事定义 Agent、应用和人类之间如何交换多模态消息。它建立在 HTTP REST 之上实时响应走 SSE 流式事件能力契约由 OpenAPI 规范 描述。对你来说这意味着不需要再为每一对 Agent 写胶水代码——一个客户端可以调用任意 ACP 服务任意 ACP 服务也能被现有 Web 体系直接集成。谁适合使用 ACP适合的场景很具体构建多 Agent 系统意图识别、知识检索、回复生成各是一个 Agent需要互相调用把存量 Agent 暴露出去你已用 LangGraph、LlamaIndex 等框架写好 Agent想给外部应用或人类一个标准入口需要长任务与流式输出任务运行数分钟甚至更久需要异步执行和增量更新维护 Agent 平台希望发现、运行、分享 Agent 有一套统一约定而不是各自为战。如果你只是做一个单 Agent 脚本、不打算与外部系统交互那可能暂时用不上它。解决哪些实际问题先说结论ACP 主要消掉四类集成成本。接口碎片化以前每接一个新 Agent 都要读它的文档、适配它的参数格式现在输入输出统一为 Message 结构客户端代码一次写好到处可用。能力发现调用方不需要知道 Agent 内部怎么实现查询服务上的 Agent 列表/agents端点即可获取名称、描述和元数据。异步与流式长时间运行的任务不必阻塞调用方执行结果可以逐步以事件形式推回来。状态保持多轮对话依赖历史时由协议层管理会话而不是每个 Agent 自己造一套记忆存储。核心能力拆解4 个概念看懂 ACPACP 的模型由几个小而正交的概念组成理解它们基本就理解了整个协议概念作用典型场景Agent一个可被发现的通信实体通过 Manifest 声明名称与能力把工具型 Agent 注册给调用方Run一次带输入的执行支持同步、异步和流式后台跑一个长研究任务Message / MessagePart一条消息由有序的内容块组成支持文本、图片、JSON 等一次请求里同时带文字和图片AwaitAgent 可以暂停等待外部输入人工确认、数据补充再继续执行前向用户要审批Session跨多次执行保持历史和状态多轮对话、长任务续跑协议本身保持不预设unopinionated它不关心你的 Agent 内部用什么框架实现只约束双方交换什么格式的数据。最短路径上手步骤5 分钟跑通第一个 Agent以 Python SDK 为例要求 Python ≥ 3.11使用 uv 管理项目初始化项目并安装 SDKuv init --python 3.11 my_acp_project然后uv add acp-sdk写一个最小 AgentServer()加一个server.agent()装饰的异步函数yield消息即产生流式输出最后server.run()启动服务uv run agent.py服务监听http://localhost:8000验证发现curl http://localhost:8000/agents返回的 JSON 里能看到你的 Agent发起执行curl -X POST http://localhost:8000/runs在 JSON 里指定agent_name和input消息拿到运行结果。server Server() server.agent() async def echo(input: list[Message]): for message in input: yield message server.run()客户端侧同样简单Client(base_url...)打开后调用run_sync即可拿到输出完整步骤和更多示例见 快速上手文档 与 示例目录。与现有框架和工具如何集成ACP 不要求你重写 Agent常见有三种接法包裹存量 AgentLangGraph、LlamaIndex 的 Agent 用装饰器暴露为 ACP Agent 即可框架的流式能力可以原样映射为 ACP 事件参考 examples/python/langgraph-greeting 与 examples/python/llama-index-ragAgent 当客户端一个 Agent 完全可以同时是 ACP 服务端处理请求和客户端调用别的 Agent。路由器模式就是这样实现的中心 Agent 拆解请求、分发任务、汇总结果与 MCP 互补Agent 的工具接入走 MCPAgent 之间的通信走 ACP两者互不替代。跨语言的调用也可以直接用 TypeScript SDK见 typescript/src/client/而不必依赖 Python。常见问题与避坑建议部署和调试阶段这几处最值得注意默认内存存储不要上生产默认 Memory Store 重启即丢状态开发环境够用即可生产建议换 Redis 或 PostgreSQL 存储让多副本共享状态配置方式见 高可用指南会话要一致状态由 Session 承载同一会话的多次执行必须使用相同会话标识跨副本部署时确保各实例连接同一个集中存储负载均衡看/pingACP 的会话是集中管理的通常不需要会话粘连健康检查配置到/ping端点即可调试用 OpenTelemetryserver.run(configure_telemetryTrue)开启链路追踪把 OTLP 数据导出到 Jaeger通用或 Phoenix面向 AI 负载就能可视化请求在各 Agent 间的流转。上图是一次会话中多次执行的追踪视图可以看到每个请求跨越了哪些服务、耗时分布在哪里排查“哪个环节卡住了”时非常直观。下一步从哪里开始ACP 的设计是渐进式的先用最简单的 echo 用例验证链路再按需启用流式、会话和集中存储。如果你正在处理多 Agent 协作或存量 Agent 对外暴露的场景可以先从 核心概念文档 里的最小用例开始跑通一次调用再逐步叠加你真正需要的能力。【免费下载链接】acpOpen protocol for communication between AI agents, applications, and humans.项目地址: https://gitcode.com/gh_mirrors/acp4/acp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考