Outil CLI
lsdefine/GenericAgent avatar
lsdefine/GenericAgent

GenericAgent : un framework d'agent auto-évolutif construit sur environ 3 000 lignes

Agent auto-évolutif : développe un arbre de compétences à partir de graines de 3,3 000 lignes, obtenant ainsi un contrôle complet du système avec 6 fois moins de consommation de jetons.

14 188 étoiles1 650 forksPythonMIT

En bref

De quoi s’agit-il ?
GenericAgent se présente comme un framework d'agent minimal dont les neuf outils atomiques et une boucle d'agent d'environ cent lignes donnent à un LLM le contrôle système d'une machine locale.
À qui s’adresse-t-il ?
GenericAgent est distribué sous licence MIT, qui autorise l'utilisation, la copie, la modification, la fusion, la publication, la distribution, la sous-licence et la vente de copies, à condition de conserver les mentions de copyright et de licence. Le texte de licence fournit explicitement le logiciel « en l'état », sans garantie d'aucune sorte, y compris la qualité marchande, l'adéquation à un usage particulier et la non-contrefaçon.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 2 jours.
En quel langage est-il écrit ?
Principalement Python, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Métadonnées du dépôt et ce que le README affirme

lsdefine/GenericAgent est un dépôt Python avec 13 664 étoiles, 1 584 forks et 125 problèmes ouverts au moment de la capture des métadonnées. Sa description GitHub dit qu'il s'agit d'un agent auto-évolutif qui fait croître un arbre de compétences à partir d'une graine de 3,3K lignes et atteint le contrôle complet du système avec six fois moins de consommation de jetons. Le README est plus précis : le cœur fait environ 3K lignes, composé de neuf outils atomiques et d'une boucle d'agent d'environ cent lignes. Il affirme que cela donne à tout LLM un contrôle système sur un ordinateur local, couvrant le navigateur, le terminal, le système de fichiers, les entrées clavier et souris, la vision d'écran et les appareils mobiles via ADB. Les deux nombres de lignes ne correspondent pas exactement ; le README arrondit à 3K tandis que la description du dépôt donne 3,3K, il faut donc attribuer chaque chiffre à sa source. Le README n'explique pas comment le chiffre de 3,3K a été mesuré et n'offre aucune vérification externe.

Installation et les deux chemins documentés

Le README documente deux chemins d'installation. Le premier est un flux développeur : cloner le dépôt, créer un environnement virtuel uv, exécuter uv pip install -e ".[ui]", copier mykey_template_en.py vers mykey.py et saisir une clé API LLM. Ces commandes apparaissent littéralement dans le README. Les dépendances sont volontairement hiérarchisées : le cœur ne nécessite que requests plus quatre paquets légers (beautifulsoup4, bottle, simple-websocket-server, aiohttp) pour le serveur local TMWebdriver ; l'extra [ui] ajoute des bibliothèques front-end telles que Streamlit, prompt_toolkit et rich. Le README affirme qu'il n'y a ni Playwright, ni LangChain, ni binaires de navigateur à télécharger. Le deuxième chemin est un installateur en une ligne : une commande PowerShell sous Windows et une commande basée sur curl sous Linux/macOS, qui récupèrent un script dans le répertoire assets/. Le README dit que le script crée un répertoire autonome avec un environnement Python isolé, Git et un paquet prêt à l'emploi, et il invite à lire le script dans assets/ avant de l'exécuter. Le README exige Python 3.11 ou 3.12 et déclare explicitement que Python 3.14 est incompatible avec pywebview et certaines autres dépendances. Les commandes de lancement documentées sont python frontends/tui_v3.py pour l'interface terminal et python launch.pyw pour l'interface Web Streamlit. Le README ne décrit pas ce qui se passe si l'installateur échoue en cours de route, ni ne documente un chemin de désinstallation.

Neuf outils atomiques et la boucle d'agent

