跳到主要内容
Vantaige
Genkit screenshot
Genkit logo

Genkit

免费

Genkit 是 Google 为 TypeScript、Go 和 Python 开发者打造的开源 AI 框架。它提供类型化流程(typed flows)、RAG、工具调用和多智能体支持,并配备了出色的本地开发者 UI(Developer UI),用于迭代提示词和调试追踪。基于 Apache 2.0 协议免费提供。

使用场景:代码与开发
功能:APIOpen Source

Genkit 是由 Google 的 Firebase 团队构建和维护的开源 AI 应用框架。它于 2024 年 5 月的 Google I/O 大会上发布预览版,并分别于 2025 年 2 月(Node.js)和 2025 年 9 月(Go)达到稳定的 1.0 版本。它为开发者提供了一个单一、一致的 API,用于构建 AI 驱动的功能:文本生成、图像生成、多轮对话、工具调用、检索增强生成(RAG)以及多智能体工作流。它基于 Apache 2.0 协议授权,完全免费使用,并可部署到 Firebase、Cloud Run 或任何 Node.js、Go 或 Python 环境中。

该框架的核心抽象概念包括流程(flows,类型化、可观测的 AI 逻辑单元)、提示词(prompts,带有架构验证的版本化 Handlebars 模板)、检索器(retrievers,用于向量搜索的 RAG 连接器)和评估器(evaluators,用于衡量输出质量的测试工具)。它支持广泛的模型提供商,包括 Google Gemini、Vertex AI、OpenAI、Anthropic、xAI Grok、DeepSeek,以及用于本地推理的 Ollama。其本地开发者 UI(Developer UI)是一个基于浏览器的交互式界面,用于运行流程、检查追踪记录和迭代提示词,已成为评估过多种替代方案的开发者中最受赞誉的功能。

截至 2026 年 5 月 Genkit 的实际功能

Genkit 的架构以“流程(flow)”概念为中心:这是一个 TypeScript、Go 或 Python 函数,它将 AI 逻辑与强大的输入/输出类型、流式传输支持和自动检测封装在一起。每次流程调用都会生成一个追踪记录,记录每个步骤的输入、输出、延迟、Token 使用量和成本估算。在开发期间,可以在本地开发者 UI 中查看这些追踪记录;在生产环境中,则可以在 Firebase Console 仪表板中查看。

该框架为四种常见的 AI 模式提供了内置抽象。对于生成任务,统一的 generate() API 可处理跨任何受支持提供商的文本、图像和多模态响应。对于对话功能,Chat API 负责管理多轮会话状态。对于知识检索,Genkit 的检索器接口可连接到包括 Firestore、Pinecone 和 pgvector 在内的向量数据库。对于智能体行为,工具调用允许流程调用外部函数,而多智能体协调(截至 2026 年中仍处于测试阶段)则允许流程将任务委托给专门的子智能体。

Go SDK 于 2025 年 9 月 10 日达到 1.0 GA 版本,并做出了正式的兼容性承诺:针对 Genkit 1.x 编写的程序将在所有未来的 1.x 版本中正确编译和运行。TypeScript SDK 于 2025 年 2 月 12 日升级至 1.0。Python 在 2026 年初达到了 v1.0,并进行了完全的异步优先重写。Dart 支持目前面向 Flutter 开发者提供预览版。截至 2026 年 4 月,Go SDK 的版本为 1.7.0。

值得注意的是与 Google AI Studio 的连接:Genkit 使用与 AI Studio 相同的底层 Gemini 模型 API,但将它们封装在生产级脚手架中。2025 年 9 月的版本还引入了 genkit init:ai-tools,该命令可自动配置 Genkit 的 MCP 服务器,使其与 Firebase Studio、Claude Code、Gemini CLI 和 Cursor 配合使用。这使得 AI 编程助手可以直接从其上下文窗口查询流程定义、运行流程并获取执行追踪记录。

Genkit 与 LangChain 和 Vercel AI SDK 的定位对比

LangChain 是最主要的比较对象。其 Python 库拥有超过 90,000 个 GitHub Star,而 Genkit 为 5,900 个。LangChain 的 npm 包每周下载量约为 160 万次;Genkit 的 Firebase 插件约为 21.8 万次。生态系统的差异是真实存在的:LangChain 拥有 200 多个集成、一个商业可观测性平台(LangSmith),以及 LangGraph 中的图编排层。在机制上,LangChain 使用 OOP 消息数组模式,你需要组合 SystemMessage 和 HumanMessage 对象;而 Genkit 使用内置 Zod 架构验证的类型化流程。LangChain 的 JavaScript 包压缩后为 101.2 kB,且阻碍了边缘运行时(edge runtime)部署;Genkit 则更轻量。对于 Google Cloud 生态系统之外的 Python 团队来说,LangChain 的社区优势是决定性的。对于希望使用流程和智能体而又不想陷入 OOP 繁琐代码的 TypeScript 团队来说,Genkit 具有很强的竞争力。

