---
title: "Loop · Comma 文档"
description: "全天候运行的后台工作，由 Spinfoam 编译为 eBPF。"
url: https://comma.surf/zh/docs/salix/loops
language: zh-CN
---

Salix

# Loop

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

## Loop 如何运行

1. 智能体用 C 语言把 Loop 写成一个程序。
2. Salix 的服务端 eBPF 运行时 [Spinfoam](https://github.com/AFK-surf/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 会停止并告知它的智能体。