L'ensemble d'outils comporte exactement neuf membres selon le README. code_run exécute du code arbitraire en Python ou PowerShell ; file_read lit les fichiers ; file_write écrit, crée ou écrase les fichiers ; file_patch modifie les fichiers ; web_scan perçoit le contenu web ; web_execute_js contrôle le comportement du navigateur ; ask_user fournit une confirmation humaine ; update_working_checkpoint est un bloc-notes de travail à court terme ; start_long_term_update distille la mémoire à long terme. La boucle d'agent elle-même fait environ cent lignes et se trouve dans agent_loop.py. Au-delà de ces neuf outils, le README dit que l'agent peut créer dynamiquement de nouveaux outils via code_run : installer des paquets Python, écrire de nouveaux scripts, appeler des API externes ou contrôler du matériel à l'exécution, et cristalliser des capacités temporaires en outils permanents. Le README ne spécifie pas la sémantique d'échec de ces outils, ni ce qui se passe lorsque deux tâches modifient le même fichier, ni le comportement lorsque code_run démarre un processus de longue durée.

Mémoire hiérarchique et l'affirmation d'arbre de compétences

Le système de mémoire a cinq couches. L0, Meta Rules, contient les règles de comportement centrales et les contraintes système. L1, Insight Index, est un index mémoire minimal pour le routage et le rappel rapides. L2, Global Facts, stocke des connaissances stables accumulées sur le long terme. L3, Task Skills/SOPs, contient des flux de travail réutilisables pour des types de tâches spécifiques. L4, Session Archive, stocke des enregistrements de tâches distillés à partir de sessions terminées pour un rappel à long horizon. Le mécanisme d'auto-évolution est décrit comme un cycle : pour une nouvelle tâche, l'agent explore de manière autonome en installant des dépendances, écrivant des scripts, déboguant et vérifiant ; il cristallise ensuite le chemin d'exécution en une compétence écrite dans une couche mémoire ; à la prochaine tâche similaire, il rappelle directement la compétence. Le README donne des exemples comme lire des messages WeChat, produire un digest matinal de Hacker News, surveiller des actions et envoyer un fichier via Gmail, avec un tableau contrastant l'effort initial et l'invocation en une ligne ensuite. Il affirme aussi que le dépôt lui-même est une preuve d'auto-amorçage : tout, de l'installation de Git et git init à chaque message de commit, a été réalisé de manière autonome par GenericAgent, et l'auteur n'a jamais ouvert de terminal. Cette affirmation n'a aucune vérification indépendante dans le dépôt. Le README n'offre aucune mesure de la croissance des compétences par tâche, de l'évolution de la taille mémoire ou de la stabilité de la mémoire à long terme sur de nombreuses sessions.

TMWebdriver : l'affirmation de vrai navigateur et ses chiffres de test

Le README dit que les outils web sont propulsés par TMWebdriver, un serveur WebSocket local plus une extension Chrome, fonctionnant dans une session Chrome ou Chromium réelle et persistante plutôt que dans un sandbox headless jetable. Cela préserverait les cookies, l'état de connexion, les extensions, le comportement GPU/WebGL et les empreintes normales de session navigateur. Il rapporte ensuite les résultats de plusieurs services de détection : SannySoft 56/56 réussi, bot.incolumitas.com 36/36 réussi, BrowserScan a signalé normal, Device and Browser Info a renvoyé isBot=false, la démo FingerprintJS s'est terminée sans verdict de bot, et une démo reCAPTCHA v3 a donné un score humain de 0,9. Le README ajoute lui-même une qualification importante : 0,9 n'est pas un résultat de case cochée mais un score humain à haute confiance du modèle de risque, généralement au-dessus des seuils de production courants. Ces chiffres sont le propre rapport du README ; le dépôt ne contient pas les transcriptions de test ni les horodatages. Le README n'explique pas non plus les mécanismes du contrôle mobile via ADB ou de l'injection clavier et souris au niveau du système d'exploitation ; il les nomme simplement comme capacités couvertes.

