2 Punkte von GN⁺ 2023-11-10 | 1 Kommentare | Auf WhatsApp teilen
  • Ein Projekt, das testet, ob Web-Browsing allein mit den Vision-Funktionen von GPT-4V möglich ist, und einem multimodalen Modell eine Schnittstelle zur Interaktion mit dem Web bereitstellt
  • Behandelt das Problem, dass das Modell ohne den Browser-DOM als Text nur schwer erkennen kann, worauf es klicken soll
  • Verwendet die Chrome-Erweiterung Vimium, um das Web ausschließlich per Tastatur zu navigieren, und erprobt so, wie das Modell mit dem Web interagiert
  • Der Ablauf besteht aus der Installation der Python-Abhängigkeiten, dem lokalen Download von Vimium, dem manuellen Laden der Erweiterung beim Start von Playwright und dem Ausführen von python main.py
  • Mit python main.py --voice kann der Voice Mode gestartet werden, sodass man das Ziel per Sprachbefehl vorgibt und Browser-Aktionen in Echtzeit ausgeführt werden
  • Derzeit unterstützt die Vision API weder den JSON-Modus noch Function Calling, sodass man auf einen primitiveren Prompt-Ansatz angewiesen ist
  • Bei niedriger Auflösung erkennt das Modell mitunter gar nichts; mit höher aufgelösten Bildern lässt sich das verbessern, allerdings werden dafür mehr Tokens benötigt

