Automatisierung KI

So nutzen Sie den Befehl „Hermes /Goal“, um Ihre Projekte zu optimieren

Foto von Steve A Johnson (@steve_j) auf Unsplash

Die meisten KI-Assistenten sind gut darin, eine einzelne Anfrage zu beantworten. Sie sind jedoch weniger zuverlässig, wenn eine Aufgabe mehrere Schritte – Recherche, Ausführung, Test und Korrektur – erfordert.

Hermes-Agenten /Ziel Der Befehl „command“ wurde speziell für diese Lücke entwickelt. Anstatt jede Antwort als Ende der Interaktion zu betrachten, hält er ein Ziel über mehrere Runden hinweg aktiv. Nach jedem Durchgang prüft ein schlankes Bewertungsmodell, ob die zuletzt erbrachte Leistung das Ziel erfüllt. Ist dies nicht der Fall, fordert sich Hermes selbst auf, so lange fortzufahren, bis das Ziel erreicht ist, der Nutzer pausiert oder den Vorgang abbricht oder das zulässige Durchgangskontingent aufgebraucht ist.

Das führt dazu, dass /Ziel nützlich für Arbeiten, die andernfalls wiederholte Anweisungen wie “Weitermachen”, “Noch einmal testen” oder “Die verbleibenden Punkte erledigen” erfordern würden. Es kann beim Programmieren, bei der Recherche, bei der Datenverarbeitung, bei Audits und anderen mehrstufigen Aufgaben helfen, vorausgesetzt, das gewünschte Ergebnis lässt sich definieren und überprüfen.

Der Befehl eignet sich weniger für vage Ziele, heikle Entscheidungen oder Projekte, die häufige menschliche Einschätzungen erfordern. Hermes kann zwar weiterhin auf ein Ziel hinarbeiten, benötigt dafür jedoch eine genaue Beschreibung dessen, was „Abschluss“ bedeutet.

Was /Ziel tatsächliche Änderungen

Eine normale Hermes-Eingabeaufforderung führt zu einem Agenten-Zug. Das Modell kann während dieses Zuges mehrere Tools aufrufen, doch sobald es eine endgültige Antwort zurückgibt, hält es an und wartet auf den Benutzer.

Ein Ziel bleibt nach dieser Reaktion weiterhin aktiv.

Wenn Sie Folgendes eingeben:

/Ziel: Alle fehlgeschlagenen Tests in „tests/hermes_cli/“ beheben und sicherstellen, dass „scripts/run_tests.sh“ für dieses Verzeichnis erfolgreich ausgeführt wird

Hermes beginnt sofort mit der Arbeit. Sobald die erste Runde beendet ist, prüft der Schiedsrichter, ob das festgelegte Ziel erreicht wurde. Wenn die Tests weiterhin fehlschlagen, startet Hermes automatisch eine weitere Runde. Dies wird so lange fortgesetzt, bis die Tests erfolgreich sind, das Ziel sein Rundenlimit erreicht hat oder der Vorgang unterbrochen wird.

Das Standardbudget beträgt 20 Runden, kann jedoch in der Konfiguration geändert werden. Diese Begrenzung ist wichtig, da ein Agent, der in einer unproduktiven Schleife feststeckt, andernfalls weiterhin Token, Werkzeugzeit und Guthaben für externe Dienste verbrauchen würde.

Das System sorgt somit für Beständigkeit, nicht jedoch für uneingeschränkte Autonomie.

Verwenden Sie es für Arbeiten mit einer sichtbaren Ziellinie

Der Stärkste /Ziel Aufgaben weisen drei Merkmale auf: Sie erfordern mehrere Schritte, Hermes hat Zugriff auf die zu ihrer Ausführung erforderlichen Werkzeuge und das Ergebnis lässt sich überprüfen.

Die Softwareentwicklung ist ein naheliegendes Beispiel:

/Ziel: Das Projekt auf Python 3.13 aktualisieren, inkompatible Abhängigkeiten aktualisieren, die gesamte Testsuite ausführen und erst dann beenden, wenn alle Tests bestanden sind.

