我想我已经解决了如何与同事……乃至任何人无缝共享你的AI代理的问题。

Reddit r/AI_Agents 工具

摘要

作者提出了一种共享AI代理的模式:将代理编译成密封的WASM模块,只导入一个推理函数,从而让他人可以使用自己的本地模型运行该代理,无需API密钥,也无安全风险。

我一直遇到的一个问题是:你可以构建一个真正优秀的代理——拥有自己的循环、工具和积累的判断力——但你无法把它交给任何人。它要么位于自己的API密钥后面,存在token被窃取的风险,要么放在你的笔记本电脑或私人服务器上,但绑定了你的API密钥。两种常见的解决方案都不太适合这个问题:MCP提供了一个工具端点——请求/响应——而非自主性。循环仍然在服务器上。而采样(最接近“使用调用者的AI来执行此操作”的功能)已于本月通过SEP-2577正式弃用,因此用它来构建代理几乎不可能。- 技能以文件形式传播,但它们是不可信的markdown,被注入到你的上下文中;一旦技能需要执行某个操作,它就会指示你的代理安装并运行代码。提示注入与任意执行相结合。此外,技能并不是代理,因为没人知道它在什么环境中运行。它只是指令,而不是代理。受SQLite启发,我找到了一个*真正*可行的模式。基本上,你将整个代理——循环、工具、指导原则——编译成一个密封的WASM文件,内部不包含模型。它只导入一个函数,即infer。运行它的人通过这个唯一的接口接入自己的模型。这意味着你可以交付一个完整的代理,无需API密钥,因为推理由你的本地AI处理。你只需告诉他们代理在互联网上的位置,然后——嘿,快了——他们的AI就可以(很可能)使用它,并用他们自己的推理驱动整个代理。不再有“我把API放在哪里”的问题。因为是wasm,默认是拒绝一切。WASM模块只能访问它明确导入的内容,你可以在运行任何字节之前读取该导入列表。如果它被授予了网络访问权限,那么它的访问范围仅限于你可以在其卡片上看到的指定域名(我的论文审计代理恰好能访问Europe PMC,除此之外不能访问任何其他网站)。让我惊讶的是,wasm得到了如此好的支持,以至于这些代理可以在当今的编码代理(如Claude Code,甚至是沙盒桌面应用)上运行——你可以告诉Claude去找到一个代理,验证其哈希值,然后在你自己的推理上运行它,无需安装任何东西。我一直在为这些代理建立一个索引——我称它们为“hermits”——即你可以套在自己模型上的无脑外壳。我让这种方式的设置和构建变得非常简单,你甚至可以使用Agent Development Kit来构建和发布一个。完全披露,这是我的项目——根据版规,我会在评论中放上链接和说明。向各位提一个真正的问题:是否有人也在以这种方式发布代理,或者以不同的方式解决“把工作的代理交给别人”的问题?另外,对于你们来说,这个单推理接口/WASM方法在哪些方面行不通——冷启动大小、非Go语言,还是我遗漏了什么?
查看原文

相似文章