ADK for TypeScript
用于 TypeScript 的代理开发工具包 (ADK) 是由 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 代理。它通过自动处理会话创建、内存管理和配置默认值来简化开发,使开发人员能够专注于代理逻辑。虽然直接实例化代理可以为生产系统提供最大的控制,但 AgentBuilder 针对快速原型设计和构建多代理工作流程进行了优化 [8]。
主要功能包括:
- 流畅 API:使用可链式方法结构(例如,
.withModel().withTools().build())进行直观配置。 - 自动会话管理:默认情况下管理用于对话状态的内存会话,可以替换为持久性解决方案。
- 智能默认值:提供合理的默认配置,以减少常见用例的样板代码。
- 多代理编排:包括内置方法,用于创建具有顺序、并行、循环或基于图的执行模式的复杂多代理系统。
该 API 支持各种配置方法,用于核心设置、输入/输出模式、工具、会话管理和执行挂钩。终端方法(如 .build())构造代理,而便利方法(如 .ask(message))构建并立即使用单个查询执行代理 [8]。
模型和提供商集成
该框架提供了一个灵活的系统,用于集成各种大型语言模型(LLM)。虽然它默认使用谷歌的Gemini模型,但它支持两种主要方法来使用其他提供商,如OpenAI、Anthropic和Groq [9]。
- 直接模型名称:一种直接的方法,其中模型的字符串标识符(例如,
gpt-4o)被传递给代理。这需要设置环境变量,如LLM_MODEL和提供商特定的API密钥(例如,OPENAI_API_KEY)。这种方法适用于快速设置和依赖性较少的生产应用程序。 - Vercel AI SDK 集成:一种更高级的方法,使用来自 Vercel AI SDK 的模型实例。此方法提供更大的控制、对具有一致 API 的更广泛提供商的访问以及高级功能(如流式传输)。建议用于多提供商设置,以及通过
@ai-sdk/ollama等集成使用本地或开源模型。
以下提供商通过这些方法支持 [9]:
| 提供商 | 示例模型名称 | 必需的环境变量 |
|---|---|---|
| Google Gemini | gemini-2.0-flash, gemini-2.0-pro, gemini-1.5-pro | GOOGLE_API_KEY |
| OpenAI | gpt-4o, gpt-4, gpt-3.5-turbo | OPENAI_API_KEY |
| Anthropic | claude-3-5-sonnet-20241022, claude-3-opus | ANTHROPIC_API_KEY |
| Groq | llama-3.1-70b-versatile, mixtral-8x7b | GROQ_API_KEY |
| Mistral | mistral-large-latest, codestral-latest | MISTRAL_API_KEY |
模块化架构和工具集成
ADK for TypeScript 具有模块化架构,使开发者能够组合代理和集成各种工具。开发者可以组合多个代理,为它们配备自定义工具,并编排工作流程。代理可以配备现成的工具或自定义构建的功能。工具集成通过 模型上下文协议 (MCP) 促进,该协议支持工具、功能集成和自动模式生成,允许连接到市场上的各种 MCP 服务器或创建自定义服务器。这种模块化为开发者在设计和扩展其 AI 系统时提供了多种选择 [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 提供对编排多智能体工作流的强大支持,使专业智能体团队能够协作完成复杂任务。该框架的 AgentBuilder API 通过几种内置的编排模式促进了这些工作流的创建。开发人员可以设计顺序管道、并行运行智能体、创建迭代循环或构建具有条件分支的复杂、基于图形的系统。这允许创建复杂的 AI 系统,其中智能体可以委派任务并协同工作以实现共同目标 [8]。
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 agent template。这个入门项目为开发者提供了一个完整的设置,用于构建具有原生加密支付功能的 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 中,从而提供硬件级别的保护。这种设置允许代理自主签署交易。此外,通过 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 操作系统。
ADK-TS Hackathon 2025
2025年10月,IQ AI 公布了为期四周的 ADK-TS Hackathon 2025 的获胜者。该活动吸引了 122 名开发者,提交了 50 个项目,其中 34 个项目有资格进入最终评审阶段。黑客马拉松旨在展示 ADK-TS 框架在构建创新 AI 代理方面的能力 [10]。
主赛道获奖者
三个项目因其在核心类别中的卓越表现而各获得价值1,000美元的稳定币奖励。
| 类别 | 项目名称 | 描述 |
|---|---|---|
| 代理应用 | CodeForge AI | 一个用于端到端软件开发的多代理平台,包括代码生成、安全扫描和测试。 |
| MCP 扩展 | OpsPilot | 一个 Discord 原生的 AI 随叫随到 DevOps 团队,用于监控警报、分类事件并生成拉取请求以修复问题。 |
| Web3/区块链用例 | ChainInsight | 一个通过对话管理 DeFi 工作流程的 AI 代理,包括协议研究、交易模拟和风险分析。 |
奖励曲目和值得注意的获奖者
另外有13个项目因其在特定领域的贡献而获得了200美元的奖励。这些项目包括:最具实用性的现实应用案例(Confluent,一个会计平台集成商),最佳机器人集成(BingeBird,一个Telegram娱乐发现机器人),最佳技术实现(Obrix,一个清洗交易检测平台)以及对ADK-TS的最佳改进(Bazaaro,与Coinbase的CDP AgentKit集成)。其他值得注意的项目侧重于区块链终端、链上分析、自动化交易和药物发现 [10]。