Évaluation, comparaison et feuille de route datée

Le README dit que GenericAgent est évalué sur cinq dimensions : achèvement de tâche et efficacité des jetons, efficacité d'utilisation des outils, efficacité du système de mémoire, capacité d'auto-évolution et capacité de navigation web. Il liste des benchmarks pour chaque dimension, notamment SOP-Bench, Lifelong AgentBench, RealFin-Benchmark, Tool Efficiency Benchmark, LoCoMo, un test de stress à 20 compétences, WebCanvas, BrowseComp-ZH et 22 tâches personnalisées. Il nomme Claude Code, OpenAI CodeX et OpenClaw comme références, évalués sur les socles Claude Sonnet 4.6, Claude Opus 4.6, GPT-5.4 et MiniMax M2.7, et lie les ensembles de données et résultats complets à JinyiHan99/GA-Technical-Report. Le tableau de comparaison oppose GenericAgent à OpenClaw et Claude Code sur la taille du code, le déploiement, le contrôle navigateur, le contrôle OS, l'auto-évolution et la configuration initiale ; les chiffres, comme environ 3K contre environ 530 000 lignes, proviennent du README. La feuille de route contient des entrées datées : TUI v3 le 23/05/2026, mode Morphling le 18/05/2026, mode Goal Hive le 17/05/2026, GUI bureau le 15/05/2026, orchestration de sous-agents Conductor le 14/05/2026, TUI v2 le 12/05/2026, mode Goal le 08/05/2026, rapport technique arXiv le 21/04/2026, mémoire d'archive de session L4 et intégration cron le 11/04/2026, support WeChat personnel le 23/03/2026, bibliothèque de compétences à l'échelle du million le 10/03/2026, un bot gouvernemental nommé Dintal Claw le 08/03/2026, une mention par le média chinois Jiqizhixin le 01/03/2026 et la sortie publique V1.0 le 16/01/2026. Aucune de ces dates n'est corroborée par une autre source dans le dépôt.

Déclaration des canaux officiels et limites de la licence

Le README commence par un avis indiquant que les canaux officiels sont ce dépôt GitHub et https://gaagent.ai, et que DintalClaw est le seul partenaire commercial autorisé. Il avertit que tout autre site tiers, organisation ou individu utilisant le nom GenericAgent n'est pas officiel. La section communauté liste quatre projets GUI open source indépendants : chilishark27/ga-manager, wangjc683/galley, FroStorM/A3Agent et Fwind43/GenericAgent-Admin. Leur état de maintenance et leur qualité de code ne relèvent pas de ce dépôt. La licence est MIT, le droit d'auteur appartient à lsdefine. Le texte MIT autorise le traitement du logiciel sans restriction, y compris l'utilisation, la copie, la modification, la fusion, la publication, la distribution, la sous-licence et la vente de copies, sous réserve de conserver les mentions de copyright et de licence. Le logiciel est fourni « en l'état », sans garantie d'aucune sorte, expresse ou implicite, y compris la qualité marchande, l'adéquation à un usage particulier et la non-contrefaçon. La licence ne dit rien sur la posture de sécurité, les engagements de support ou les garanties de performance, et le README ne les fournit pas non plus.

Conclusion éditoriale

GenericAgent est distribué sous licence MIT, qui autorise l'utilisation, la copie, la modification, la fusion, la publication, la distribution, la sous-licence et la vente de copies, à condition de conserver les mentions de copyright et de licence. Le texte de licence fournit explicitement le logiciel « en l'état », sans garantie d'aucune sorte, y compris la qualité marchande, l'adéquation à un usage particulier et la non-contrefaçon. Il ne dit rien sur la posture de sécurité, les engagements de support ou les performances dans un environnement spécifique ; les sources du dépôt ne les établissent pas non plus.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté