返回信息流
新闻事件
A重点72
InfoQ AI/ML/Data Eng
1 个来源

Google 发布 Genkit Agents API 预览版,支持 TypeScript 和 Go

Google 发布了 Genkit Agents API 的预览版,支持 TypeScript 和 Go。该开源框架将消息历史、工具循环、流式传输和状态持久化整合到单个 chat() 接口中,提供分离式轮次以实现异步操作,并支持通过可中断工具进行人工干预,附带反伪造验证以确保安全性。

SynthePulse Insight · AI 深度解读

Genkit Agents API 预览版发布:统一抽象下的代理开发新范式

版本 1 · 1 个来源

Google 发布 Genkit Agents API 预览版,以单一 chat() 接口统一短响应、流式对话、暂停工具调用和异步任务,为 TypeScript/Go 开发者提供内置状态管理和人机交互支持。

  • Agents API 通过单一 chat() 接口覆盖即时回复、流式多轮对话、待审批工具调用和分离式长时间任务,无需切换原语。
  • 框架区分自定义状态(驱动下一步的 typed 应用数据)和工件(可独立查看/下载的生成输出),工具通过活跃会话同步更新。
  • 提供服务器托管(支持 Firestore、内存、文件存储,可插拔)和客户端托管(状态由客户端传回)两种持久化路径,满足数据驻留合规需求。
  • 分离式聊天允许客户端发送任务后断开连接,轮询获取进度;代理持续在服务器端工作,通过快照记录状态。
  • 可中断工具实现人机交互,内置信令真实性校验,防止伪造输入;支持 Go 和 TypeScript。
  • 通过中间件系统支持多代理编排,子代理使用相同 chat() 接口,可本地运行或通过 HTTP 端点调用。
展开章节目录统一抽象:一个 chat() 接口覆盖所有场景

统一抽象:一个 chat() 接口覆盖所有场景

Genkit Agents API 的设计核心是一种跨越不同交互模式的单一抽象。同一个 agent 对象既能处理一次性回复(one-shot),也能驱动流式多轮对话、等待用户审批的暂停工具调用,甚至管理可分离的长时间运行任务。开发者无需在聊天机器人与复杂多代理工作流之间切换不同的框架组件。

该接口将消息历史、工具执行循环、流式传输、状态持久化和前端协议整合为一个 chat() 函数,无论代理运行在进程内还是 HTTP 端点之后,其行为保持一致。这种设计降低了从原型到生产的迁移成本。

状态管理的双路径策略:灵活性定制的权衡

Genkit 将代理数据分为两类:自定义状态(custom state)是驱动下一轮对话的 typed 应用数据,如工作流状态、任务列表;工件(artifacts)是可独立审查、下载或版本化的生成输出,如报告、代码补丁。工具可在会话中更新两者,Genkit 将变更实时流式传输到客户端。

持久化方面,框架提供两条路径。配置会话存储(session store)后,代理为服务器托管:消息、状态和工件以快照形式持久化,客户端通过 session ID 重连。Genkit 内置了 Firestore(生产多实例)、内存(开发)和文件(本地测试)三种存储,并支持自定义实现。若未配置存储,则采用客户端托管:服务器返回完整状态,客户端在每次交互时发回。EBENEZER DON(AI 工程师)指出,客户端托管模式适合临时会话或严格数据驻留要求场景,但代价是随着对话增长网络负载增大。

分离式聊天与可中断工具:异步与安全的关键能力

分离式聊天(detached turns)让客户端启动代理任务后即可断开连接,稍后轮询结果。代理继续在服务器端工作,将进度写入快照,任意客户端均可读取。例如,开发者可以创建长时间的研究作业或多步骤规划,无需保持 WebSocket 或单独任务队列。示例代码显示,通过 detach() 方法发起任务,然后以 1 秒间隔轮询快照状态直至完成。

可中断工具(interruptible tools)提供人机交互控制并内置防伪造保护。当工具被标记为可中断时,代理在执行中途暂停,将待决动作返回客户端,仅在用户批准或拒绝后继续。运行时通过会话历史校验恢复请求,防止工具被欺骗运行伪造输入。Go 示例展示了 shell 命令执行前的安全确认流程:若命令风险高,工具中断并等待用户确认,用户拒绝则报错。

多代理编排与生态扩展:中间件与模型无关性

对于多代理协调,Genkit 的中间件系统(5 月发布)为每个子代理注入一个委托工具,编排模型可将请求的部分路由给专门子代理。子代理可以使用相同的 chat() 接口在本地运行或通过 HTTP 端点访问。中间件层还提供可组合的钩子,支持指数退避重试、跨提供商模型回退、工具审批门控,以及通过 SKILL.md 文件加载技能的系统提示。

Genkit 通过插件架构保持模型无关。官方插件支持 Google AI(Gemini)、Vertex AI、Anthropic、OpenAI 和 Ollama。Vercel AI SDK 适配器允许开发者在 Next.js 应用中集成 Genkit 代理。每个代理本身就是可服务动作(servable action),路由助手在标准 HTTP 端点上提供 turn、snapshot 和 abort 端点。

可信度边界

本文基于 InfoQ 对 Google 官方发布的报道(2026 年 7 月 14 日),信息源为公开技术预览文档及工程师引用,属于第二手报告;其中抽象设计描述和代码示例源自官方发布,人机交互的合规性层面为引用工程师个人观点。

核心结论

Genkit Agents API 以统一抽象降低代理开发复杂度,通过分离式聊天和可中断工具解决异步和安全痛点,同时提供灵活的状态管理和多代理扩展能力。虽然目前仅支持 TypeScript 和 Go 预览版,但其设计思路为生产级代理框架竞争树立了新标杆。

主报道

InfoQ AI/ML/Data Eng

主报道来源