跳到正文 跳到页脚

ZGent 设计之旅 #1
多端同步与实时协作

王子博 2026 年 4 月 15 日

在中关村人工智能研究院·软件智能研究所,我们在思考并设计下一代 AI agent 的框架、人机界面与生态系统,项目代号为 ZGent。这篇文章是一系列文章中的第一篇,我将会在每篇文章中介绍我们的一个设计理念,以及相应的技术实现。

基于云端的在线应用(例如腾讯文档、印象笔记、滴答清单等)与传统的本地应用相比有许多好处:

我们相信未来的 AI agent 产品一定也要基于云端,支持以下功能:


ZGent 的设计中,客户端都是“瘦”的,只从服务器获取会话当前状态,以及把用户操作发送给服务器。状态存储、agent 循环、工具调用执行等全发生在服务器上。服务器向客户端提供两个获取状态的接口:get 和 subscribe,前者用来拉取最新状态,后者用来订阅某个状态之后的更新事件流。

每个会话本身,以及会话列表界面,分别都用这套模型。对于一个会话,状态就是用户消息、agent 消息、思考、工具调用、图片等内容构成的列表。对于会话列表界面,状态就是每个会话的标题、当前运行情况、消息条数、最后更新时间等元信息。

基于这个模型,ZGent 可以支持各种不同的客户端热插拔,只要客户端调用接口获取状态并自己决定如何显示给用户即可。目前我们开发了 web 界面、命令行界面、桌面软件、手机 app,以及接入钉钉等聊天软件的机器人等,所有这些客户端可以同时打开一个会话,一起看到实时的 AI 输出。


具体实现时有几个需要注意的点:


一旦实现了这样的客户端热插拔机制,实时协作功能很容易实现,因为不同账号同时打开一个会话和同一个账号的多个客户端同时打开一个会话,在程序逻辑上是相同的,只需要增加权限模型和分享界面即可。

ZGent 还考虑了一个细节:用户发送的每条消息都是带用户名字段的,客户端可以在界面上呈现,agent 也可以根据这一信息更好地理解对话。