Google最近给Genkit框架加了一层"中间件",专门解决AI应用在生产环境里失控的老大难问题。这个开源框架原本是用来构建AI驱动和智能体应用的,现在开发者可以在模型调用、工具执行和生成循环外面套一层可编程的拦截层,对可靠性、安全性和编排逻辑进行精细控制。
具体来说,这套中间件让开发者能在工作流里注入自定义行为,不用改动应用逻辑就能实现重试、模型降级和日志记录等功能。Genkit目前支持TypeScript、Go和Dart,Python版本也快来了。
Google解释了技术细节:Genkit里的每个generate()调用都运行在一个工具循环中——模型生成输出、执行工具、处理结果,然后继续循环直到完成。中间件钩子可以在三个层面拦截这个循环:生成层面、模型调用层面和工具执行层面。
Google还发布了一批预置的中间件组件,包括:
• 带指数退避的重试处理
• API故障时自动降级到备用模型
• 敏感工具调用的审批关卡
• 文件系统访问控制
• 从本地文件动态注入指令的"技能"系统
这些组件可以堆叠使用,让重试、过滤、审批和日志按定义好的顺序执行。系统还集成进了Genkit开发者UI,可以检查中间件行为、追踪执行流程、调试运行时交互。
这次更新反映了AI工具生态的一个大趋势:给自主系统加运营保障和运行时控制。框架们不再只依赖提示词或模型调优,而是越来越多地添加可编程层来管控模型在执行期间的行为。
公告引发了关于Genkit在Google整体AI工具版图中定位的讨论。X上的开发者在争论Genkit和Google的Agent Development Kit(ADK)有什么区别。
Google软件工程师Michael Doyle出来澄清:如果你的应用(Web、移动端等)想添加智能体功能,用Genkit;如果在构建复杂的独立多智能体系统,比如在GCP智能体平台上运行,用ADK。
这次对话点明了Google的策略:Genkit主要定位是应用层框架,把AI功能集成进现有产品;ADK则瞄准运行在专用基础设施上的大型编排密集型智能体系统。开发者现在就可以通过最新版Genkit开始使用中间件系统,也能发布自定义中间件包跨项目复用。
热门跟贴