Agent Zéro
Cadre d'IA personnel et organique
- Agent Zero n'est pas un cadre agent prédéfini. Il est conçu pour être dynamique, en croissance organique et pour apprendre au fur et à mesure que vous l'utilisez.
- Agent Zero est entièrement transparent, lisible, compréhensible, personnalisable et interactif.
- L'Agent Zéro utilise l'ordinateur comme un outil pour accomplir ses (vos) tâches.
Désormais avec une interface utilisateur réactive, une mémoire automatique et une réflexion :
Concepts clés
- Assistante polyvalente
- L'Agent Zero n'est pas préprogrammé pour des tâches spécifiques (mais peut l'être). Il s’agit d’un assistant personnel à usage général. Donnez-lui une tâche, et il collectera des informations, exécutera des commandes et du code, coopérera avec d'autres instances d'agent et fera de son mieux pour l'accomplir.
- Il dispose d'une mémoire persistante, lui permettant de mémoriser les solutions, codes, faits, instructions, etc. précédents, pour résoudre les tâches plus rapidement et de manière plus fiable à l'avenir.
- L'ordinateur comme outil
- Agent Zero utilise le système d'exploitation comme outil pour accomplir ses tâches. Il n’a pas d’outils à usage unique préprogrammés. Au lieu de cela, il peut écrire son propre code et utiliser le terminal pour créer et utiliser ses propres outils selon ses besoins.
- Les seuls outils par défaut de son arsenal sont la recherche en ligne, les fonctionnalités de mémoire, la communication (avec l'utilisateur et d'autres agents) et l'exécution de code/terminal. Tout le reste est créé par l'agent lui-même ou peut être étendu par l'utilisateur.
- La fonctionnalité d'utilisation des outils a été développée à partir de zéro pour être la plus compatible et la plus fiable, même avec de très petits modèles.
- Outils par défaut : Agent Zero comprend des outils tels que les connaissances, le contenu des pages Web, l'exécution de code et la communication.
- Création d'outils personnalisés : étendez les fonctionnalités de Agent Zero en créant vos propres outils personnalisés.
- Instruments : les instruments sont un nouveau type d'outil qui vous permet de créer des fonctions et des procédures personnalisées pouvant être appelées par l'agent zéro.
- Coopération multi-agents
- Chaque agent a un agent supérieur qui lui confie des tâches et des instructions. Chaque agent rend ensuite compte à son supérieur.
- Dans le cas du premier agent de la chaîne (Agent 0), le supérieur est l'utilisateur humain ; l'agent ne voit aucune différence.
- Chaque agent peut créer son agent subordonné pour aider à décomposer et à résoudre les sous-tâches. Cela aide tous les agents à garder leur contexte propre et concentré.
- Entièrement personnalisable et extensible
- Presque rien dans ce framework n’est codé en dur. Rien n'est caché. Tout peut être étendu ou modifié par l'utilisateur.
- L'ensemble du comportement est défini par une invite système dans le fichier prompts/default/agent.system.md . Modifiez cette invite et changez radicalement le cadre.
- Le cadre ne guide ni ne limite l’agent d’aucune façon. Il n’existe pas de rails codés en dur que les agents doivent suivre.
- Chaque invite, chaque petit modèle de message envoyé à l'agent dans sa boucle de communication, peut être trouvé dans le dossier prompts/ et modifié.
- Chaque outil par défaut peut être trouvé dans le dossier python/tools/ et modifié ou copié pour créer de nouveaux outils prédéfinis.
- Bien sûr, il est open source (à l'exception de certains outils comme Perplexity, mais qui seront également remplacés par une alternative open source à l'avenir).
- La communication est la clé
- Donnez à votre agent une invite système et des instructions appropriées, et il peut faire des miracles.
- Les agents peuvent communiquer avec leurs supérieurs et leurs subordonnés, poser des questions, donner des instructions et fournir des conseils. Expliquez à vos agents dans l'invite du système comment communiquer efficacement.
- L'interface du terminal est diffusée en temps réel et interactive. Vous pouvez vous arrêter et intervenir à tout moment. Si vous voyez votre agent se diriger dans la mauvaise direction, arrêtez-vous et dites-lui immédiatement.
- Il y a beaucoup de liberté dans ce cadre. Vous pouvez demander à vos agents de faire régulièrement rapport à leurs supérieurs pour leur demander la permission de continuer. Vous pouvez leur demander d'utiliser des systèmes de notation par points pour décider quand déléguer des sous-tâches. Les supérieurs peuvent revérifier les résultats de leurs subordonnés et contester. Les possibilités sont infinies.
Des fonctionnalités intéressantes à avoir
- Le résultat est très propre, coloré, lisible et interactif ; rien n'est caché.
- La même sortie colorée que vous voyez dans le terminal est automatiquement enregistrée dans le fichier HTML dans le dossier logs/ pour chaque session.
- La sortie de l'agent est diffusée en temps réel, permettant à l'utilisateur de lire et d'intervenir à tout moment.
- Aucun codage n'est requis, seulement des compétences d'incitation et de communication.
- Avec une invite système solide, le framework est fiable même avec de petits modèles, y compris une utilisation précise des outils.
Gardez à l'esprit
L'agent zéro peut être dangereux ! Avec des instructions appropriées, Agent Zero est capable de beaucoup de choses, même potentiellement dangereuses pour votre ordinateur, vos données ou vos comptes. Exécutez toujours Agent Zero dans un environnement isolé (comme le conteneur Docker intégré) et faites attention à ce que vous souhaitez.
L'agent zéro n'est pas préprogrammé ; il est basé sur des invites. L'ensemble du framework ne contient qu'une quantité minimale de code et ne guide en aucun cas l'agent. Tout se trouve dans l'invite système dans le dossier prompts/ . Ici, vous pouvez réécrire l'ensemble du comportement du framework selon vos besoins. Si votre agent ne parvient pas à communiquer correctement, à utiliser des outils, à raisonner, à utiliser sa mémoire, à trouver des réponses, instruisez-le simplement mieux.
Si vous ne pouvez pas fournir l’environnement idéal, informez-en votre agent. Agent Zero est conçu pour être utilisé dans un environnement virtuel isolé (pour des raisons de sécurité) avec certains outils préinstallés et configurés. Si vous ne pouvez pas fournir toutes les conditions ou clés API nécessaires, modifiez simplement l'invite du système et indiquez à votre agent quel système d'exploitation et quels outils sont à sa disposition. Rien n'est codé en dur ; si vous ne parlez pas d’un certain outil à votre agent, il n’en aura pas connaissance et n’essaiera pas de l’utiliser.
Problèmes connus
- L'invite du système est nulle. Vous pouvez faire mieux. Si c'est le cas, aidez-moi s'il vous plaît :)
- La communication entre les agents et le terminal dans Docker Container via SSH peut parfois être interrompue et cesser de produire des sorties. Parfois, c'est parce que l'agent exécute quelque chose comme "server.serve_forever()" qui provoque le blocage du terminal, parfois une erreur aléatoire peut se produire. Le redémarrage de l'agent et/ou du conteneur Docker est utile.
- L'agent peut casser son système d'exploitation. Parfois, l'agent peut désactiver l'environnement virtuel, désinstaller des packages, modifier la configuration, etc. Encore une fois, supprimer le conteneur Docker et nettoyer work_dir/ suffit à résoudre ce problème.
Environnement idéal
- Conteneur Docker : L'environnement idéal pour exécuter Agent Zero est le conteneur Docker intégré. L'agent peut télécharger l'image frdel/agent-zero-exe tout seul et démarrer le conteneur, il vous suffit d'avoir Docker en cours d'exécution (comme l'application Docker Desktop).
- Python : Python doit être installé sur le système pour exécuter le framework.
- Accès Internet : L'agent aura besoin d'un accès Internet pour utiliser son outil de connaissances en ligne et exécuter les commandes et scripts nécessitant une connexion. Si vous n'avez pas besoin que votre agent soit en ligne, vous pouvez modifier ses invites dans le dossier prompts/ et les rendre entièrement locales.
Installation
Un guide de configuration détaillé pour Windows, macOS et Linux avec une vidéo est disponible dans la nouvelle documentation Agent Zero sur cette page.
Consulter la documentation
La documentation plonge en profondeur dans le framework et ses fonctionnalités. C'est un bon point de départ si vous êtes nouveau sur Agent Zero. Cliquez ici pour voir la documentation.
À venir
- Binaires préinstallés et scripts de bundler
- Outil de connaissances open-source et outil de web scraping
- Améliorations de l'interaction utilisateur
- LLM commutables en contexte
Journal des modifications [depuis la version 0.7]
v0.7.1
- Discussions persistantes : sérialisées dans /tmp/chats et automatiquement chargées dans run_ui.py au démarrage
- Pile de documentation fusionnée dans le référentiel
- Corrections de bugs
v0.7
- Mémoire automatique
- Améliorations de l'interface utilisateur
- Instruments
- Cadre d'extensions
- Invites à la réflexion
- Corrections de bugs
Note
Modifications apportées aux fichiers de lancement depuis la v0.6 :
- Le fichier main.py a été remplacé par les fichiers de lancement run_ui.py (webui) et run_cli.py (terminal).
- la configuration a été déplacée vers initialize.py pour les fichiers de lancement du webui et du terminal.