Google近日为Go语言推出了Agent Development Kit(ADK)支持,使开发者能够利用Go语言的强并发和类型特性,以更符合语言习惯的方式构建和管理AI代理。
Go ADK作为开源工具包,专门用于构建模块化的多代理系统。在这种系统中, specialized agents 以分层方式组织,同时提供调试、版本控制和灵活部署等核心功能。
ADK采用代码优先的开发模式,所有代理逻辑、工具定义和任务编排都通过编程语言实现。这种开发方式为开发者带来显著优势:更高的灵活性、更好的可测试性,以及更便捷的版本管理。此外,ADK还内置了专门的开发界面,大幅简化了代理的测试、评估、调试和演示流程。
这个名为ADK web的开发界面是一个基于Angular的Node.js应用,可通过浏览器访问localhost:4200使用。开发者可以通过它实时查看ADK运行时中的事件、跟踪记录和各种工件。据Google关系工程师Daniela Petruzalek介绍,这个开发界面特别有助于团队"专注于构建代理能力和工具化",从而加速实现最小可行产品(MVP)。当然,在后续开发中,开发者可能需要创建自定义界面,这时就需要直接与ADK运行时进行交互。
Go ADK与支持Java和Python的ADK属于同一生态系统,包含OpenAI规范、预构建工具和自定义函数等组件。预构建工具让AI代理能够执行多种任务,包括使用Gemini进行网络搜索、执行代码、集成Google Cloud API,以及接入众多第三方服务。开发者还可以创建自定义工具,扩展代理的能力范围,比如实现数据库查询、文档信息提取等特定操作。
在代理协作方面,ADK提供了Agent2Agent协议(A2A)支持,确保代理间的互操作和协调。通过A2A协议,主代理可以无缝地将任务委派给 specialized sub-agents,无论这些子代理是本地服务还是远程部署,都能保证交互过程的安全性和透明度,同时避免暴露内部存储或专有逻辑。
A2A功能通过独立的库实现,开发者可以对其进行扩展,以支持不同的通信协议和数据库后端。
对于想要快速上手的开发者,建议查看GitHub上的Google ADK示例仓库。这个仓库提供了涵盖不同使用场景和复杂度的示例代理,从简单的对话机器人到复杂的多代理工作流一应俱全。同时,官方文档也值得仔细阅读,其中详细介绍了ADK的各项功能特性。
|