Vercel AI SDK 针对的是不同的细分市场:构建流式 UI 的 React 和 Next.js 开发者。它是一个更底层的库:它为你提供了生成原语和提供商抽象,但没有流程或管道概念,没有内置追踪,也没有开发者 UI。Vercel AI SDK 具有 Genkit 不提供的原生 React Server Components 集成和边缘运行时支持。用 2026 年 4 月的一篇框架比较文章的话来说:“与 Genkit 相比,Vercel AI SDK 在更底层的抽象级别上运行。”这两个工具解决的是相邻但不同的问题。构建 Next.js 聊天界面的团队通常更喜欢 Vercel AI SDK,因为其流式优先的设计。而构建具有复杂逻辑、评估和可观测性需求的服务器端 AI 功能的团队则倾向于 Genkit。

对于对基于图的智能体编排感兴趣的团队,LangGraph 和 DSPy 涵盖了 Genkit 的多智能体支持(仍处于测试阶段)尚未达到的领域。Genkit 是一个通用框架;它不像那些工具那样专注于自主智能体循环。

“坦白说,Genkit 开发者 UI 是杀手级功能。在这次比较中,没有任何其他框架能与之媲美。”—— Xavier Portilla Edo,xavidop.me,2026 年 4 月

实际的开发循环是什么样的

你首先需要定义一个流程。在 TypeScript 中,这意味着使用 Zod 调用带有输入和输出架构的 ai.defineFlow(),然后编写调用 ai.generate() 的函数体,并传入模型、提示词和可选的工具列表。运行 genkit start 会在 localhost:4000 启动本地开发者 UI。从那里,你可以运行流程、检查每个步骤的追踪记录、调整提示词文本,并在不重启服务器的情况下重新运行。这种迭代循环(更改提示词、运行、检查追踪记录、重复)是将 Genkit 与缺乏内置 UI 的框架区分开来的主要工作流。

对于 RAG 用例,你可以定义一个封装了向量搜索(Firestore vector、Pinecone、pgvector)的检索器,并将其链接到你的流程中。评估器 API 允许你定义一个测试数据集,并针对多个提示词变体运行它,比较输出质量得分。对于生产部署,Genkit 流程是标准的 Firebase Cloud Functions 或 Cloud Run 处理程序;监控集成会将延迟、Token 使用量和故障率报告给 Firebase Console。

Go 开发者可以通过独立的 CLI 二进制文件获得相同的开发者 UI。Go 中的类型安全特性尤为强大:流程的输入和输出是带有 JSON 架构验证的 Go 结构体,在流程调用时就能捕获架构不匹配的问题,而不是等到模型响应时。

Genkit 是为谁构建的

Genkit 最适合三种场景。首先,为现有应用添加 AI 功能的 Firebase 开发者:Firestore 集成、Cloud Functions 部署路径和 Firebase Console 监控使技术栈保持一致,无需额外工具。其次,希望获得比生成库更多功能,但又不需要完整智能体平台的 TypeScript 团队:Genkit 的三个抽象级别(原始生成、类型化流程、多智能体协调)涵盖了大多数生产环境 AI 功能需求。第三,Go 后端团队,在这一领域,Genkit 是唯一成熟的、由 Google 支持的 AI 框架,具有 Go 1.0 的稳定性和兼容性承诺。

该框架也适合需要模型可移植性的团队。从 Gemini 切换到 OpenAI,再到自托管的 Ollama 模型,只需更改一行配置,而无需重写应用逻辑。插件架构标准化了提供商的行为,因此无论使用哪种模型,结构化输出、工具调用和流式传输的工作方式都保持一致。

Genkit 不是什么

Genkit 不是 React/Next.js 流式界面的正确选择。Vercel AI SDK 的原生 RSC(React Server Components)集成、边缘运行时支持和流式 Hooks 是专为该用例构建的,这是 Genkit 无法比拟的。

对于 Google Cloud 之外重度使用 Python 的团队来说,它不是 LangChain 的替代品。由于其 Python 社区仍处于从 Alpha 阶段追赶的状态,而且 LangChain 拥有 90,000+ Star 的生态系统已经解决了 Python RAG 和智能体模式,不为 Firebase 或 Vertex AI 进行构建的 Python 开发者会发现 LangChain 的社区资源要丰富得多。

Genkit 不提供 LangGraph 级别的主观多智能体图编排。它的多智能体支持处于测试阶段,依赖于 Genkit 自己的流程委托模型,而不是具有循环、条件分支和人在回路(human-in-the-loop)检查点的显式图。

最后,Anthropic 适配器(Claude 模型)是社区维护的第三方插件,而不是 Google 的官方集成。这带来了真正的滞后风险:当 Anthropic 发布新的模型版本时,Genkit 中的支持可能会滞后数周或数月。将 Claude 作为主要模型的团队应考虑到这一点。

“Genkit 感觉并不完全是提供商无关的,Claude 适配器是第三方的,而且更新滞后。”—— Konstantin Komelin,komelin.com,2025 年

Genkit 的立足之地在于中间地带:需要结构化、可观测的 AI 逻辑的生产级 TypeScript 和 Go 应用,同时又不想承受 LangChain OOP 抽象的负担,也不想承担从零开始构建可观测性的成本。Apache 2.0 许可证、开发者 UI 以及与 Firebase 生态系统的契合度,使其成为已经处于 Google 生态圈中,或正在寻找自带追踪功能的 AI 框架的团队的强有力选择。

用户评价

暂无评价,快来分享你的第一条体验吧!

登录 后即可撰写评价。

收录于精选合集

包含 Genkit 的精选合集。

相关文章

与 Genkit 相关的指南和文章。