Blog

AutoGUI - wenn Ingenieure und Stakeholder (Code) auf der gleichen Seite schwingen

Caio Benatti Moretti

Caio Benatti Moretti

Aktualisiert März 17, 2026
5 Minuten

Es ist nur eine zusätzliche Schaltfläche, sagten sie. Es fühlt sich fast falsch an, wenn wir einen solchen Klassiker nicht von Stakeholdern zu hören bekommen, die genau diese zusätzliche Funktion in Ihrem Dashboard vermissen werden. Ihre Frustration kommt als nächstes, nachdem sie den Aufwand, der hinter einer so einfachen Schaltfläche steckt, nicht ganz begreifen, oder sogar, wenn sie am Ende nicht viel zum Projekt beiträgt.

Vibe Coding kommt und rettet den Tag mit schnellen Experimenten. Oder fast, denn Stakeholder und Fachexperten bleiben außen vor, weil die Codierung eher technisch bleibt und vom eigentlichen Fachkontext abgekoppelt ist. Es ist interessant, wie scharf eine solche Grenze gezogen wird, wo doch Vibe Coding und Anforderungserhebung auf denselben Säulen ruhen: Abstrakte Eingaben werden in einfacher Sprache formuliert, die Ausgabe erfolgt als Implementierung oder Code, und oft sind Iterationen erforderlich.

Um dieses Drama nun auf das wirkliche Leben zu übertragen, habe ich versucht, einen weniger technischen Weg zu finden, um Ingenieure, Fachexperten und Interessenvertreter zusammenzubringen, ohne das Dashboard zu verlassen. Also habe ich das AutoGUI-Paket für Streamlit entwickelt, das auf Benutzeranfragen hin Funktionen in Echtzeit implementiert und ausführt, die von einer automatisch generierten Benutzeroberfläche gesteuert werden. Lesen Sie weiter und sehen Sie sich praktische Anwendungsfälle an, wie Sie das Paket nutzen oder sogar dazu beitragen können.

Anwendungsfälle

Wenn im Code Raum für Flexibilität (d.h. Experimente) vorhanden ist, kann AutoGUI für bestimmte Funktionen in den folgenden (Spielzeug-)Anwendungsfällen nützlich sein, anstatt die KI blindlings die ganze Arbeit machen zu lassen:

Bild-Editor

Pipeline von Bildverarbeitungstechniken, um ein als Eingabe bereitgestelltes Bild zu bearbeiten/verarbeiten:

  • Fachexperte: fragt nach Bildverarbeitungstechniken für eine technische Anwendung oder sogar als Photoshop-Anwender.
  • Entwickler: führt das Prompt-Engineering durch und berücksichtigt dabei code-spezifische Aspekte; korrigiert und passt den generierten Code bei Bedarf an.
  • Versuchen Sie es selbst

Aktienkursprognose

Vorhersage von Aktienkursen für einen bestimmten Ticker:

  • Domänenexperte: fragt nach aktienkursbezogenen Indikatoren, Visualisierungen, Prognosehorizont, etc.
  • Entwickler: führt promptes Engineering durch, fragt nach Techniken des maschinellen Lernens; korrigiert und passt den generierten Code bei Bedarf an.
  • Versuchen Sie es selbst

Audio Verarbeitung

Anwendung von Signalverarbeitungstechniken auf den rohen Audioeingang:

  • Fachexperte: Sondiert Signalverarbeitungstechniken zur Entwicklung einer Pipeline
  • Entwickler: macht Prompt-Engineering, trägt mit Techniken des maschinellen Lernens bei; korrigiert und passt den generierten Code bei Bedarf an.
  • Versuchen Sie es selbst

Einrichtung

Installation und Anforderungen

Führen Sie den folgenden Befehl aus, um das streamlit-autogui Paket zu installieren:

pip install streamlit-autogui

Wichtig: Vergewissern Sie sich vor der Verwendung, dass Sie:

  • ein Herstellerpaket installiert,
  • die entsprechenden Umgebungsvariablen gesetzt werden müssen (siehe die erwarteten Variablennamen für jeden Anbieter), und
  • ein eingesetztes Modell, das durch einen Namen identifiziert wird.

Dann ist AutoGUI in der Lage, Modelle zu finden und für die Codegenerierung zu verwenden.

Verwendung

AutoGUI funktioniert als Platzhalter für die (Neu-)Implementierung einer bestimmten Funktion. Wenn der Dateneingang und die gewünschte Ausgabe bekannt sind, der Durchsatz aber variabel ist (hier kommt das Experimentieren ins Spiel), dann kommt AutoGUI zum Einsatz, wie unten dargestellt, oder noch praktischer in Anwendungsfällen.

autogui_diagramm

Unter der Haube wird die Funktion docstring als erste KI-Chat-Nachricht verwendet(Systemrolle ). Um die Eingabeaufforderung zu vereinfachen und sich wiederholende Arbeiten zu vermeiden, wurden einige Vorlagen für häufig verwendete Funktionen implementiert, wie z.B. IO und Visualisierung.

Beispiel:

import streamlit as st
import autogui as ag

n = st.number_input("Input number")

# Context: some number n comes from some heuristic process, needs some processing, and then outputs whether the result is odd.

def is_odd(num:int) -> bool:
    """{IO}. Submit number `num` to arith operations. As a final step, return whether the final result is odd."""

    odd = ag.autogui(
        name="Is odd",
        init_prompt="Display input number, raise to a power, add"
    )

    return odd

result = is_odd(n)
if result != None:
    st.write("The result is an","odd" if result else "even", "number")

Weitere Informationen finden Sie in der Dokumentation oder im Popup-Menü der In-App-Einstellungen, wo Sie weitere Einstellungen vornehmen können. Insbesondere die Einstellung "Bei GUI-Änderungen ausführen", die verhindert, dass Streamlit nach jeder kleinen Änderung an den UI-Komponenten aktualisiert wird.

Beschränkungen und Verbesserungen

AutoGUI hat Einschränkungen. Einige müssen noch verbessert werden, andere sind einfach dem generativen Paradigma geschuldet und sollten vor der Verwendung des Pakets berücksichtigt werden:

  • Lebenszyklus: AutoGUI wurde als Sondierungswerkzeug entwickelt, um erste Ideen anzustoßen, die später zu einem statischen Stück Code werden können, der von Menschen gepflegt werden muss.
  • Code-Injektion: Es wird beliebiger Code ausgeführt, sowohl von der KI als auch von Änderungen, die der Benutzer vornimmt. Das bedeutet, dass Umgebungsvariablen, das Dateisystem und jede andere Ressource des Rechners, auf dem die Anwendung läuft, zugänglich gemacht werden.
  • Generative Fähigkeiten: klassische Garbage-In, Garbage-Out Situation. Ein schwaches Modell hat schwachen Code zur Folge. Das Gleiche gilt für Quoten, Folgekorrekturen usw.
  • Unabhängige Pakete: Es sind Fehler zu erwarten, wenn ein neues Paket im generierten Code benötigt wird. Die Installation der Pakete und die erneute Ausführung des Codes sollten zur zweiten Natur werden.
  • Autonomie: Die Unterstützung von Agenten und Fähigkeiten würde der KI mehr Autonomie verleihen und eine bessere Steuerung von Implementierungen in Richtung domänenspezifischer Lösungen ermöglichen. Neben allem anderen, was in Skills vermittelt wird, würde dies auch das UI-Templating und die Fehlerkorrektur zur Laufzeit verbessern.

Schlussbemerkungen

AutoGUI kann die Programmierung von Vibes menschenfreundlicher machen, indem es versucht, Programmierer und Domänenexperten/Stakeholder zum Experimentieren und zur Lösung von domänenspezifischen Problemen zusammenzubringen. Es ist jedoch kein endgültiges Werkzeug. Sobald sich aus dem Experimentieren gute Erkenntnisse ergeben, besteht der nächste Schritt darin, den generierten Code statisch zu machen, zu integrieren und vom technischen Team richtig anzupassen.

Das Paket befindet sich in der Anfangsphase und bietet noch viel Raum für Verbesserungen. Ich lade Sie nicht nur dazu ein, es zu nutzen, sondern vor allem dazu beizutragen! Forken Sie das streamlit-autogui Repo, bringen Sie Ihre Ideen ein und lassen Sie uns zusammenarbeiten!

Verfasst von

Caio Benatti Moretti

Contact

Let’s discuss how we can support your journey.