présentation
La construction d'agents peut être amusante, mais la reconstruction d'agents qui se cassent eux-mêmes est moins divertissante. De nombreux développeurs utilisent des agents avec moins de penchant pour l'autodestruction en leur enseignant à effectuer des tâches risquées dans un environnement isolé appelé Sprite.
fonctionnement
Un agent est inutile sans une interface de ligne de commande, car c'est là qu'il effectue les tâches d'agent. Cependant, l'accès à la ligne de commande de l'agent est également ce qui tend à gâcher votre après-midi, car les commandes « supprimer les fichiers temporaires » et « supprimer les fichiers incorrects » ne sont qu'à une faute de frappe.
Pour éviter cela, les développeurs utilisent des sandboxs. Mais de nombreuses personnes placent par défaut un agent qui effectue des tâches potentiellement dangereuses dans un sandbox, ce qui implique de nombreux compromis inutiles.
architecture
Le processus d'agent est une boucle qui appelle un modèle, lit la réponse, sélectionne un outil et répète. Il s'agit d'un processus long qui ne devient compétent que si la mémoire, les compétences et l'historique persistent. Un agent peut être hébergé sur une machine Fly qui dort lorsqu'il est inactif et se réveille lorsqu'un message est reçu.
Cependant, lorsqu'un agent doit exécuter des commandes, les choses deviennent plus compliquées. Les commandes doivent être exécutées dans un environnement isolé, appelé Sprite, où le code de l'agent ne peut pas se casser lui-même ou endommager d'autres éléments.
bash -c + commandeimplications et limites
Deux projets récents, SpriteDoc et Hermes Agent, démontrent cette approche. SpriteDoc est un agent de dépannage interne qui utilise un Sprite par session, tandis que Hermes Agent utilise un Sprite par tâche. Les commandes sont exécutées dans un environnement isolé, ce qui permet à l'agent de fonctionner sans risque.
Cette approche permet également de sauvegarder les agents contre eux-mêmes. Lorsqu'un agent doit exécuter une commande dangereuse, il peut le faire dans un environnement isolé, ce qui évite les dommages à l'agent ou à d'autres éléments.