Salix

Loops

Loop 让智能体全天候做后台工作:盯着收件箱、代码仓库或信息流,并在有变化时采取行动。Loop 不需要始终开着的沙箱,除非必要,也不会唤醒智能体的主循环。

Loop 如何运行

  1. 智能体用 C 语言把 Loop 写成一个程序。
  2. Salix 的服务端 eBPF 运行时 Spinfoam 把这个程序编译为 eBPF。
  3. Salix 把 Loop 调度到集群上,放在它的智能体旁边。

Spinfoam 的 JIT 编译器经过形式化验证,生成的代码是内存安全的。一个 Loop 只占用几 KB 到几十 KB 内存,所以智能体需要多久,就可以让 Loop 运行多久。

不用大模型也能做判断

Loop 可以调用 Jev 这样的快速决策模型。借助它们,Loop 无需调用大语言模型,就能对外部数据和状态做分类(例如,一封新邮件是否需要你处理)。

当 Loop 发现需要智能体处理的事情时,会通知智能体。只有这时,智能体的主循环才会运行,也只有这时才会消耗模型 token。

Loop 能做什么

Loop 只能调用一份固定的能力清单:读取类工具、设备和环境工具、网络请求、你已连接的应用,以及向它的智能体发送通知。Loop 以创建者的权限行事,不会超出这个范围。

  • 事件:其他系统可以通过 API,或通过该 Loop 专属的秘密 webhook URL,向 Loop 发送事件。
  • 状态:Loop 会保存检查点,并在重新启动时取回它。
  • 限制:Loop 在十分钟内唤醒智能体的次数有上限。如果一个 Loop 持续一小时都停在这个上限,它就会暂停。
  • 故障:出现故障后,Salix 会从检查点重新启动 Loop,每小时最多三次。超过之后,Loop 会停止并告知它的智能体。