DeepSeek Harness 发布后,“Everything is a plugin”很快成为 Agent 开发者讨论最多的一句话之一。
模型、工具、Skills 、会话、沙箱、文件系统、编排和 UI 都可以作为插件替换和组合。项目发布后也很快获得了 7 万多个 GitHub Star 。
这个方向很有吸引力。模型升级了可以换模型,工具不合适可以换工具,业务需求变化也不用重建整个 Agent 。开发者终于不用把所有能力焊死在一套技术栈里。
我们团队正在做 ZGI ,一个面向 Agent 运行与落地的 Runtime 。在接触客户项目的过程中,我们发现,组件可以灵活变化,但有些东西不能跟着一起漂移。
首先是身份和权限。换了一个工具,不应该让 Agent 突然获得更多数据权限;增加一个 Skill ,也不能顺便绕过原来的访问边界。
其次是执行状态。一个任务可能已经写入数据库、发送通知或者调用了外部系统。如果中途更换模型或某个组件发生故障,系统需要知道哪些步骤已经完成。否则简单地“再跑一次”,可能意味着重复创建订单、重复发送消息,甚至重复扣款。
审批规则也应该保持稳定。涉及付款、删除数据、修改关键记录或对外发送内容时,无论背后调用了哪个模型、工具或插件,都应该经过相同的确认流程。
运行记录也是一样。组件可以来自不同开发者,但谁调用了什么、使用了哪些数据、执行结果是什么,都需要进入一套统一的记录。出了问题,不能只留下一句 “Something went wrong”。
所以我们现在的理解是:插件决定 Agent 可以组合哪些能力,Runtime 则负责保证这些能力在变化之后,系统仍然能够被控制、追踪和恢复。两者不是替代关系,而是解决不同层面的问题。
这也是我们构建 ZGI 时重点处理的一层。ZGI 将模型、知识库、数据库、工具、Skills 和可视化工作流放在一个支持自托管的工作空间中,并通过权限、运行状态、人工确认、日志和沙箱执行,承接 Agent 进入真实业务后的运行问题。
ZGI 主要使用 Go 构建,已经在一些客户项目中持续验证。代码公开接近一个月,目前在 GitHub 上获得了 300 多个 Star 。项目还在早期阶段,很多地方仍在完善。
如果你也在开发 Agent 应用,欢迎体验 ZGI 、查看代码,或者直接告诉我们哪些地方还不够好。功能建议、GitHub Issue ,以及对 Agent Runtime 这条路线的看法。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.