Ohhnews

分类导航

$ cd ..
InfoQ Java原文

谷歌Genkit推出Agents API预览版:支持分离轮次与人在回路

#genkit#agents api#分离轮次#人在回路#typescript

Google 发布 Genkit Agent API,支持分离回合与人在回路(TypeScript 和 Go)

2026年7月14日 · 4分钟阅读

(作者:Steef-Jan Wiggers · 关注 Cloud 队列 · 首席编辑 · 领域架构师 · 云专家)

Google 近期发布了 Agent API 预览版,用于其开源全栈 AI 应用构建框架 Genkit。该 API 将消息历史、工具执行循环、流式传输、状态持久化以及前端协议整合到一个单一的 chat() 接口中,无论 agent 是在进程内运行还是通过 HTTP 端点运行,接口行为完全一致。当前预览版支持 TypeScript 和 Go,Python 和 Dart 的支持计划后续推出。

设计原则是提供一个可以随需求扩展而无需更换原语的抽象层。同一个 agent 对象既能处理一次性回复,也能处理流式多轮对话、等待人类审批的暂停工具调用,还能处理分离的长时间运行任务。团队无需在功能从简单聊天机器人扩展到多 agent 工作流时,去使用不同的框架组件。

Genkit 将大多数框架中混淆的两种 agent 数据分离开来:自定义状态(Custom state)是驱动下一轮对话的类型化应用数据(如工作流状态、任务列表或已选实体);工件(Artifacts)是用户可检查、下载或独立版本化生成的输出(如报告、代码补丁或旅行行程)。工具通过活跃会话更新这两种数据,Genkit 会在数据产生时实时将变更流式传输至客户端。

状态持久化有两种路径。若配置了会话存储,agent 由服务端管理:消息、自定义状态和工件以快照形式持久化,客户端通过会话 ID 重新连接。Genkit 内置了 Firestore(生产多实例)、内存(开发)和基于文件(本地测试)的存储,并提供可插拔接口支持自定义实现。若未配置存储,则 agent 由客户端管理:服务端返回完整状态,客户端在每次对话时将其传回服务器。

AI 工程师 Ebenezer Don 强调了这一架构选择的合规维度

为 AI agent 添加记忆时,维持可靠的上下文是首要挑战。

针对客户端管理状态,Don 指出了服务端管理方法无法提供的数据驻留优势:

此方法适用于临时会话或具有严格数据驻留约束、服务端不应持久化用户数据的应用。代价是随着对话增长,网络负载会增大。

在拥挤的 agent 框架领域中,有两项能力尤为突出。

分离回合允许客户端启动 agent 任务后断开连接,稍后再轮询结果。同时,agent 在服务端继续工作,将进度写入快照,任何客户端均可读取:

$ go
const chat = reportAgent.chat({ sessionId: 'report-123' });
const task = await chat.detach('Write the quarterly market report.');
savePendingSnapshot(task.snapshotId);
for await (const snapshot of task.poll({ intervalMs: 1000 })) {
  renderStatus(snapshot.status);
  if (snapshot.status === 'completed') renderMessages(snapshot.state.messages);
}

借助分离运行,开发者可以创建长时间的研究任务、多步骤规划以及工具密集型工作流,而无需 WebSocket、独立的任务队列或保持连接开启。

另一项能力是可中断工具,它提供了带防伪保护的人机循环控制。当工具被标记为可中断时,agent 会在执行中暂停,将待决操作返回给客户端,并在用户批准或拒绝后继续执行。运行时根据会话历史验证恢复载荷,防止工具被伪造输入欺骗。在 Go 中的实现如下:

$ go
runShell := genkitx.DefineInterruptibleTool(g, "run_shell", "Run a shell command after a safety check.",
  func(ctx context.Context, input ShellInput, confirm *Confirmation) (ShellOutput, error) {
    if isRisky(input.Command) {
      if confirm == nil {
        return ShellOutput{}, tool.Interrupt(ShellInterrupt{
          Command: input.Command,
          Reason:  "The command can modify files.",
        })
      } else if !confirm.Approved {
        return ShellOutput{}, errors.New("user rejected shell command execution")
      }
    }
    return execute(input.Command)
  },
)

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

