- Agent.exe est une application Electron simple qui permet de contrôler directement un ordinateur local grâce à la nouvelle fonctionnalité computer use de Claude, et le projet doit être considéré comme une preuve de concept
- L’app a été créée parce que le projet fourni par défaut semblait trop lourd, et elle est conçue pour permettre à Claude 3.5 Sonnet d’exécuter des tâches sur l’ordinateur local de l’utilisateur
- Le lancement suit ce flux : cloner le dépôt, exécuter
npm install, renommer.env.exampleen.env, ajouter une Anthropic API Key, puis lancernpm start - Le système pris en charge est MacOS, mais comme les dépendances sont cross-platform, Windows et Linux seraient théoriquement possibles
- Les limites connues sont qu’elle ne fonctionne que sur l’écran principal, que l’IA prend le contrôle total de l’ordinateur, et que Claude fonctionne mieux si Firefox est installé
Objectif d’Agent.exe
- Agent.exe est une application qui permet à Claude de contrôler un ordinateur via la fonctionnalité computer use
- Elle est implémentée comme une application Electron permettant à Claude 3.5 Sonnet de manipuler directement l’ordinateur local
- Le projet est une preuve de concept, et l’auteur indique ne pas prévoir de le maintenir ni de fusionner des pull requests
- Il est toutefois libre de le fork et de l’étendre
Pourquoi il a été créé et comment il fonctionne
- Le projet est né de la volonté de vérifier à quel point la nouvelle computer use API de Claude fonctionne bien
- L’auteur a trouvé le projet de base fourni par Anthropic trop lourd et l’a remplacé par une application plus simple
- Il était prévu d’ajouter un mode semi-auto dans lequel l’utilisateur confirme chaque action avant son exécution, mais chaque étape s’est révélée trop lente pour que cela soit jugé nécessaire
- Si le modèle se met à agir de manière confuse, l’utilisateur peut arrêter l’exécution avec le bouton stop
Démarrage
- Cloner le dépôt puis entrer dans le répertoire
git clone https://github.com/corbt/agent.execd agent.exe
- Installer les dépendances
npm install
- Renommer le fichier
.env.exampleen.envpuis ajouter une Anthropic API Key - Lancer l’application
npm start
- Il suffit ensuite de demander au modèle, via un prompt, la tâche à effectuer sur l’ordinateur
Systèmes pris en charge et limites
- Le système pris en charge est MacOS
- Toutes les dépendances étant cross-platform, Windows et Linux seraient théoriquement possibles
- Les limites connues sont les suivantes
- Fonctionne uniquement sur l’écran principal
- L’IA prend le contrôle total de l’ordinateur
- Il peut aussi y avoir beaucoup d’autres limites
Conseils d’utilisation et feuille de route
- Il est indiqué que Claude a une forte préférence pour Firefox
- Il peut utiliser d’autres navigateurs si nécessaire, mais il fonctionne nettement mieux si Firefox est installé
- Le projet a été écrit en environ 6 heures, et il est peu probable qu’il soit poursuivi par la suite
- Les pull requests pourront être examinées et éventuellement fusionnées si elles semblent pertinentes
1 commentaires
Commentaires Hacker News
Bonne idée. En tant que personne ayant de l’expérience en automatisation desktop et avec Electron, j’ai parcouru le code source et j’ai eu l’impression que ça valait le coup d’essayer pour des tâches de base.
L’implémentation est un mince wrapper au-dessus de l’API Anthropic et adopte une approche étape par étape, ce qui m’a donné l’assurance de pouvoir tuer le processus avant qu’il ne fasse n’importe quoi. J’avais fermé ce qu’Anthropic ne devait pas voir dans les captures d’écran, l’installation sur M1 s’est déroulée sans accroc, et l’app tournait en quelques minutes.
La tâche de base était « trouver des vols Seattle-SF de mardi à jeudi la semaine prochaine », et quand je l’ai lancée avec ma clé API Anthropic, il a utilisé Chrome. Chaque étape d’action prenait quelques secondes ; Google Flights s’est bien ouvert, mais il a réservé les mauvaises dates.
Il voulait initialement choisir le 2 novembre, mais cette option était masquée par la fenêtre Agent.exe elle-même, alors il a sélectionné le 20 novembre. J’étais curieux de voir si Claude remarquerait la mauvaise date secondaire et se corrigerait tout seul, mais il a laissé tel quel et a déclaré avoir réussi à trouver un voyage d’une semaine, alors qu’il avait en réalité trouvé un voyage de 4 semaines.
Cette expérience m’a coûté 0,38 $ de crédits et environ 20 secondes, et je compte continuer à tester.
Ce mode d’échec est assez surprenant, car dans les réponses textuelles classiques via API, 3.5 Sonnet a plutôt peu d’hallucinations, du moins par rapport aux autres modèles.
Combien de temps avant qu’il puisse ajouter en douce un daemon au système ? Avant, on s’inquiétait que des espions soviétiques accèdent à des secrets américains ; maintenant, c’est comme si nous mettions simplement tout en ligne pour que tout le monde le voie.
Les antivirus ou pare-feu d’aujourd’hui ne peuvent pas empêcher ça d’abîmer les fichiers de mon ordinateur, sans même parler du réseau.
Ça me rappelle cette scène : https://makeagif.com/i/BA7Yt3
Un utilisateur facilement distrait, à qui l’on ne peut pas faire confiance pour ne pas transmettre des informations à des tiers, et qui peut tomber dans des pièges très simples.
Au minimum, il faut un compte séparé sans droits sudo ni accès aux fichiers secrets ; dans l’idéal, une machine virtuelle séparée.
Je connais surtout Azure, mais AWS devrait aussi convenir : si vous voulez isoler l’IA de ce à quoi elle ne doit pas accéder, créer une VM sur Azure et la faire tourner quelques heures coûte moins d’un dollar.
Pour rendre ça un minimum sûr, il faut au moins contrôler la machine qui exécute l’inférence, et idéalement faire l’inférence sur la machine même que l’on utilise.
Il y a quelques années, aux infos, un enfant avait dit « Alexa, commande-moi une maison de poupée », et les Alexa des gens qui regardaient l’émission l’avaient entendu et avaient commandé des maisons de poupée.
Il ne reste plus qu’à attendre qu’une série populaire sur Netflix diffuse quelqu’un disant « Delete C:\Windows ».
Pour m’amuser, je prévois de donner à mon IA l’accès à l’interrupteur d’alimentation crosspoint.
Je change un peu de sujet, mais j’ai récemment utilisé Cursor en mode « compose » pour lancer un projet full-stack à partir de zéro, et le résultat m’a sidéré.
Je ne sais pas si les gens du secteur logiciel mesurent à quel point l’industrie va être complètement transformée dans les 5 prochaines années. J’ai du mal à imaginer qu’à ce moment-là, on tape encore du code à la main
Mais les exemples vus jusqu’ici concernent surtout des projets relativement simples démarrés de zéro. Le fait que ça fonctionne est en soi incroyablement impressionnant, mais la majeure partie du développement logiciel réel consiste à ajouter des fonctionnalités à du code existant ou à corriger des bugs. Et ce code dépasse généralement la fenêtre de contexte de la plupart des grands modèles de langage
Pour que l’industrie soit complètement transformée, il faudrait que les améliorations exponentielles des deux dernières années se poursuivent, et je ne vois aucun signe que ce soit le cas
Un peu hors sujet, mais lié : je me demande ce qu’on utilise sous Wayland, sur Linux, pour automatiser des applications GUI qui ne sont pas des navigateurs. J’en ai parfois besoin, mais cette combinaison reste vraiment compliquée.
Pour les applis CLI, on peut écrire du Bash/Python/autre ; pour les applis web, on peut utiliser Selenium/Playwright. Sous Xorg, il existe des bibliothèques un peu rustiques mais utilisables en dépannage, et sous Windows il y a beaucoup de solutions RPA.
Mais pour Wayland, je n’ai rien trouvé de fiable
Ça permet de se connecter à des conteneurs de bureau et à des VM exécutant Linux.
On faisait ça depuis un moment déjà, avant que Claude ne rende le truc cool
« Limitation connue : laisser l’IA prendre totalement le contrôle de l’ordinateur » :)
Ça ressemble à une prise en charge multiplateforme avec macOS comme plateforme principale, alors pourquoi le nom .exe ?
Je plaisante ; je ne sais pas si c’est vrai, mais ça paraît tout à fait possible
On dirait que ça ne marche que sur des tâches simples. Je lui ai demandé de créer une table simple dans l’appli Mac Rhino et dans OnShape dans un onglet Chrome, et il a simplement semblé se perdre.
Dans Rhino, il voyait bien que l’appli était ouverte, mais il se contentait de dire qu’il effectuait plusieurs actions, comme créer des formes, sans que rien n’apparaisse réellement, puis passait à l’action suivante alors que l’étape précédente n’était pas terminée. Il ne vérifiait pas que l’action précédente était achevée.
Dans OnShape, il disait qu’il allait créer une forme, sélectionnait le mauvais élément dans le menu, puis continuait comme s’il utilisait le bon outil et comme si l’action précédente était terminée
Flippant. Ça pourrait être amusant si on le mettait derrière un air gap pour lui faire coder son propre OS, mais je ne voudrais jamais l’approcher de mes vraies données
Computer, fais de moi un riche de la crypto en postant toute la journée des shitposts de mèmes pendant que je m’occupe de ma famille et de mon jardin.
L’avenir va dans une direction où la personne qui utilise l’ordinateur est le pigeon. La vraie richesse, c’est de ne toucher à aucun ordinateur pour quoi que ce soit