agent-kit
TypeScript 多智能体网络框架,以确定性路由和共享状态实现可预测的 AI Agent 协作编
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
TypeScript 多智能体网络框架,以确定性路由和共享状态实现可预测的 AI Agent 协作编
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:AgentKit 工作流追踪示意图,展示多 Agent 网络中的状态共享与路由机制。
2024 年 11 月,专注事件驱动编排的 Inngest 公司开源了 AgentKit,这是一个为 TypeScript 开发者打造的多智能体(Multi-Agent)网络框架。区别于 Python 生态中 LangChain、AutoGen 等成熟框架,AgentKit 的独特价值在于:它将确定性路由(Deterministic Routing)和状态共享(Shared State)作为一等公民,让 AI Agent 的协作变得可预测、可调试。
截至 2026 年,AgentKit 已获得近 900 颗 GitHub Stars,拥有 131 个 Fork,44 个 Open Issue,活跃的 Discord 社区持续产出新示例。开发者将其描述为「给 TypeScript 程序员的多智能体 SDK」。
AgentKit 的设计哲学围绕四个核心概念展开:
Agent 是 AgentKit 的基本执行单元。本质上是一个 LLM 调用封装,可组合系统提示词(System Prompt)、工具(Tools)和 MCP(Model Context Protocol)工具。开发者通过 createAgent() 创建 Agent 实例:
import { createAgent, anthropic } from "@inngest/agent-kit";
const myAgent = createAgent({
name: "assistant",
system: "You are a helpful coding assistant.",
model: anthropic({ model: "claude-3-5-sonnet-20240620" }),
tools: [/* your tools */],
});
每个 Agent 具备完整的生命周期回调(onYield、onComplete 等),支持流式输出(Streaming)。
Network 是 AgentKit 的协作容器——将多个 Agent 组织在一起,通过共享状态(State)实现协作。Network 支持 Agent 间的交接(Handoff),即一个 Agent 可以将控制权移交给另一个 Agent,典型场景如:文档生成 Agent → 代码审查 Agent → 汇总 Agent 的流水线。
这是 AgentKit 最具区分度的设计。State 不仅是简单的 KV 存储,而是一个类型安全的有限状态机(Typed State Machine)。它存储对话历史和任意 KV 数据,并供 Router 读取以决定下一个调用的 Agent。State 的类型安全通过 TypeScript 泛型保证,编译期即可发现状态字段错误。
Router 是 AgentKit 实现「确定性」的核心机制。它是一个函数,输入为当前 Network 的状态和历史,输出为下一个应调用的 Agent(或无,结束网络)。Router 的实现方式分两种:代码路由(Code-based)——纯 TypeScript 逻辑,最确定性,完全可测试;以及 ReAct 路由(LLM-based)——让 LLM 自行决定下一步,灵活但不确定。
这一设计深受开发者好评——对于需要严格流程控制的业务场景(如合规审查、数据处理管道),代码路由提供了 Python 框架难以实现的确定性保证。
AgentKit 深度集成 MCP(Model Context Protocol)协议。MCP 是 Anthropic 主导的工具调用标准,通过 @modelcontextprotocol/sdk,AgentKit Agent 可以直接调用任意 MCP Server 提供的工具。项目内置了多个示例:Neon 数据库 Agent(连接 PostgreSQL)、E2B 代码执行 Agent(沙箱环境)、Daytona 代码开发 Agent 等。这使得 AgentKit 可以作为编排层,对接所有主流 MCP 工具生态。
项目采用 pnpm Workspace 单体仓库结构,包含核心包 @inngest/agent-kit(含 Agent、Network、State、History、Streaming 等核心模块,以及 Anthropic、OpenAI、Azure-OpenAI、Gemini、Grok 等 LLM 适配器)和 React Hooks 封装包 use-agent。共提供 20+ 示例项目,覆盖快速入门、深度研究、数据库交互、代码执行、语音助手等场景。
依赖设计精简克制:核心依赖仅 @modelcontextprotocol/sdk 和 @inngest/ai,zod 和 inngest 作为 peerDependency 避免捆绑冲突。项目使用 Vitest 测试框架,核心模块均有测试覆盖,ESLint + TypeScript ESLint 确保代码风格一致。综合评估,代码质量评分 82/100。扣分项:核心文件 agent.ts 达 37KB,可进一步拆分。
AgentKit 是纯 SDK 包,不提供 Web UI 和 Docker 镜像。主要部署方式:本地开发通过 Inngest Dev Server 调试;代码集成到 Node.js/Next.js 项目中;结合 Inngest Cloud 利用事件驱动编排能力。快速上手只需 npm i @inngest/agent-kit inngest,参照 20+ 示例项目即可快速启动。硬件需求极低(< 512MB),LLM 调用由所选模型提供方处理推理资源。
当前局限性包括:生态较新,相比 Python 的 LangChain 积累较浅;仅限 TypeScript/Node.js,Python 开发者无法直接使用;MCP 协议本身还在演进,工具生态成熟度参差不齐。根据 GitHub 活跃度和社区反馈,AgentKit 正在向更丰富的 Router 模式、Trace 可视化界面、扩展多语言绑定等方向演进。
AgentKit 的出现填补了 TypeScript 生态在多智能体框架上的空白。它将 Inngest 在事件驱动领域积累的编排经验迁移到 AI Agent 领域,其「状态共享 + 确定性路由」的设计思路,正在影响一批新兴 Agent 框架的设计选择。对于已在使用 Inngest 的团队,AgentKit 是扩展 AI 能力的最自然选择;对于 TypeScript First 的 AI 应用团队,AgentKit 提供了目前最完整的本地化多 Agent 开发体验。
标签: TypeScript · 多智能体 · MCP · Agent Framework · LLM · Inngest 许可: Apache-2.0 最新版本: 0.13.2 最后更新: 2026-04-29