---
title: "Loops · Documentation Comma"
description: "Un travail de fond permanent, que Spinfoam compile en eBPF."
url: https://comma.surf/fr/docs/salix/loops
language: fr
---

Salix

# Loops

Une Loop permet à un agent d'effectuer un travail de fond 24 h/24, 7 j/7 : surveiller une boîte de réception, un dépôt ou un flux, et agir quand quelque chose change. Une Loop n'a pas besoin d'une sandbox toujours allumée, et elle ne réveille la boucle principale de l'agent que si c'est nécessaire.

## Comment s'exécute une Loop

1. L'agent écrit la Loop sous forme de programme en C.
2. [Spinfoam](https://github.com/AFK-surf/spinfoam), le runtime eBPF côté serveur de Salix, compile le programme en eBPF.
3. Salix planifie la Loop sur le cluster, à côté de son agent.

Le compilateur JIT de Spinfoam est formellement vérifié et génère du code sûr en mémoire. Une Loop utilise de quelques kilo-octets à quelques dizaines de kilo-octets de mémoire : un agent peut donc garder des Loops actives aussi longtemps qu'il en a besoin.

## Des décisions sans grand modèle

Une Loop peut appeler des modèles de décision rapides, comme Jev. Grâce à eux, une Loop classe des données et des états externes (par exemple, savoir si un nouvel e-mail a besoin de vous) sans appeler un grand modèle de langage.

Quand une Loop trouve quelque chose qui demande l'agent, elle le notifie. C'est seulement à ce moment que la boucle principale de l'agent s'exécute, et seulement à ce moment qu'elle consomme des tokens de modèle.

## Ce que peut faire une Loop

Une Loop ne peut appeler qu'une liste fixe de capacités : outils de lecture, outils d'appareil et d'environnement, requêtes web, vos apps connectées et une notification à son agent. Une Loop agit avec les droits de la personne qui l'a créé, et rien de plus.

- **Événements** : d'autres systèmes peuvent envoyer des événements à une Loop via l'API ou via une URL de webhook secrète propre à cette Loop.
- **État** : une Loop enregistre un point de reprise, et le récupère quand elle redémarre.
- **Limites** : une Loop ne peut réveiller son agent qu'un nombre limité de fois en dix minutes. Une Loop qui reste à cette limite pendant une heure se met en pause.
- **Pannes** : après une erreur, Salix redémarre la Loop depuis son point de reprise, au maximum trois fois par heure. Au-delà, la Loop s'arrête et prévient son agent.