Die Abschlussbedingung ist konkret definiert. Hermes kann das Projekt überprüfen, Dateien ändern, Abhängigkeiten installieren oder aktualisieren und Tests ausführen. Eine erfolgreich absolvierte Testsuite dient als Nachweis dafür, dass das Hauptergebnis erreicht wurde.

Die gleiche Logik lässt sich auch außerhalb der Programmierung anwenden:

/Ziel: Alle CSV-Dateien im Ordner „Reports“ überprüfen, fehlende Werte und doppelte Datensätze identifizieren, für jede Datei eine bereinigte Version erstellen und einen zusammenfassenden Bericht erstellen, in dem alle Änderungen aufgeführt sind.

Oder:

/Ziel: Recherchiere die fünf größten europäischen Batteriehersteller, überprüfe deren aktuelle Produktionskapazitätszahlen anhand von Primärquellen und erstelle eine Vergleichstabelle mit Quellenangaben.

Diese Aufgaben umfassen mehrere Schritte, führen jedoch zu einem beobachtbaren Ergebnis.

Ein schlechtes Ziel wäre:

/Ziel: Mein Geschäft verbessern.

Hermes verfügt über keine verlässliche Grundlage, um zu entscheiden, wann das Geschäft verbessert wurde. Das Unternehmen könnte Ideen entwickeln, diese weiter ausbauen und schließlich damit aufhören, weil der Richter eine allgemeine Antwort als ausreichend wertet.

Das Problem liegt nicht in der Intelligenz des Modells. Es ist vielmehr das Fehlen eines Standards für die Fertigstellung.

Einen Vertrag über die Fertigstellung aufsetzen

Hermes unterstützt strukturierte Erfüllungsverträge für Ziele, die eine höhere Präzision erfordern. In der offiziellen Dokumentation wird empfohlen, fünf Elemente zu definieren: das gewünschte Ergebnis, die Überprüfungsmethode, Einschränkungen, Grenzen und die Bedingung, unter der der Agent den Vorgang unterbrechen und um Eingaben bitten soll.

Sie können Hermes bitten, diese Struktur wie folgt zu entwerfen:

/goal draft

Ein nützlicher Vertrag könnte konzeptionell etwa so aussehen:

Ergebnis:
Die Website wurde erfolgreich erstellt und das fehlerhafte Checkout-Formular funktioniert.

Überprüfung:
Führen Sie den Produktions-Build durch, führen Sie die Checkout-Tests aus und vergewissern Sie sich, dass alle Tests erfolgreich sind.

Einschränkungen:
Das visuelle Design darf nicht verändert und vorhandene Analysetools dürfen nicht entfernt werden.

Grenzen:
Es dürfen nur Dateien in den Verzeichnissen „src/checkout“, „tests/checkout“ sowie die Paketkonfiguration geändert werden.

Beenden Sie den Vorgang, wenn:
Anmeldedaten eines Zahlungsanbieters, eine geschäftliche Entscheidung oder eine destruktive Datenbankänderung erforderlich sind.

Das ist wesentlich sicherer, als den Mitarbeiter einfach zu bitten, “den Bezahlvorgang zu korrigieren”.

Das Ergebnis teilt Hermes mit, was wahr sein muss. Die Verifikation zeigt ihm, wie er das Ergebnis beweisen kann. Einschränkungen schützen Teile des Systems, die unverändert bleiben sollen. Grenzen legen fest, wo das System funktionieren soll. Die Abbruchbedingung verhindert, dass der Agent improvisiert, wenn er eine Entscheidung trifft, die eigentlich einer Person obliegen sollte.

Der Richter kann nur die Kriterien beurteilen, die ihm vorgegeben wurden. Ein vages Ziel führt zu einer vagen Aufsicht.

Verwenden Sie die Steuerbefehle

