前 言
这是一本关于A2A(Agent to Agent)和智能体(Agent)开发实践的书。本书提供易于搭建的实验环境、简短的示例代码、系统完整的A2A知识体系,并结合多种流行的开源智能体开发框架,面向不同技术背景的开发者,给出从理论到实践的全流程指导。书中通过大量贴近实际应用场景的案例,深入拆解A2A协议、AI Agent的关键概念,以及A2A为AI Agent带来的互操作性能力。无论是刚接触大模型应用的初学者,还是有经验的开发者,都能通过本书理解并掌握构建自主AI的关键技术与核心理念。
A2A是实现多个Agent之间通信和协作的开放标准,最初由Google开发,现在则是在Linux基金会的管理下继续发展。其目标是让不同框架、不同开发厂商以及不同编程语言实现的Agent能够顺畅互操作。
Agent的概念由来已久,一直以个人助理的角色存在,但随着大语言模型的迅猛发展,其进化速度得到了极大提升。2023年4月发布的AutoGPT是一款划时代的产品,它与此前OpenAI发布的GPT-4密切相关,Agent由此升级为AI Agent,并凭借主动思考、主动决策、主动执行等自主特性而稳固立足。与传统的附属于人类的助理相比,AI Agent正朝着更独立、更智能、更具创造力的方向发展。
自AutoGPT发布以来,AI Agent已发展两年有余,相关的开发框架与产品如雨后春笋般涌现,各大厂商也在这一领域持续加码。微软已开源多个框架,其中两年前发布的AutoGen与Semantic Kernel至今仍保持活力,而新推出的Agent Framework则有望整合二者;Google Agent Development Kit与OpenAI Agents SDK专为构建多功能Agent而设计;LangChain、LangGraph、Pydantic AI、CrewAI等一批明星开源项目也共同推动了该领域的繁荣。此外,Anthropic在主导MCP(Model Context Protocol,模型上下文协议)的同时,持续深耕Agent技术,其新近推出的Agent Skills专注于开发具备专业知识的智能体。
Agent发展的核心动力源于对大语言模型落地应用的更深层次追求。尽管对话与内容创作覆盖了生成式人工智能的大部分场景,但业界对AI的期待更高,期望其能够自主决策,从而解决实际生产与生活中的问题。为此,CoT、ReAct、ToT等基于提示词的思维框架为Agent赋予了结构化的推理能力;同时,大模型所提供的工具调用(Function-Calling)特性,使其具备了执行操作的基础。至此,Agent已逐渐演进为大语言模型落地应用的最佳载体。
Agent的发展非常迅速,在单一平台或同一产品内,Agent与Agent之间的沟通通常不存在障碍,但多个平台、不同厂家和多种编程语言开发的Agent之间的协作仍然存在技术问题。单纯用于对话的OpenAI Completions兼容接口在解决这一问题时效果并不理想,而在大模型应用领域广泛使用的MCP更侧重于文本内容的交换,不太适合多个Agent之间的能力发现和精确调用。在这种情况下,A2A协议应运而生,它通过Agent Card对外传达智能体所具备的技能,信息以纯文本、二进制文件和结构化文本等形式在Agent之间流动,从而解决了多Agent、跨平台、跨语言等情况下的集成问题。Google并非唯一提出这一概念的公司,IBM的ACP(Agent Communication Protocol,智能体通信协议)在A2A之前已发布。但在大模型应用领域,生态系统通常更加重要。近期,ACP有计划与A2A合并。
A2A是一个较新的协议,自2025年6月正式发布以来,已经历3个小版本迭代,其生命力源于设计的简洁性,以及对多语言、多模态、流式传输、安全性和可观察性等特性的原生支持。目前,A2A已获得150多家AI厂商与开源组织的支持,Python、Java、JavaScript、C#/.NET和Go五种语言的SDK均已发布稳定版本(Stable),主流第三方产品也普遍跟进其最新标准。
本书特点
本书从实战的角度讲解A2A的知识,在简述其基本技术原理之后,围绕如何应用此协议展开开发案例的介绍,并将A2A融入各种AI Agent的开发框架和实际应用中。
本书具有以下几个特点:
?实践门槛低:不像大模型训练那样需要GPU,智能体的开发只需要能够在CPU算力条件下运行低精度大模型,即可确保应用顺利运行。读者只需拥有一台笔记本电脑并具备一定的Python基础知识,就可以完整实践本书所有章节的内容。
?知识成体系:书中介绍的A2A及智能体开发相关内容具有系统性,而且知识结构完整。读者可以从协议的核心概念、基本元素和传输方式入手,在了解基本技术体系的基础上,实践最简A2A应用案例,进而逐步深入学习A2A在Agent协作、多模态应用、安全机制等方向的开发。书中涵盖了A2A标准的各个方面。另外,全书一半的篇幅用于介绍基于多种Agent框架的实际应用开发及其与A2A的整合。
?技术广泛:本书一方面介绍A2A,另一方面也涵盖了多种主流AI Agent开发技术和框架。关于A2A标准本身的案例涵盖了流式Chat、WebUI、多模态及OAuth2等技术;而10个应用广泛的Agent开发框架则更注重于实际应用,读者可以根据需要选择性地深入研究。
?案例多样化:本书的案例覆盖领域广泛,贴近真实应用场景。例如,聊天应用、多轮对话、视频下载、代码执行器、工具编排、多角色协作、数据应用和智能会话等,都在应用篇中有具体介绍,并且这些案例均与A2A进行了整合。
?全部开源:书中所涉及的应用和开发库均为开源项目,所使用的大模型服务也以本地部署的Qwen3模型为主,不依赖线上云服务,案例代码也无须调用额外付费的API。此外,本书所有示例代码及简要操作过程均在GitHub上开源,方便读者学习与复现。
内容来源
本书内容源于笔者的研究与实践。在写作过程中,笔者深入研读了A2A标准,熟悉A2A-SDK及相关技术,并编写了多个示例程序。开发与应用部分涵盖了多个领域与实际场景,力求在知识的系统性与实用性之间取得平衡,为读者提供多元、可落地的参考资料。具体来说,本书的写作素材主要源于以下两个方面:
?实践案例:在撰写本书的过程中,笔者实践了大量A2A应用,构建了一系列基础组件示例,涵盖多个实际场景的应用案例和服务封装方案,积累了丰富的一线经验。
?官方资源:系统梳理并整合了A2A标准文档、官方示例网站以及主流开发框架的权威资料,确保内容准确、完整,并能够及时反映最新规范。
读者对象
本书所涉及的A2A与智能体开发内容全面、技术丰富、操作步骤详细、源代码完整,适合作为A2A及Agent初学者和开发者的实践指导。
对于初学者来说,通过了解A2A的基本技术原理,搭建相关技术栈并编写最简应用,能快速入门A2A标准及各种Agent的开发技术。
对于开发者而言,掌握如何使用A2A-SDK开发基础应用、实现多轮交互、构建Agent协作机制、开发多模态应用以及集成安全与认证等功能,将有助于深入理解A2A协议、智能体机制和大模型应用的开发逻辑。在应用篇中,本书结合10个广受欢迎的Agent开发框架与实际案例,满足开发者进阶探索的需求。在这些场景中,读者既可使用框架自带的A2A Server导出能力,也可通过A2A-SDK对智能体进行简洁封装,快速构建对外服务接口,实现跨平台互联互通。
如何阅读
本书围绕A2A的标准、原理、开发与应用,系统讲解多种Agent开发技术,并辅以实战案例,帮助读者循序渐进地掌握相关知识。本书分为基础篇、开发篇和应用篇,逐步深入地阐述A2A与智能体在实际应用中的全方位技术。
基础篇(第1、2章):介绍A2A的基本概念、技术应用场景、发展历程、技术架构、协议规范和实战环境的搭建过程。同时,通过一个简单易懂的入门实例,解析A2A各个组件之间的关系,并加以分析和总结。
开发篇(第3~8章):通过丰富的AI Agent实际案例,详细讲解A2A在能力发现、消息传递、任务管理、工件处理、流式传输、消息推送、上下文状态保持、多模态支持与安全性等方面的关键技术,帮助读者全面了解A2A的开发方法。
应用篇(第9~18章):介绍Google ADK、BeeAI、Pydantic AI、CrewAI、LlamaIndex、LangGraph、Semantic Kernel、AG2和Agent Framework等主流智能体开发技术,涵盖智能体在实际应用中的方方面面,为开发者提供实践参考。部分框架内置了A2A服务的提供能力,或可调用外部A2A工具;另一部分则需要借助前面章节学到的知识,将业务功能封装为A2A服务。通过这样的安排,读者能够将全书内容融会贯通,灵活应用于实际开发中。
实验要求
本书的所有示例均将通过Ollama部署的Qwen3模型作为大模型支持。运行该模型并不强制需要GPU,但如果配备了GPU,将显著提升运行效率。当然,若读者配备了有24GB内存的推理卡或显卡,如RTX3090、RTX4090等,也可以选择部署开源的完整精度模型来作为内容生成服务提供者。在部署过程中建议开启Function-Calling(又称Tool Calling)功能,因为大多数智能体的核心交互机制都依赖此项功能。
阅读与实践注意事项
(1)操作系统环境:全书示例以Windows系统为实验环境,降低了操作复杂度,读者无须具备Linux使用经验。书中涉及的文件操作、命令执行等均采用Windows的操作方式进行描述。当然,使用Linux系统的读者也可参考进行实践,操作步骤与Windows中的基本相同。
(2)命令换行规范:在操作系统命令行窗口中运行命令时,Windows系统对较长命令的处理不是很方便,而且有cmd和PowerShell两种语境,为了避免不可预知的问题,除非本书中明确说明,否则所有命令均在一行内完整输入执行,不得将命令分拆到多行中执行。
(3)命令注释规则:在操作系统命令行下运行的命令,如果以“#”开头则为注释,无须运行。为了避免读者误将多条命令拼接为一行运行,笔者通常会在每条命令的前一行加一条注释说明。
(4)示例代码说明:本书选用Python技术栈,提供的大模型应用的相关示例代码(包括智能体和A2A)均简洁明了,单个示例代码大多不超过60行,因此在本书中都提供了完整的源代码。为帮助读者理解程序原理,大多数章节采用分段讲解的方式,但这可能导致程序代码的缩进格式难以在书中直观看到。因此,建议读者在调试示例程序前,在本书配套资源中下载完整的示例程序代码。
配套资源
本书配套提供案例源代码,所有源代码均经过严格测试验证,确保能够顺利运行并达到预期效果。读者可扫描以下二维码免费获取。
如果读者在学习本书的过程中遇到问题,可以发送邮件至booksaga@126.com,邮件主题为“构建自主AI:深入A2A协议的智能体开发”。
尽管笔者在写作过程中力求严谨,并反复测试和验证示例程序,但仍难免存在疏漏,敬请读者批评指正。
著 者
2026年1月
