搭建一个能记住上下文、调用外部工具、支持流式回复的AI应用,开发者往往需要手动搭建大量重复的基础设施。不论是构建记住工单的客服助手,还是跨多轮交互的编程副驾驶,每次开发都要重复处理消息历史、工具循环、流式传输、持久化存储以及前端协议这些“管道”工作。这部分代码与业务创新关系甚微,却在每个项目中如影随形。
谷歌开源的Genkit框架正试图用Agents API解决这一痛点。Genkit是一个用于构建全栈、AI驱动及智能体应用的开源框架,已支持TypeScript、Go、Dart和Python等语言。此次推出的Agents API把所有底层能力封装进一个统一接口:开发者在服务端定义一个agent,随后无论是在进程内运行还是通过HTTP端点的形式调用,都使用同一个chat()接口来驱动。
![]()
定义一个agent的起点非常简单。只需给它一个名称和系统提示词,随着功能扩展,再逐步加入工具、状态和会话存储。在预览版的代码示例中,定义一个名为“assistant”的agent仅需指定模型名称和系统提示。同一个agent对象足够灵活,可以处理单次回复、流式对话、暂停的工具调用以及多轮对话——功能增长时,开发者无需切换到另一套抽象模型。
![]()
多轮对话需要连续性,而这背后的会话管理责任交由开发者自行决定。如果为agent添加存储能力,会话便转为服务端管理模式。服务端以快照形式持久化消息、自定义状态及产出的工件,客户端仅需回传一个会话ID即可继续对话。这种设计适用于持久聊天应用、共享设备等任何不希望客户端承载完整对话历史的工作流。Firestore会话存储示例显示,通过设置快照集和检查点间隔,即可让agent拥有持久的记忆能力。
![]()
目前,Agents API在TypeScript和Go语言中处于预览阶段,谷歌提醒此版本可能在次版本更新中引入破坏性变更。该功能需要启用Genkit的实验性支持选项方可使用。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.