Salix
Loops
Un 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. Un Loop n'a pas besoin d'une sandbox toujours allumée, et il ne réveille la boucle principale de l'agent que si c'est nécessaire.
Comment s'exécute un Loop
- L'agent écrit le Loop sous forme de programme en C.
- Spinfoam, le runtime eBPF côté serveur de Salix, compile le programme en eBPF.
- Salix planifie le 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. Un Loop utilise de quelques kilo-octets à quelques dizaines de kilo-octets de mémoire : un agent peut donc garder des Loops actifs aussi longtemps qu'il en a besoin.
Des décisions sans grand modèle
Un Loop peut appeler des modèles de décision rapides, comme Jev. Grâce à eux, un 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 un Loop trouve quelque chose qui demande l'agent, il 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 un Loop
Un 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. Un 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 à un Loop via l'API ou via une URL de webhook secrète propre à ce Loop.
- État : un Loop enregistre un point de reprise, et le récupère quand il redémarre.
- Limites : un Loop ne peut réveiller son agent qu'un nombre limité de fois en dix minutes. Un Loop qui reste à cette limite pendant une heure se met en pause.
- Pannes : après une erreur, Salix redémarre le Loop depuis son point de reprise, au maximum trois fois par heure. Au-delà, le Loop s'arrête et prévient son agent.