Sobald ein Ziel läuft, stehen Ihnen verschiedene Befehle zur Verfügung, mit denen Sie es überprüfen oder steuern können.

/Torstatus

zeigt das aktive Ziel, dessen Status und die Anzahl der verbrauchten Züge an.

/Tor anzeigen

Gibt den aktuellen Abschlussvertrag aus.

/Zielpause

Beendet die automatische Fortsetzung, ohne das Ziel zu löschen.

/Ziel-Lebenslauf

startet die Schleife neu und setzt ihren Zugzähler zurück.

/Tor geklärt

hebt das Ziel vollständig auf.

Das Anhalten ist sinnvoll, wenn sich der Agent in die falsche Richtung bewegt oder wenn Sie Dateien überprüfen möchten, bevor weitere Änderungen vorgenommen werden. Das Löschen ist eher angebracht, wenn das Ziel selbst nicht mehr gültig ist.

Hermes unterstützt außerdem /Teilziel, wodurch ein aktives Ziel um ein weiteres Kriterium ergänzt wird. Der Richter wird dann sowohl das ursprüngliche Ziel als auch die zusätzliche Anforderung berücksichtigen, bevor er das Werk für abgeschlossen erklärt.

Zum Beispiel:

/Teilziel: Migrationshinweise in die README-Datei einfügen und sicherstellen, dass die bisherige Konfiguration abwärtskompatibel bleibt.

Auf diese Weise kann eine Anforderung hinzugefügt werden, ohne das Hauptziel des Projekts zu ersetzen.

Lieber lenken als neu starten

Längere Projekte verlaufen selten genau wie erwartet. Hermes enthält eine /steer Befehl zum Hinzufügen von Anweisungen, während der Agent arbeitet.

/steer Ersetzen Sie die Authentifizierungsbibliothek nicht. Überprüfen Sie zunächst die bestehende Konfiguration.

Die Anweisung wird nach dem nächsten Tool-Aufruf des Agenten ausgeführt, ohne den aktuellen Durchlauf zu beenden oder einen neuen Benutzerdurchgang zu starten. Dies ist nützlich, wenn Sie feststellen, dass Hermes einen unerwünschten Ansatz verfolgt, Sie die bereits geleistete Arbeit jedoch nicht verwerfen möchten.

Eine neue normale Benutzernachricht kann die automatische Zielschleife unterbrechen. Dies gibt dem Benutzer die Möglichkeit, die Kontrolle zurückzugewinnen, bedeutet aber auch, dass ein laufendes Projekt durch themenfremde Unterhaltungen unterbrochen werden kann. Bei umfangreicheren Arbeiten ist es in der Regel übersichtlicher, das Ziel in einer eigenen Sitzung zu behandeln.

Unterscheide zwischen langfristigen Zielen und geplanten Aufgaben

/Ziel soll ein fortlaufendes Ziel erreichen. Es ist nicht für jede Form der Automatisierung geeignet.

Ein Ziel wie “die Anwendung reparieren und dafür sorgen, dass alle Tests erfolgreich sind” hat einen Abschlusszeitpunkt. Eine Anforderung wie “die Website jeden Morgen überprüfen und Ausfälle melden” hat keinen. Das gehört in eine geplante Aufgabe.

Hermes verfügt über einen Cron-Scheduler für wiederkehrende Automatisierungsaufgaben sowie über Hintergrundprozesse und die Delegierung an Subagenten für Aufgaben, die separat oder parallel ausgeführt werden sollen. Die umfassende Architektur unterstützt den Terminalzugriff, Messaging-Plattformen, externe Tools und verschiedene Modellanbieter.

Der Unterschied ist praktischer Natur:

  • Verwendung /Ziel für ein Ziel, das sich über mehrere Runden erstreckt und irgendwann enden soll.
  • Nutzen Sie geplante Automatisierungen für wiederkehrende Aufgaben.
  • Verwenden Sie eine Hintergrundsitzung, wenn Sie die aktuelle Unterhaltung weiterführen möchten.
  • Setzen Sie Unteragenten ein, wenn separate Arbeitsabläufe parallel ablaufen können.

