Genkit 是什么?谷歌开源的 Agent 应用框架,6.5K 星不起眼、npm 周下载却有 18.5 万(基础篇)
导语
横向 Agent 平台这个赛道,Dify、Langflow 卷的是画布和自托管,LangGraph、CrewAI 卷的是多智能体编排。但还有一派走的是完全不同的路:不卖画布、不搞社区运营,背靠 Google 生态,专门为「写代码的人」做框架——Genkit 就是这一派里最高调的那个,也是最容易被星数低估的那个。
仓库 6509 星、859 个 fork,Apache-2.0 协议,TypeScript 为主。星数在横向平台里排不上号(Dify 那篇写过人家 15.7 万),但它的 npm 包 genkit 上周下载量 18.5 万次——比很多 10 万星项目的实际用量都大。而且就在最近,它的仓库悄悄从 firebase 组织搬到了独立的 genkit-ai 组织,旧链接自动跳转,官方定位也改成了「构建 Agentic 应用的开源框架」。
项目介绍:四个语言、一套 API、一个调试台
Genkit 的骨架分三层,逐层看:
- SDK 层:JS/TS 和 Go 是正式版,Python 还在 Beta,Dart 是 Preview。四个语言共用同一套概念——flow(工作流)、tool calling(工具调用)、结构化输出、RAG、Dotprompt 提示词模板,全走统一的 generate() 入口。代码仓里 TypeScript、Go、Python 三语代码量各占三分之一,不是「主业带个附带语言」的糊弄做法。
- 插件层:模型接入全靠官方插件——Google Gemini、OpenAI、Anthropic、Ollama、AWS Bedrock、Azure Foundry 都有官方包。换模型就是换插件,业务代码一行不动。
- 工具层:本地跑
genkit start会拉起一个 Dev UI,可视化调 prompt、按数据集跑评测、对比不同模型输出、逐条看执行 trace。这套东西是 Genkit 和「裸 SDK」最大的区别,Google 把内部调 AI 的工作流直接产品化了。
配图:Genkit 应用架构——你的应用、SDK、插件、模型供应商的关系,以及 Dev UI 和可观测后端怎么接进来
部署不绑谷歌:Cloud Functions、Cloud Run 官方有文档,任何能跑你语言的环境都行。想先摸底的可以逛 examples.genkit.dev,每个示例都带生成它的代码可视化。另外它给 coding agent 配了官方 skill 包(npx skills add genkit-ai/skills),先教会你的 AI 再让它写 Genkit 代码,这个思路挺对。
上手:三行代码出结果
JS 队伍最顺,npm i genkit @genkit-ai/google-genai,然后:
import { genkit } from 'genkit';
import { googleAI } from '@genkit-ai/google-genai';
const ai = genkit({ plugins: [googleAI()] });
const { text } = await ai.generate({
model: googleAI.model('gemini-flash-latest'),
prompt: '人生的意义是什么?'
});
跑 genkit start 进 Dev UI,改 prompt、看 trace 都在里面。Go 队列走 go get,Python 队列 pip install genkit 但要有心理预期——Python SDK 周下载才 1471 次(npm 是 18.5 万),Beta 状态,坑比 JS 版多。
实话:下载量骗不了人,但星数也说明问题
第一,星数和用量严重倒挂。 6.5K 星看着寒碜,但 npm 周 18.5 万下载、CLI 一周一个版本(10 月 6 日刚发 1.44.0)、仓库昨天还在 push——这是「公司内部真在用」的典型特征,社区 star 运营根本没做。选型时你是要一个 star 多的还是用的人多的,自己掂量。
第二,别被「Google 出品」绑架。 Genkit 本体 Apache-2.0,但深度绑定 Firebase/Cloud Run 的辅助功能是另一回事,模型插件想接 Ollama 跑本地照样接。它和 LangGraph 的定位差异在那篇讲过:LangGraph 是编排运行时,Genkit 更像「带全家桶的 SDK」,Agent 复杂度不高、要快速上生产的话,Genkit 的 Dev UI 和内置评测反而省事。
第三,Python 和 Dart 队伍先等半年。 官方 README 自己标的等级:JS/Go production-ready、Python Beta、Dart Preview。跨语言 API 一致性是卖点,但成熟度差着代际,生产项目老实选 JS 或 Go。856 个 open issues 也提醒一句:出问题先翻官方文档和 examples,社区响应别指望太灵。