ADK for TypeScript
Agent Development Kit (ADK) for TypeScript 是由 IQ AI 创建的开源框架,用于开发、编排和部署智能 AI 代理。它提供了一个以 TypeScript 为先的工具包,用于构建各种 AI 系统,从简单的问答机器人到能够执行现实世界任务的复杂多代理架构,重点关注类型安全和模块化 [1] [3]。
概述
TypeScript 的 Agent Development Kit (ADK) 是一个框架,使开发人员能够构建多代理 AI 系统。它受到 Google 的 Python ADK 的启发,并针对 TypeScript 生态系统调整了架构,侧重于类型安全、模块化和开发者体验。该工具包支持分层代理,集成各种工具,管理内存并处理实时流。它的作用包括构建、编排和部署 AI 代理 [2] [4]。ADK for TypeScript 于 2025 年 7 月 17 日发布,支持开发人员构建 AI 代理 [1]。
ADK for TypeScript 充当创建各种 AI 应用程序的工具包。它的设计考虑了开发者体验,提供了 TypeScript 固有的自动完成和类型安全等功能。该框架的模块化架构允许组合代理、附加各种工具以及与多个大型语言模型 (LLM) 集成 [1]。它旨在从原型扩展到生产部署,并包含会话管理、持久内存和 OpenTelemetry 支持等功能,用于跟踪和性能监控 [2]。
主要特性
ADK for TypeScript 围绕几个核心功能构建,这些功能支持开发人员使用它。这些功能有助于它支持 AI 代理开发的能力。
AgentBuilder API
AgentBuilder API 提供了一个用于创建 AI 代理 的接口,旨在减少样板代码。该 API 允许开发者设置代理,支持简单的代理实例化和构建多代理工作流程。可以实现常见的模式,并且该 API 被设计为逐步增加复杂性,允许开发者从简单开始并根据需要添加功能。它旨在随着项目需求的变化而扩展,从基本代理到复杂的系统 [2] [4]。
多 LLM 兼容性
该框架通过统一的界面提供与多种大型语言模型(LLM)的兼容性。这允许开发人员在不同的模型之间切换,例如 OpenAI 的 GPT 系列、Google Gemini、Anthropic Claude 和 Mistral,从而根据特定的应用程序需求提供模型选择的选项。该系统由 Vercel AI SDK 提供支持,其与提供商无关的基础支持开发人员使用各种生态系统[1] [4]。
模块化架构和工具集成
ADK for TypeScript 具有模块化架构,使开发者能够组合代理并集成各种工具。开发者可以组合多个代理,为其配备自定义工具,并编排工作流程。代理可以配备现成的工具或自定义构建的功能。工具集成通过模型上下文协议 (MCP) 促进,该协议支持工具、功能集成和自动模式生成,允许连接到市场上的一系列 MCP 服务器或创建自定义服务器。这种模块化为开发者在设计和扩展其人工智能系统方面提供了选择 [2] [4]。
内存管理和会话处理
该工具包包含用于状态内存和会话管理的功能,允许代理在多次交互或会话中保持上下文和状态。这适用于构建需要持久知识和操作连续性的人工智能助手和自主代理。内置的会话管理和内存服务专为企业部署而设计,支持可靠性和可扩展性 [1] [4]。
追踪和评估
ADK for TypeScript 包含了对 OpenTelemetry 的支持,用于追踪和性能评估。这允许开发者调试代理行为,监控性能指标,并深入了解多代理系统的执行流程。追踪功能支持优化生产环境中的代理性能和可靠性。此外,它还包括一个内置的评估系统,通过测试最终响应和执行轨迹来评估代理性能 [1] [4]。
Agents
Agent是ADK for TypeScript中的核心抽象概念。它们旨在封装AI模型、指令、工具和协调逻辑,从而创建能够解释指令并执行复杂任务的自主程序 [4]。
代理类型
ADK for TypeScript 提供了几种类型的代理,每种代理都适用于不同的用例,使开发人员能够通过组合它们来构建复杂的系统 [4]。
- LLM 代理:这些是最常见的代理类型,利用大型语言模型进行推理、决策和工具使用。它们构成了会话式 AI 和面向任务的机器人的核心。
- 工作流代理:这些代理旨在以结构化模式编排其他代理。它们包括几个子类型:
- 顺序代理:按预定义的顺序执行一系列子代理,适用于可预测的、逐步的工作流程和数据处理管道。
- 并行代理:同时运行多个代理或任务,这非常适合通过并发处理独立任务来提高性能。
- 循环代理:重复执行代理或工作流程,直到满足特定条件。这对于迭代过程、重试逻辑或需要持续改进的任务非常有用。
- 自定义代理:该框架允许创建具有自定义逻辑和行为的专用代理。这使开发人员能够构建针对特定需求量身定制的代理,或标准代理类型未涵盖的集成模式。
- 多代理系统:ADK 支持协调多个代理来解决复杂的分布式问题。这允许创建系统,其中专门的代理进行协作,每个代理处理一个大型任务的不同方面。
这些代理类型为构建各种 AI 应用程序提供了灵活的基础 [4]。
选择合适的代理类型
代理类型的选择取决于任务的具体要求。该框架提供了一个指南,用于选择最适合给定场景的代理 [4]。
- LLM 代理 最适合需要推理、对话和动态工具使用的任务。
- 顺序代理 应用于操作顺序至关重要的逐步工作流程和管道。
- 并行代理 非常适合可以同时执行以提高速度和效率的独立任务。
- 循环代理 非常适合实现迭代改进、轮询或重试逻辑。
- 自定义代理 当项目需要开箱即用不可用的特定行为或集成模式时,需要自定义代理。
- 多代理系统 适用于受益于多个专门代理协调的复杂问题。
该指南有助于开发人员构建更有效和高效的 AI 系统 [4]。
多智能体工作流程
ADK for TypeScript 提供对编排多智能体工作流程的支持。它允许协调智能体团队来处理任务和流程。该框架支持各种编排逻辑,包括顺序、并行和 LLM 驱动的路由,使开发者能够设计协作工作流程,其中专门的智能体链可以协同工作以实现共同目标 [2]。此功能用于构建可以管理多步骤任务的 AI 系统。
x402协议集成,实现链上支付
ADK-TS集成了Coinbase的x402协议,这是一个开放标准,旨在促进AI代理和其他数字服务的链上加密支付。此集成使开发人员能够构建自动收费并使用加密微支付支付API调用的代理,为自主、货币化的AI经济奠定基础 [6]。
x402协议基于HTTP 402 Payment Required状态代码。该过程涉及服务器以402错误响应对付费资源的请求,其中指定成本、货币(例如USDC)和目标地址。然后,客户端进行链上支付并重试该请求,在X-PAYMENT标头中包含加密支付证明。服务器验证此证明并授予对资源的访问权限。该系统支持即时、全球微支付,这对于信用卡等传统支付方式来说通常是不切实际的 [6]。
ADK-TS x402 Agent Template
为了演示这种能力,IQ AI 发布了 ADK-TS x402 代理模板。这个入门项目为开发者提供了一个完整的设置,用于构建具有原生加密支付功能的 AI 代理。该模板被结构化为三个关键组件,它们协同工作 [6]:
- 服务器:充当 x402 支付墙代理。它定义了哪些 API 路由是免费的,哪些是付费的,强制执行定价,并在转发请求之前验证链上支付。
- 代理:使用 ADK-TS 构建,该代理旨在同时使用免费工具(如检查 API 价格)和付费工具来实现高级功能。它可以告知用户操作的成本,并在继续支付之前请求批准。
- 客户端:利用与加密钱包集成的 axios 中间件来处理 402 支付挑战。它可以自动完成链上支付的过程,并使用必要的证明重试请求。
该模板的一个关键架构特性是关注点分离:定价和支付逻辑位于服务器上,而不是位于代理的代码中。这允许开发者更新定价,而无需重新部署代理,并使代理的逻辑专注于其核心任务。该模板在 Base Sepolia 测试网 上运行,允许在没有真实资金的情况下进行实验 [6]。
ADK-TS 智能与 x402 经济学的这种集成支持 AI 新模型的开发,例如按 API 调用付费服务、代理之间相互交易的市场以及代理可以自主赚取和花费的去中心化代理经济 [6]。
与NEAR协议集成
ADK-TS与NEAR协议集成,以实现自主AI代理的创建,这些代理可以在链上安全地执行交易,而无需人工干预。这通过与NEAR Shade Agents的合作实现,该合作将AI智能与安全的区块链执行相结合 [7]。
ADK-TS 和 NEAR Shade Agents
该集成将 ADK-TS 的 AI 功能与 NEAR Shade Agents 的 区块链 执行框架相结合。在这种架构中,ADK-TS 负责代理的智能,使其能够监控条件、分析数据和做出决策。NEAR Shade Agents 处理 区块链 交易的安全执行 [7]。
AI-区块链 集成的一个关键挑战是安全管理用于交易签名的私钥。NEAR Shade Agents 使用账户抽象和可信执行环境 (TEE) 来解决这个问题。每个 AI 代理都被分配了自己的 NEAR 账户,私钥安全地存储在 TEE 中,TEE 提供硬件级别的保护。这种设置允许代理自主签署交易。此外,通过 NEAR 的链签名技术,这些代理不仅可以在 NEAR 区块链 上签署交易,还可以在其他链(如 以太坊 和 比特币)上签署交易,从而实现跨链操作 [7]。
Shade Agent Template
为了方便开发,ADK-TS提供了一个专门的模板,即“Shade Agent”模板。该模板提供了一个AI代理的实际示例,该代理通过分析Reddit标题来监控以太坊市场情绪,从CoinGecko获取实时价格数据,并自动签名和广播交易以更新链上预言机合约。该模板包括预配置的REST API端点,用于管理代理并与之交互,允许开发人员监控其NEAR和以太坊帐户,并触发其交易签名过程[7]。
链上能力
对于在 Web3 生态系统中工作的开发者,ADK for TypeScript 提供与 区块链 和去中心化金融 (DeFi) 应用集成的支持。这使得 AI 代理 能够与链上数据和协议进行交互。
这些能力由 IQ AI 开发的一套专门的 模型上下文协议 (MCP) 服务器提供支持,旨在通过提供与各种外部服务和数据源的集成来扩展 ADK TypeScript 代理的功能。
具体的链上功能包括:
- 分析 Fraxlend 和 BAMM 等平台上的 DeFi 头寸。
- 通过去中心化交易所聚合器(如 ODOS)执行代币交换。
- 在代理代币化平台 (ATP) 上管理代币化代理。
- 通过其应用程序二进制接口 (ABI) 直接与智能合约交互。
- 跨 不同 区块链 网络(包括 NEAR 协议)桥接资产或信息。 这些能力由一套用于 区块链 交互的 模型上下文协议 (MCP) 服务器提供支持,从而促进创建可以在去中心化环境中运行的 AI 代理 [1]。
MCP 服务器
IQ AI 开发了一系列专门的模型上下文协议 (MCP) 服务器,以增强和扩展 ADK TypeScript 代理的功能。这些服务器提供与各种外部服务和数据源的集成。可用的服务器包括:
- MCP ABI:用于以太坊兼容区块链上的智能合约 ABI 交互。
- MCP ATP:用于与 IQ AI 代理代币化平台交互。
- MCP BAMM:用于 Fraxtal 上的借贷自动化做市商操作。
- MCP Discord:用于与 Discord 机器人和频道交互以实现消息自动化。
- MCP Fraxlend:用于与 Fraxlend 借贷平台交互。
- MCP IQWiki:用于访问和管理 IQ.wiki 数据和用户活动。
- MCP NEAR Agent:用于 NEAR 协议 区块链 集成,实现 AI 驱动的事件处理。
- MCP ODOS:用于通过 ODOS 聚合与去中心化交易所交互。
- MCP Telegram:用于与 Telegram 机器人和频道交互以实现消息自动化。
- MCP Upbit:用于与 Upbit 加密货币 交易所交互,获取市场数据和交易。
这套服务器使开发人员能够构建具有广泛链上和链下功能的代理 [4]。
ADK-TS CLI
ADK-TS 命令行界面 (@iqai/adk-cli) 是一个用于 AI 代理开发、测试和部署的工具包。它使用 TypeScript 和 NestJS 构建,并提供了一个涵盖从项目创建到生产部署的整个生命周期的开发环境。CLI 被标记为实验性功能,其 API 在未来的版本中可能会发生变化 [5]。
主要功能
ADK-TS CLI 包含一系列旨在支持专业 AI 代理开发的功能 [5]。
开发 & 测试
- 项目脚手架: 从预构建的模板生成新项目,适用于 Discord 机器人、Web 服务器和 MCP 服务器等应用程序。
- 交互式聊天界面: 基于终端的聊天界面,支持 Markdown 渲染,用于快速测试和与代理交互。
- Web UI: 基于 React 的图形界面,用于可视化代理管理和测试。
- 热重载: 在检测到更改时自动重新加载代码,并具有可自定义的监视路径。
- 智能代理发现: 自动扫描代理文件,遵循
.gitignore规则并允许路径过滤。
生产与部署
- RESTful API 服务器: 功能齐全的 HTTP 服务器,用于在生产环境中管理代理和处理消息。
- OpenAPI 文档: 为 ADK 服务器的 API 端点自动生成 Swagger 文档。
- 健康监控: 包括内置的健康检查和状态端点,用于监控应用程序的状态。
- 会话管理: 提供具有状态管理功能的持久对话会话。
- 事件流: 支持通过服务器发送事件 (SSE) 进行实时事件传递。
开发者体验
- 多包管理器支持:自动检测并支持 npm、pnpm、yarn 和 bun。
- 智能 CLI 用户体验:具有交互式提示、微调器和进度指示器,以改善用户体验。
- 调试模式:提供全面的日志记录和诊断功能,用于故障排除。
- 跨平台:完全支持 Windows、macOS 和 Linux 操作系统。