Der Versuch, alle vier Muster mit einem einzigen Ziel abzudecken, führt in der Regel zu einem weniger kontrollierbaren Arbeitsablauf.

Verwechsle Beharrlichkeit nicht mit Urteilsvermögen

Das Richtermodell prüft die Realität nicht eigenständig, wie es ein menschlicher Projektleiter tun würde. Es bewertet die Arbeit des Akteurs anhand des Ziels und der verfügbaren Beweise.

Wenn der Agent meldet, dass eine Aufgabe erfolgreich abgeschlossen wurde, jedoch keinen aussagekräftigen Test durchgeführt hat, kann der Richter ein unvollständiges Ergebnis akzeptieren. Aus diesem Grund sollte bei der Verifizierung nach Möglichkeit eine ausführbare Prüfung angegeben werden.

Schwach:

Stellen Sie sicher, dass die Anwendung ordnungsgemäß funktioniert.

Stärker:

Führen Sie „pytest“, „npm run build“ und die Playwright-Checkout-Tests aus. Das Ziel gilt nur dann als erreicht, wenn alle Befehle erfolgreich beendet wurden.

Für Forschungszwecke kann für die Überprüfung ein Referenzstandard erforderlich sein:

Nutzen Sie Unternehmensveröffentlichungen, Angaben der Aufsichtsbehörden und offizielle Statistiken. Betrachten Sie Pressemitteilungen oder Zusammenfassungen aus zweiter Hand nicht als Bestätigung der Finanzkennzahlen.

Für die Erstellung von Inhalten ist möglicherweise eine Checkliste für das Endergebnis erforderlich:

Liefern Sie sechs Artikel mit einer Länge von jeweils 800–1.000 Wörtern, die jeweils einen eigenen Blickwinkel bieten, auf verifizierte Quellen basieren, keine doppelten Abschnitte enthalten und einer abschließenden redaktionellen Überprüfung auf Einheitlichkeit unterzogen wurden.

Je subjektiver das Ergebnis, desto wichtiger wird die Überprüfung durch den Menschen. Ein Modell kann bestätigen, dass sechs Artikel existieren. Es ist jedoch weniger zuverlässig bei der Beurteilung, ob alle sechs Artikel wirklich aufschlussreich oder zur Veröffentlichung geeignet sind.

Zugang einschränken, bevor die Autonomie erweitert wird

Hermes kann mit lokalen Dateien, Terminals, externen Diensten und Messaging-Plattformen interagieren. Das Framework ist für den Einsatz auf lokalen Rechnern, Remote-Servern und verschiedenen Betriebssystemumgebungen ausgelegt und kann unterschiedliche Modellanbieter und Toolsuiten nutzen.

Diese Flexibilität sorgt dafür, dass /Ziel nützlich, erhöht jedoch die Kosten einer schlecht spezifizierten Anweisung.

Ein Agent mit Schreibzugriff auf ein Repository kann zahlreiche Dateien ändern, während er versucht, ein übergeordnetes Ziel zu erreichen. Ein Agent mit Shell-Zugriff kann Pakete installieren oder Skripte ausführen. Ein Agent, der mit Geschäftssystemen verbunden ist, könnte auf echte Daten statt auf eine Testumgebung zugreifen.

Bevor man sich ein langfristiges Ziel setzt:

  • Erteilen Sie nur die für die Aufgabe erforderlichen Berechtigungen;
  • Verwenden Sie nach Möglichkeit einen Branch, einen Worktree, einen Container oder eine Testumgebung;
  • Erstellen Sie vor größeren Änderungen einen Snapshot oder einen Checkpoint;
  • Zugangsdaten und Produktionsdaten sind auszuschließen, sofern sie nicht wirklich erforderlich sind;
  • Maßnahmen definieren, die einer menschlichen Genehmigung bedürfen;
  • und vor der Bereitstellung die Diffs, Protokolle und Testergebnisse überprüfen.

