---
title: "Loops · Documentação do Comma"
description: "Trabalho em segundo plano sempre ativo que o Spinfoam compila para eBPF."
url: https://comma.surf/pt/docs/salix/loops
language: pt-BR
---

Salix

# Loops

Um Loop permite que um agente trabalhe em segundo plano 24/7: acompanhar uma caixa de entrada, um repositório ou um feed, e agir quando algo muda. Um Loop não precisa de um sandbox sempre ligado e só acorda o loop principal do agente quando é necessário.

## Como um Loop roda

1. O agente escreve o Loop como um programa em C.
2. O [Spinfoam](https://github.com/AFK-surf/spinfoam), o runtime eBPF do Salix no servidor, compila o programa para eBPF.
3. O Salix agenda o Loop no cluster, junto ao agente dele.

O compilador JIT do Spinfoam é verificado formalmente e gera código seguro em memória. Um Loop usa de alguns poucos a dezenas de kilobytes de memória, então um agente pode manter Loops rodando pelo tempo que precisar deles.

## Decisões sem um modelo grande

Um Loop pode chamar modelos de decisão rápidos, como o Jev. Com eles, um Loop classifica dados e estados externos (por exemplo, se um novo e-mail precisa de você) sem chamar um modelo de linguagem grande.

Quando um Loop encontra algo que precisa do agente, ele notifica o agente. Só então o loop principal do agente roda, e só então ele gasta tokens de modelo.

## O que um Loop pode fazer

Um Loop só pode chamar uma lista fixa de recursos: ferramentas de leitura, ferramentas do dispositivo e do ambiente, requisições web, seus apps conectados e uma notificação para o agente dele. Um Loop age com as permissões da pessoa que o criou, e nada mais.

- **Eventos**: outros sistemas podem enviar eventos para um Loop pela API ou por uma URL de webhook secreta desse Loop.
- **Estado**: um Loop salva um checkpoint e o recupera quando começa de novo.
- **Limites**: um Loop pode acordar o agente dele um número limitado de vezes a cada dez minutos. Um Loop que fica nesse limite por uma hora é pausado.
- **Falhas**: depois de uma falha, o Salix reinicia o Loop a partir do checkpoint, no máximo três vezes por hora. Depois disso, o Loop para e avisa o agente dele.
