从 Chatbot到Agent 系统 的 adk-js

TypeScript 版智能体开发工具包(Agent Development Kit,简称 ADK) 是一款开源工具集,可通过代码实现全自主可控的高级 AI 智能体的开发、测试与部署工作。其核心功能包含功能丰富的工具集(如谷歌搜索能力、自定义函数),以及适用于高可扩展性应用的多智能体层级架构,同时配套开发可视化界面,便于快速调试排错。可通过命令 npm install @google/adk 完成安装。
使用该工具包的核心优势:能够开发出具备灵活适配性、可版本化管理的 AI 智能体;这类智能体可与谷歌云深度集成,能在笔记本电脑到云端服务器等任意环境中运行,还能像开发常规软件一样,大幅提速 AI 智能体的研发进程。

当 AI 开始“做事”,而不仅仅是“回答问题”,我们需要的就不再是 Prompt,而是工程框架。

Google 开源的 adk-js(Agent Development Kit for JavaScript),正是站在这个转折点上的产物。

为什么「Agent」成了核心?

过去两年,LLM 的典型使用范式是:

Prompt → Completion

这在「问答、生成文本」阶段是成立的,但一旦进入真实应用场景,问题立刻暴露:

  • 任务是 多步骤的
  • 需要 调用外部系统
  • 需要 中间状态
  • 需要 可中断、可恢复
  • 需要 可维护

例如:

「从数据库查数据 → 调用 API → 分析 → 生成报告 → 通知用户」

这已经不是“聊天”,而是程序执行

Agent,本质上是“LLM + 执行能力 + 状态机”

adk-js 是什么?一句工程化定义

adk-js 是 Google 推出的 JavaScript Agent 开发框架,用来系统化构建、编排和运行 AI Agent。

如果一句话更狠一点:

它不是教你怎么和模型聊天,而是教你怎么把模型当成软件模块用。

核心设计思想(工程视角)

Agent 是一等公民,而不是 Prompt

在 adk-js 中:

  • Agent ≠ prompt 字符串
  • Agent = 一个有生命周期的执行单元

它通常包含:

  • 角色指令(system intent)
  • 可调用工具(tools)
  • 执行逻辑(什么时候继续 / 什么时候停)
  • 上下文状态(state / memory)

这一步,把 LLM 从“文本接口”提升为“进程模型”

Tool 是强类型、可验证的

与很多“把工具描述写进 prompt”的方案不同,ADK 的 Tool 是:

  • 明确定义的函数
  • 有参数结构
  • 可在代码层校验
  • 可追踪调用结果

这意味着:

  • Agent 不是“幻想调用 API”
  • 而是真正在你的代码中调用函数

从工程角度看,这是可维护性和安全性的分水岭

明确的执行流(Orchestration)

ADK 并不假设“一个 Agent 能解决所有问题”。

它支持:

  • 多 Agent 协作
  • 子任务拆分
  • 顺序 / 条件执行
  • Agent → Agent 调用

这让它更像:

一个 AI 工作流引擎,而不是聊天框架

如果你熟悉:

  • LangGraph
  • 状态机
  • 后端任务编排

你会非常容易理解 ADK 的方向。

Runtime 与 State 是显式的

这是 Google 风格最明显的地方。

ADK 强调:

  • 执行是 可追踪的
  • 状态是 结构化的
  • 行为是 可复现的

而不是:

  • 靠上下文长度硬撑
  • 靠 prompt 堆记忆

这对长期运行、生产环境 Agent至关重要。

adk-js 在整个 Agent 生态中的位置

一个直观对比:

框架工程取向
LangChain灵活,偏实验
LangGraph强流程,社区驱动
AutoGPT概念领先,工程不稳
adk-js工程优先,生产导向

adk-js 明显不是“最花哨的”,但它是最像“软件基础设施”的 Agent 框架之一

为什么是 Google?

这个项目来自 Google,这意味着一件事:

Agent 不再是社区实验,而是大型科技公司默认的 AI 应用形态。

Google 押注的不是:

  • “更会聊天的模型”

而是:

  • “能嵌入真实系统、执行真实任务的 Agent”

adk-js 就是这条路线在 JavaScript 生态中的落地。

GitHub:https://github.com/google/adk-js
油管:https://youtu.be/ptpYhszCIvY

Scroll to Top