Hermes bietet Befehle für Dateisystem-Checkpoints und -Snapshots, doch Wiederherstellungstools sind kein Ersatz dafür, den Zugriff von vornherein einzuschränken.

Die --yolo Die Option, bei der die Genehmigung gefährlicher Befehle übersprungen wird, sollte nicht als routinemäßige Erleichterung betrachtet werden. Sie erweitert den Handlungsspielraum des Agenten ohne menschliches Eingreifen und erhöht somit die Folgen einer falschen Annahme.

Ein praktischer Arbeitsablauf

Ein zuverlässiger /Ziel Das Projekt lässt sich in fünf Phasen unterteilen.

Legen Sie zunächst ein Ergebnis fest. Vermeiden Sie es, miteinander nicht in Zusammenhang stehende Ziele wie die Behebung von Softwarefehlern, das Verfassen von Dokumentationen und die Entwicklung einer neuen Produktstrategie zu kombinieren, es sei denn, diese sind tatsächlich Teil desselben Ergebnisses.

Zweitens: Geben Sie Nachweise an. Nennen Sie die Tests, Dateien, Berichte oder Prüfungen, die den Abschluss belegen.

Drittens: Legen Sie Grenzen fest. Geben Sie an, welche Verzeichnisse, Systeme, Konten oder Datenquellen Hermes nutzen darf.

Viertens: Legen Sie Eskalationspunkte fest. Weisen Sie den Agenten an, den Vorgang abzubrechen, wenn er auf fehlende Anmeldedaten, mehrdeutige Geschäftsanforderungen, schädliche Vorgänge oder Entscheidungen mit rechtlichen, finanziellen oder sicherheitsrelevanten Konsequenzen stößt.

Überprüfen Sie abschließend die Belege, anstatt sich allein auf die Abschlussmeldung zu verlassen. Öffnen Sie den Bericht, sehen Sie sich die Codeänderungen an, führen Sie den Test nach und vergewissern Sie sich, dass das Ergebnis dem eigentlichen Zweck des Projekts entspricht.

Ein korrekt formatierter Befehl könnte wie folgt lauten:

/Ziel: Aktualisierung der Abhängigkeiten des Kundenportals und Behebung aller daraus resultierenden Kompatibilitätsfehler.

Ergebnis:
Das Portal lässt sich erstellen und seine bestehenden Funktionen bleiben funktionsfähig.

Überprüfung:
Führen Sie die Unit-Tests, den Produktions-Build und die Playwright-Smoke-Tests durch. Alle müssen erfolgreich abgeschlossen werden.

Einschränkungen:
Die Benutzeroberfläche, das Datenbankschema und der Authentifizierungsanbieter dürfen nicht geändert werden.

Grenzen:
Arbeiten Sie ausschließlich im Repository des Kundenportals.

Beenden Sie den Vorgang, wenn:
Produktionszugangsdaten, eine Schemamigration oder eine Änderung des kundenorientierten Verhaltens erforderlich sind.

Dies garantiert zwar keine fehlerfreie Ausführung, gibt Hermes jedoch ein ausreichend präzises Ziel vor, auf das es hinarbeiten kann, ohne dass der Benutzer es nach jedem Zwischenschritt erneut anweisen muss.

Der Wert von /Ziel Es geht nicht darum, dass es ein Projekt im Auftrag einer Organisation verwaltet. Es entfällt vielmehr eine bestimmte Form der Überwachung: das wiederholte Auffordern eines Akteurs, weiterzumachen.

In Verbindung mit einer klaren Überprüfung, engen Berechtigungen und bewusst festgelegten Stoppbedingungen kann es Hermes von einem Assistenten mit nur einer Antwort in einen beständigen Projektmitarbeiter verwandeln. Bei einem unklaren Ziel und weitreichendem Systemzugriff kann es Fehler einfach nur länger wiederholen.

  So nutzen Sie den Befehl „Hermes /Goal“, um Ihre Projekte zu optimieren