adk: v2.0.0
Google Agent Development Kit for JavaScript (ADK JS) 发布 v2.0.0,包含破坏性变更:移除 LLMAgentWrapper 和 LLMAgentWrapperConfig;agent 作为工作流节点直接使用;InvocationContext.agent 变为可选;SequentialAgent、ParallelAgent、LoopAgent 构造时记录弃用警告;BaseAgent 继承 BaseNode 并新增 rerunOnResume 等属性;动态 ctx.runNode() 子节点需声明 rerunOnResume。
发展脉络
- 首次出现adk: v2.0.0Google Agent Development Kit for JavaScript
- 当前判断ADK JS 的这次更新反映了 agent 框架向更统一、更模块化方向发展的趋势。将 agent 作为一等工作流节点,简化了 agent 与工作流的组合,可能降低开发门槛。同时,破坏性变更要求开发者跟进,可能影响采用率。但 Google 的持续投入表明 agent 开发工具链正在快速成熟,竞争加剧。Agent Pulse · 分析
ADK JS v2.0.0 是一次重大版本更新,引入多项破坏性变更,旨在简化 agent 与工作流的集成。主要变更包括:移除 LLMAgentWrapper 包装器,agent 现在可直接作为工作流节点使用;InvocationContext.agent 变为可选,鼓励使用 requireAgent(ctx) 获取;顺序、并行和循环 agent 构造时记录弃用警告,但功能保持不变;BaseAgent 继承 BaseNode,获得 rerunOnResume、waitForOutput、retryConfig、timeout、inputSchema、outputSchema 和 stateSchema 等属性,但子类需注意字段冲突;动态运行子节点时,若需中断并重新读取 resumeInputs,必须声明 rerunOnResume: true。这些变更反映了 ADK 向更统一、更灵活的 agent 编排模型演进。
ADK JS v2.0.0 将 agent 与工作流节点统一,BaseAgent 继承 BaseNode,使 agent 具备重试、超时、输入输出模式等能力,简化了复杂 agent 系统的构建。InvocationContext.agent 变为可选,要求开发者显式处理上下文,可能影响现有代码的健壮性。动态子节点必须声明 rerunOnResume 才能正确处理中断,这改变了中断恢复的语义。这些变更可能促使开发者重构代码,但长期看降低了抽象层级,提高了灵活性。
ADK JS 的这次更新反映了 agent 框架向更统一、更模块化方向发展的趋势。将 agent 作为一等工作流节点,简化了 agent 与工作流的组合,可能降低开发门槛。同时,破坏性变更要求开发者跟进,可能影响采用率。但 Google 的持续投入表明 agent 开发工具链正在快速成熟,竞争加剧。
对于使用 ADK JS 的企业,v2.0.0 的破坏性变更可能带来迁移成本,但新特性如 BaseAgent 继承 BaseNode 可提高开发效率,减少自定义代码。长期看,更统一的模型可能降低维护成本,加速 agent 应用落地。
后续可观察 ADK JS 的弃用警告是否在后续版本中移除,以及新 API 的采用情况。若开发者积极迁移,可能推动 agent 编排模式的标准化。同时,可关注其他框架是否跟进类似设计。