最近似乎 Google 提出的 ADK 似乎很火,说是业界都用 ADK 抛弃了 Langchain,所以我跟进了下这个新的脚手架。先贴官方介绍
Agent Development Kit (ADK) is a flexible and modular framework for developing and deploying AI agents. While optimized for Gemini and the Google ecosystem, ADK is model-agnostic, deployment-agnostic, and is built for compatibility with other frameworks. ADK was designed to make agent development feel more like software development, to make it easier for developers to create, deploy, and orchestrate agentic architectures that range from simple tasks to complex workflows.
就个人浏览了全部文档后,我个人认为其简单来说就是遵循了 Google 的 MCP 和 A2A 协议的一个开发包。其整体的设计思想还是 All in LLM 的设计思想,摒弃了传统 Bot 的框架。
自然而然,这个框架有以下优势和劣势:
- 优势:在尊循 A2A 和 MCP 架构的情况下,该框架和 Langchain 一样提供了几乎完备的 LLM 开发所需要的全部内容。从 LLM 间的互动,LLM 和 Tools 之间的互动,到上下文的管理(Memory / State / Session)到一些简易的监控和认证。
- 劣势:相比传统的 Bot 其认定 LLM 高于其余所有算法,因此如果你不是完全 all in llm 的话用这个框架会有很多劣势。举个例子,你想将很复杂的规则作为白名单细粒度的来控制系统行为,这是做不到的。
因此,这个框架在我的视角下它和 Langchain 的定位类似,实现虽然比 Langchain 但设计理念要比 Langchain 还要简练(Langchain 至少是 Chain 的链接,ADK 直接就是 Agent 批量执行)。说实话个人并不是非常看好他,当然生态反超 Langchain 的话另说。
在具体的工程实践上,此类服务是可以作为传统的 Bot 框架中的一部分,充分的融入框架比如 Rasa,作为一个 Component 或者 Action 我觉得是相当合理的。这样做给我们未来根据客户的需求去更可控的通过 Rule-Base 或者小模型控制幻觉问题提供了基础(似乎大家都在 All in LLM 没人在意这件事情,但我觉得还是蛮重要的)。
因此,结论上是我觉得 ADK 去反超 Langchain 生态还是有点难,可能类似当年 TF 和 Torch 一样的窘境,但好在这个工具和学术界无关因此结局不好判断。另一个结论是,目前如果客户可能强制提出一些限制要求时,传统 Bot 框架可能选择是合适的,毕竟 LLM 作为 DM 也好,作为 NLU,作为 NLG 也好都是完全兼容的,就是没有开源的能用,需要自己魔改下,成本不高也就是一次性工作。
放在最后,我个人是非常欣赏 Google 提出完善的 MCP 和 A2A 协议并努力运营这个生态的努力的,这让更多的开发者可以联合起来在互联网上去形成新的 AI 生态,我认为这对 AI 是否能长久的落地下去至关重要。因此不论用不用 ADK,我觉得在赌行业蓬勃发展的前提下,去将自己的 Bot 去设计成可以作为别人用的 Agent,同时有意将工具和算法拆开去遵循 MCP 协议都是有益的。