1 Kommentare

 
GN⁺ 2023-11-10
Hacker-News-Kommentare
  • Es ist wirklich erstaunlich, dass so etwas jetzt möglich ist: https://github.com/ishan0102/vimGPT/blob/682b5e539541cd6d710...
    Der Prompt steuert den Browser nach dem Muster: „Wähle zum Erreichen des Nutzerziels eine Aktion aus navigate, type, click, done, markiere das Klickziel über die gelbe Zeichenfolge und gib nur JSON zurück.“

    • Das Tempo, mit dem sich dieses Feld bewegt, ist schwindelerregend. Es könnte ein noch verrückterer Lauf werden als der Dotcom-Boom
  • Bei der Arbeit gibt es ziemlich viele Leute, die zwischen Legacy-Programmen nur manuell Daten kopieren. Im Behördenumfeld ist die technische Schuld so groß, dass man keinen Weg findet, die Systeme miteinander zu verbinden
    Wenn so ein Tool irgendwann eine Schicht werden könnte, die auf diesen Problemen aufsetzt, wäre das vielversprechend. Aus Sicht der Rechenressourcen ist es allerdings eine seltsame Lösung

    • Vor sehr langer Zeit hatte ich ein kleines Projekt für eine große multinationale Lebensmittelkette. Ich habe ein Tool gebaut, das Excel-Dateien mit einer bestimmten Struktur parst, interne System-Endpunkte aufruft und die Daten übermittelt
      Ich wollte wissen, wie sie das vorher gemacht hatten, also brachten sie mich zu einem Computer hinten im Büro. Auf dem Desktop-Hintergrund waren zwei Rechtecke mit MS EXCEL und INTERNET EXPLORER beschriftet. Die zuständige Person öffnete die beiden Apps, platzierte die Fenster exakt in diesen Rechtecken und ließ dann einen Autoklicker laufen, wie ihn RuneScape-Cheater benutzen würden, um Werte aus Excel in Webformulare zu kopieren. Großartig
    • Man gibt hier der „alten Software“ die Schuld, aber tatsächlich hat fast jeder Mensch im Internet ständig dasselbe Dateneingabeproblem. Man kopiert Formulardaten von einer Seite des Bildschirms in ein anderes Webformular oder tippt sie, schlimmer noch, erneut ein
      Benutzername, Passwort, E-Mail-Adresse, echte Adresse, Kreditkarteninformationen — alles gehört dazu, und es gibt Erweiterungen, die beim Ausfüllen helfen sollen, aber nichts funktioniert zuverlässig und dauerhaft. Selbst dass Benutzername und Passwort konsistent ausgefüllt werden, ist kaum zu erwarten. Das ist beim Surfen eine noch größere Nervensäge als Werbung, und es ist erstaunlich, dass das mit oder ohne LLM immer noch nicht gelöst ist. Für Software, die das vollständig löst, würde ich ein Monatsabo bezahlen
    • Der Branchenbegriff dafür ist Robotic Process Automation und diese Produktkategorie hat sich zusätzlich zum klassischen Screen Scraping darauf konzentriert, solche Dinge mit verschiedenen Formen von maschinellem Lernen/AI auf gemeinsame, strukturierte Weise zu verknüpfen
      Bisher waren solche Produkte ziemlich fragil, aber die jüngste Explosion der AI-Technologie scheint ein großer Rückenwind für diesen Bereich zu sein
    • Jedes Mal, wenn ich höre, dass Daten aus Legacy-Systemen manuell extrahiert werden, frage ich mich, ob man nicht ein Angebot für die „richtige“ Lösung eingeholt und dann entschieden hat, dass ein paar Leute tippen zu lassen einfach billiger ist
      Selbst wenn man so etwas wie ChatGPT integriert, müsste jemand mit Ahnung es prüfen, und es würde mich nicht wundern, wenn deren erster Rat wäre: „Verwenden Sie dort lieber kein ChatGPT.“
    • Früher fand ich die Szene in Ghost in the Shell seltsam, in der ein Roboter zusätzliche Finger auf den Fingern hat, um schneller tippen zu können. Direkt per USB einstecken geht zwar eher nicht, aber ich denke trotzdem, dass wir manchmal noch Bildschirm- und Tastatureingaben verwenden werden
  • vim scheint unbeabsichtigt ein großartiger verkörperter Körper für ChatGPT zu sein. Mit Textstreams kann man praktisch alles machen, und im Internet gibt es bereits Unmengen an vimscript
    Ich habe ein ähnliches Experiment begonnen, also kann sich das gern ansehen, wer in dieselbe Richtung denkt: https://github.com/LachlanGray/vim-agent

  • Ich bin der Ersteller. Fragt gern, wenn ihr etwas wissen wollt, und Beiträge sind willkommen. Im README habe ich ein paar mögliche nächste Schritte hinterlassen

    • Heute früher habe ich fast dasselbe veröffentlicht: https://github.com/Jiayi-Pan/GPT-V-on-Web. Es hat nur kaum Aufmerksamkeit bekommen
    • Open Interpreter versucht ebenfalls, Selenium per natürlicher Sprache zu automatisieren, und auch auf HN tauchen in letzter Zeit ziemlich viele ähnliche Projekte auf. Der Vimium-Ansatz wirkt deutlich leichtergewichtig und deshalb vielversprechend
      Auf die eine oder andere Weise verwandelt sich das öffentlich zugängliche World Wide Web gerade in einen eigenen dynamischen API-Overlay-Server
    • Worin unterscheidet sich das von der Art, wie ChatGPT derzeit im Web navigiert?
    • Könnte man das nutzen, um Bots zu bauen, die Websites besuchen und relevante Informationen extrahieren und analysieren, ohne Parser für jede einzelne Site zu schreiben?
  • Ich habe mit GPT-4 Vision eine ähnliche Idee ausprobiert, bei der über Screenshots und Aktionen gebrowst wird, bin aber beim Überlagern von Informationen auf dem Screenshot gescheitert und habe am Ende den Accessibility-Tree aus Playwright geholt und zusammen mit dem Text gesendet
    Dann kennt das Modell die interagierbaren Optionen, und in meinem Fall funktionierte das besser. Der Ersteller ist hier und hat auch eine Liste mit Ideen für die Zukunft, also könnte man das dort vielleicht ergänzen, wenn das okay ist

    • Gute Idee. Ursprünglich wollte ich nur visuelle Daten verwenden, aber so könnte der Agent deutlich mächtiger werden. Ich werde das bald ausprobieren
    • Statt nur das zu erfassen, was auf einen Bildschirm passt, wäre es vermutlich besser, den gesamten Inhalt zu erfassen. Mit dem neuen größeren Token-Fenster sollten die meisten Seiten als Text oder HTML hineinpassen
  • Ich habe in den letzten Wochen mit der ChatGPT-Oberfläche daran herumgespielt. Ein paar Tipps
    Ich habe das CSS geändert, um Verläufe und abgerundete Ecken zu entfernen, und fetter weißer Text auf Rot war am konsistentesten. Es ist gut, die Schriftgröße zu erhöhen, und wenn sich zwei Labels überlappen, sie gegenseitig wegzuschieben und einen Pfeil hinzuzufügen, der auf das Element zeigt. Für die API war es besser, sowohl ein annotiertes als auch ein nicht annotiertes Bild zu senden

  • Man könnte einen Autopiloten für den Browser bauen
    Wenn das in großem Maßstab ausgerollt wird, dürfte es extrem schwer werden, Bot-Traffic künftig noch zu unterscheiden. Kurzfristig scheint allerdings das Problem zu sein, dass das kaum billig oder zu vertretbaren Kosten machbar ist

    • Durch Finetuning von Open-Source-Modellen wie llava oder cogvlm ließen sich die Kosten vermutlich senken. Diese Demo kostet auch nur etwa 6 Cent, also nicht völlig absurd teuer, und mit klügerem Prompting könnte es noch besser werden
  • Welche Auswirkungen könnten solche Tools auf Web-Tracking oder Internetwerbung insgesamt haben? Wenn ein Agent stattdessen das Web durchsuchen und genau das holen kann, wonach man sucht, ohne Werbung oder Pop-ups zu sehen und dabei auch noch Tracking zu vermeiden, wäre das ein großartiger Adblocker
    Vielleicht könnte das SEO nutzlos machen und die Qualität des Internets verbessern. Andererseits frage ich mich, ob es als Nebenwirkung dazu kommen könnte, dass Werbung irgendwie in die dadurch gelieferten Inhalte „eingemischt“ wird

    • Wenn man Seitenscreenshots an GPT sendet, sieht es dann nicht auch die Werbung mit?
  • Viele Unternehmen in den Niederlanden zahlen Gehälter so aus. 1) Man bekommt vom Buchhalter die Gehaltsabrechnungen, 2) man startet für jeden Mitarbeiter manuell eine Banküberweisung über genau den Betrag aus der jeweiligen Abrechnung, und 3) man startet auch die Banküberweisung der einbehaltenen Lohnsteuer an die Steuerbehörde manuell
    Das ist völlig nutzlose Handarbeit, und es gibt keinen Grund, warum das ein manueller Prozess sein sollte. Trotzdem ist Automatisierung fast unmöglich. Buchhaltungsportale haben keine API, oder falls doch, lassen sie einen die Daten als PDF herunterladen, oder die API kostet ziemlich viel. Banken haben ebenfalls keine API oder verlangen für ein Entwicklerkonto, als würde man eine öffentliche App veröffentlichen, obwohl man eigentlich nur interne Abläufe automatisieren will. Deshalb ist die einfachste Art, Gehälter und Steuern zu zahlen, immer noch, jemanden einzustellen, der das manuell erledigt. Ich würde einer AI nicht vertrauen, tatsächlich Banküberweisungen auszulösen, aber vielleicht könnte sie die Transaktionen vorbereiten und ein Mensch müsste nur noch die Freigabe zum Absenden erteilen

    • Das scheint mit AI nicht besonders viel zu tun zu haben. Im Vereinigten Königreich gibt es mit Pento bereits Lösungen dieser Art, die per Open Banking Zahlungen an Nutzer und Steuerbehörden automatisieren und Steuererklärungen auch automatisch einreichen: https://www.pento.io/la/payroll-software
    • Das ist einfach ein Bankproblem. So laufen Gehaltszahlungen in großen Unternehmen nicht ab. Banken erlauben normalerweise das Hochladen von XML-Dateien, die SWIFT-Zahlungsbündel definieren, und so werden auch Gehaltszahlungen kleiner Unternehmen verarbeitet. Buchhalter stellen ebenfalls XML-Dateien bereit und haben wahrscheinlich eine App zu deren Erstellung
    • Bei uns im Land ist es ähnlich, nur dass einige Daten auf Websites von Regierungsbehörden hochgeladen werden müssen. Ich meine, Anfang dieses Jahres wurde angekündigt, dass Menschen, die Software verwenden, um Aktionen auf der Website auszuführen, gesperrt werden können
    • Das Ziel von https://github.com/OpenAdaptAI/OpenAdapt ist die Automatisierung sich wiederholender GUI-Workflows
  • Ist das dem Konzept von Adept sehr ähnlich? Nur scheint das Produkt noch nicht fertig zu sein: https://www.adept.ai/

    • Schon verrückt, dass etwas, von dem man hörte, dass Adept über 300 Millionen Dollar an Finanzierung erhalten hat und seit Jahren daran baut, jetzt mit der OpenAI API an einem Tag gebaut werden kann
      Adept scheint unterwegs die Richtung geändert zu haben, aber das ursprüngliche Konzept war diesem hier sehr ähnlich
    • https://www.adept.ai/blog/experiments :)
    • Stimmt. Es wurde von Adept und einigen anderen Startups inspiriert
    • Genau an diese Demo musste ich denken