Genkit 通过插件架构实现模型无关。官方插件支持 Google AI (Gemini)、Vertex AI、Anthropic、OpenAI 和 Ollama。Vercel AI SDK 适配器让团队可以将 Genkit agent 集成到 Next.js 应用中。每个 agent 本身就是一个可服务的动作,路由帮助程序只需几行代码即可在标准 HTTP mux 上设置 turn、snapshot 和 abort 端点。

在竞争格局中,LangChain、CrewAI、Semantic Kernel、Autogen、Mastra 和 Pydantic AI 都解决了类似的问题。Google 本身同时在两个层面构建 agent 基础设施:Genkit 用于自托管 agent 应用,而 Gemini API 中的 Managed Agents 提供 Google 托管运行时,后台执行、远程 MCP 服务器和沙箱代码执行全部由服务端处理。Genkit 在更广阔的 landscape 中的差异化优势在于全栈方法:服务端 agent 逻辑、类型化客户端 SDK(支持 Web 和移动端)、内置流式协议,以及可部署至 Firebase、Cloud Run 或任何运行 Node.js/Go 的环境。代价是 Genkit 更为年轻,社区集成的生态系统较 LangChain 更小。

Agent API 目前处于预览阶段。中间件系统在 TypeScript、Go 和 Dart 中已正式发布。Genkit 采用 Apache 2.0 许可,在 GitHub 上开源。

关于作者

Steef-Jan Wiggers 是 InfoQ 的高级云编辑之一,同时也是荷兰 VGZ 公司的领域架构师。他当前的技术专长集中在集成平台实现、Azure DevOps、AI 以及 Azure 平台解决方案架构。Steef-Jan 经常在会议和用户组中演讲,并为 InfoQ 撰写文章。此外,微软已连续十六年授予他 Microsoft Azure MVP 称号。这是内容的中文翻译,已转换为 Markdown 格式,并去除了所有 HTML 标签、锚点、无关的链接、图片和重复的推广信息。主要翻译了文章标题、描述、相关主题、相关文章和网站导航等可读文本。


显示更多 显示更少

本内容属于 主题 关注该主题

相关主题:

云主题热门

相关赞助商

相关赞助商

测试。保护。重复。 Guardsquare 将移动应用测试与保护相结合,提供最大安全性与零性能折衷。获取报价

相关内容

相关赞助商

客户端风险与信任差距的兴起

TrendCandy 的一项全球调查揭示了为什么传统的操作系统级防御无法应对日益增长的移动应用威胁。了解客户端风险、API 滥用、AI 生成代码和快速发布周期如何导致漏洞——以及分层安全和应用证明如何恢复信任。

现代移动应用安全中实时威胁监控与分析的必要性

通过实时洞察提升移动安全。这份 Guardsquare 报告展示了为什么传统客户端防御在面对持续威胁时力不从心,以及持续威胁监控与分析如何为团队提供可操作的可见性,以保护应用、用户和收入。

赞助方:Guardsquare

相关内容

InfoQ 新闻简报

每周二发送 InfoQ 上周内容汇总。加入超过 25 万资深开发者的社区。查看示例

请输入您的电子邮箱地址 选择您的国家 [ ] 我同意 InfoQ.com 按照 隐私声明 的方式处理我的数据。 我们保护您的隐私。

InfoQ 新闻简报

每周二发送 InfoQ 上周内容汇总。加入超过 25 万资深开发者的社区。查看示例

  • 快速获取各种创新者与早期采用者技术的内容概览
  • 了解你不知道自己不知道的内容
  • 及时获取你感兴趣主题的最新信息

请输入您的电子邮箱地址 选择您的国家 [ ] 我同意 InfoQ.com 按照 隐私声明 的方式处理我的数据。 我们保护您的隐私。

InfoQ 在线认证项目 面向资深工程师、架构师与技术领导者

  • AI 工程 主持人:Hien Luu | 7 月 25 日
  • 架构师 主持人:Luca Mezzalira | 8 月 13 日
  • AI 安全与隐私工程 主持人:Katharine Jarmul | 8 月 26 日

随着角色越来越资深,工作内容也在变化。你不再只是执行决策,而是在塑造其他团队依赖的系统、权衡和技术方向。这些为期 5 周的在线项目为你提供了一种结构化的方式,让你在现任角色中处理实际决策,并与来自其他公司的资深同行一起学习。

立即预留席位。在线直播。#### 导航

活动

关注我们

保持了解

联系

InfoQ.com 及所有内容版权 © 2006-2026 C4Media Inc.
隐私声明 · 条款与条件 · Cookie 政策

关闭 BT