Agent.exe – Eine plattformübergreifende App zur Steuerung von Geräten mit Claude 3.5 Sonnet
(github.com/corbt)- Agent.exe ist eine einfache Electron-App, die mit Claudes neuer computer use-Funktion den lokalen Computer direkt steuern kann; das Projekt sollte als Proof of Concept betrachtet werden
- Die App wurde erstellt, weil sich das Standardprojekt als zu schwergewichtig anfühlte, und ist dafür ausgelegt, dass Claude 3.5 Sonnet Aufgaben auf dem lokalen Computer des Nutzers ausführt
- Der Ablauf zum Starten ist: Repository klonen,
npm install,.env.examplein.envumbenennen, den Anthropic API Key eintragen undnpm startausführen - Unterstützt wird MacOS; da die Abhängigkeiten plattformübergreifend sind, sollen theoretisch auch Windows und Linux möglich sein
- Bekannte Einschränkungen sind, dass es nur auf dem primary display funktioniert, die AI die vollständige Kontrolle über den Computer erhält und Claude mit installiertem Firefox besser arbeitet
Zweck von Agent.exe
- Agent.exe ist eine App, die mithilfe von Claudes computer use-Funktion den Computer steuert
- Sie ist als Electron-App implementiert, damit Claude 3.5 Sonnet den lokalen Computer direkt bedienen kann
- Das Projekt ist ein Proof of Concept, und es wird darauf hingewiesen, dass keine Wartung geplant ist und keine pull requests zusammengeführt werden sollen
- Forken und Erweitern ist frei möglich
Warum es erstellt wurde und wie es funktioniert
- Es begann mit dem Ziel zu prüfen, wie gut Claudes neue computer use API funktioniert
- Da sich das von Anthropic bereitgestellte Standardprojekt als zu schwergewichtig anfühlte, wurde eine einfachere App gebaut
- Es gab Pläne, einen semi-auto-Modus hinzuzufügen, bei dem der Nutzer jede Aktion vor der Ausführung bestätigt, aber da jeder Schritt zu langsam war, wurde das als unnötig eingeschätzt
- Wenn das Modell durcheinandergerät, kann der Nutzer mit dem Stop-Button die Ausführung beenden
Erste Schritte
- Das Repository klonen und in das Verzeichnis wechseln
git clone https://github.com/corbt/agent.execd agent.exe
- Abhängigkeiten installieren
npm install
- Die Datei
.env.examplein.envumbenennen und den Anthropic API Key hinzufügen - Die App starten
npm start
- Danach dem Modell per Prompt die Aufgaben geben, die es auf dem Computer ausführen soll
Unterstützte Systeme und Einschränkungen
- Unterstütztes System ist MacOS
- Da alle Abhängigkeiten plattformübergreifend sind, sind theoretisch auch Windows und Linux möglich
- Bekannte Einschränkungen sind die folgenden
- Funktioniert nur auf dem primary display
- Die AI erhält die vollständige Kontrolle über den Computer
- Darüber hinaus kann es noch viele weitere Einschränkungen geben
Nutzungstipps und Roadmap
- Claude scheint Firefox stark zu bevorzugen
- Andere Browser werden bei Bedarf zwar auch verwendet, aber mit installiertem Firefox funktioniert es deutlich besser
- Das Projekt wurde in etwa 6 Stunden geschrieben, und es gilt als eher unwahrscheinlich, dass daran weitergearbeitet wird
- pull requests können geprüft und bei gutem Eindruck möglicherweise zusammengeführt werden
1 Kommentare
Hacker-News-Kommentare
Gute Idee. Als jemand mit Erfahrung in Desktop-Automatisierung und Electron habe ich den Source Code kurz überflogen und hatte das Gefühl, dass es für grundlegende Aufgaben einen Versuch wert ist.
Die Implementierung ist ein dünner Wrapper über der Anthropic API, und durch den schrittweisen Ansatz hatte ich das Vertrauen, den Prozess beenden zu können, bevor er etwas Merkwürdiges tut. Ich hatte alles geschlossen, was Anthropic nicht per Screenshot sehen sollte, die Installation auf einem M1 lief reibungslos, und nach ein paar Minuten lief es.
Die Basisaufgabe war „Flüge von Seattle nach SF für Dienstag bis Donnerstag nächste Woche finden“, und mit meinem Anthropic-API-Key nutzte es Chrome. Jeder Handlungsschritt dauerte ein paar Sekunden, Google Flights wurde korrekt geöffnet, aber die falschen Daten wurden gebucht.
Eigentlich sollte der 2. November gewählt werden, aber diese Option war vom Agent.exe-Fenster selbst verdeckt, sodass stattdessen der 20. November ausgewählt wurde. Ich war gespannt, ob Claude das falsche Hilfsdatum sehen und selbst korrigieren würde, aber es ließ es einfach so und erklärte selbstbewusst den Erfolg, obwohl tatsächlich nach einer 4-Wochen-Reise statt nach einer 1-Wochen-Reise gesucht wurde.
Dieser Versuch kostete 0,38 $ an Credits und etwa 20 Sekunden, und ich werde weiter damit experimentieren.
Dieses Fehlermuster ist etwas überraschend, weil 3.5 Sonnet bei normalen Text-API-Antworten im Vergleich zu anderen Modellen zumindest deutlich weniger zu Halluzinationen neigt.
Wie lange wird es wohl dauern, bis man damit heimlich einen Daemon ins System einschleusen kann? Früher machte man sich Sorgen, dass sowjetische Spione Zugang zu US-Geheimnissen bekommen könnten, heute ist es eher so, dass wir einfach alles online stellen, sodass es jeder sehen kann.
Mit heutiger Antivirensoftware oder Firewalls lässt sich nicht einmal verhindern, dass so etwas Dateien auf meinem Computer beschädigt, geschweige denn den Netzwerkzugriff.
Das erinnert mich an diese Szene: https://makeagif.com/i/BA7Yt3
Einen Benutzer, der sich leicht ablenken lässt, dem man nicht vertrauen kann, keine Informationen an Dritte weiterzugeben, und der auf einfache Tricks hereinfällt.
Mindestens braucht es ein separates Konto ohne sudo-Rechte oder Zugriff auf geheime Dateien, und idealerweise sogar eine separate virtuelle Maschine.
Ich kenne mich am besten mit Azure aus, aber AWS sollte auch gehen; wenn man die KI von Dingen trennen will, auf die sie keinen Zugriff haben darf, kann man in Azure eine VM erstellen, sie ein paar Stunden laufen lassen und bleibt trotzdem unter 1 Dollar.
Um das überhaupt einigermaßen sicher zu machen, müsste man zumindest die Maschine kontrollieren, auf der die Inferenz läuft, und idealerweise sollte die Inferenz auf genau der Maschine laufen, die ich benutze.
Vor ein paar Jahren gab es in den Nachrichten die Geschichte von einem kleinen Kind, das sagte: „Alexa, bestell mir ein Puppenhaus“, und die Alexas der Zuschauer, die die Sendung sahen, hörten das und bestellten ebenfalls ein Puppenhaus.
Man muss nur abwarten, was passiert, wenn in einer populären Netflix-Serie jemand „Delete C:\Windows“ sagt.
Zum Spaß plane ich, meiner KI Zugriff auf den Crosspoint-Stromschalter zu geben.
Etwas off-topic, aber ich habe kürzlich Cursor im „compose“-Modus benutzt, um ein Full-Stack-Projekt von Grund auf zu starten, und war schockiert vom Ergebnis
Ich weiß nicht, ob den Leuten in der Softwarebranche bewusst ist, wie vollständig sich die Branche in den nächsten fünf Jahren verändern wird. Es ist schwer vorstellbar, dass dann noch Menschen Code von Hand eintippen werden
Aber die Beispiele, die wir bisher gesehen haben, waren meist vergleichsweise einfache Projekte, die von Grund auf neu begonnen wurden. Dass das überhaupt funktioniert, ist schon kaum zu glauben, aber der Großteil echter Softwareentwicklung besteht darin, bestehendem Code Funktionen hinzuzufügen oder Bugs zu beheben. Solcher Code überschreitet in der Regel das Kontextfenster der meisten großen Sprachmodelle
Damit sich die Branche komplett verändert, müssten sich die exponentiellen Verbesserungen der letzten zwei Jahre fortsetzen, und es gibt keine Anzeichen dafür, dass das passiert
Ein bisschen am Thema vorbei, aber verwandt. Ich frage mich, womit man unter Wayland auf Linux GUI-Apps, die keine Browser sind, automatisiert. Ich brauche das gelegentlich, aber genau diese Kombination funktioniert bei mir nie richtig
CLI-Apps kann man in Bash/Python/sonst was schreiben, für Browser-Apps nimmt man Selenium/Playwright. Für Xorg gibt es grobe, aber im Notfall brauchbare Bibliotheken, und unter Windows gibt es viele RPA-Lösungen
Aber für Wayland habe ich nichts Verlässliches gefunden
Damit kann man sich mit Desktop-Containern und VMs verbinden, auf denen Linux läuft
Wir machen das schon seit einiger Zeit, noch bevor Claude es cool gemacht hat
„Bekannte Einschränkungen: Die KI übernimmt den Computer komplett“ :)
Sieht nach plattformübergreifender Unterstützung mit macOS als Hauptplattform aus, daher frage ich mich, warum der Name auf .exe endet
War ein Witz, ich weiß nicht, ob das stimmt, aber es wirkt plausibel genug
Scheint nur bei einfachen Aufgaben zu funktionieren. Ich habe es gebeten, in der Mac-App Rhino und in OnShape in einem Chrome-Tab eine einfache Tabelle zu erstellen, und es wirkte, als hätte es sich einfach verirrt
In Rhino konnte ich zwar sehen, dass die App geöffnet war, aber es sagte nur, es führe mehrere Aktionen wie das Erstellen von Formen aus, ohne dass tatsächlich etwas zu sehen war, und ging zum nächsten Schritt über, obwohl der vorherige noch nicht abgeschlossen war. Es prüfte nicht, ob die vorherige Aufgabe beendet war
In OnShape sagte es, es werde Formen erstellen, wählte dann aber im Menü den falschen Eintrag aus und machte einfach mit dem nächsten Schritt weiter, als wäre die vorherige Aktion abgeschlossen und als würde es das richtige Werkzeug verwenden
Unheimlich. Wenn man es per Air Gap isoliert und sein eigenes OS schreiben lässt, könnte das lustig sein, aber ich will es auf keinen Fall in die Nähe meiner echten Daten lassen
Computer, mach mich zum Krypto-Millionär, indem du den ganzen Tag Meme-Müllpostings absetzt, während ich mich um meine Familie kümmere und im Garten arbeite
Die Zukunft bewegt sich in eine Richtung, in der derjenige der Dumme ist, der Computer selbst benutzt. Der wahre Reichtum liegt darin, für nichts einen Computer anzufassen