Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Der Befehl /goal legt eine Abschlussbedingung fest und Claude arbeitet darauf hin, ohne dass Sie jeden Schritt eingeben müssen. Nach jedem Turn überprüft ein kleines schnelles Modell, ob die Bedingung erfüllt ist. Falls nicht, startet Claude einen weiteren Turn, anstatt die Kontrolle an Sie zurückzugeben. Das Ziel wird automatisch gelöscht, sobald die Bedingung erfüllt ist. Verwenden Sie ein Ziel für umfangreiche Arbeiten mit einem überprüfbaren Endzustand:
  • Migration eines Moduls zu einer neuen API, bis jede Aufrufstelle kompiliert und Tests bestanden sind
  • Implementierung eines Design-Dokuments, bis alle Akzeptanzkriterien erfüllt sind
  • Aufteilung einer großen Datei in fokussierte Module, bis jedes unter einem Größenlimit liegt
  • Durcharbeitung einer gekennzeichneten Issue-Warteschlange, bis die Warteschlange leer ist
Diese Seite behandelt folgende Themen:

Vergleich zu anderen autonomen Workflows

Drei Ansätze halten die aktuelle Sitzung zwischen Eingaben aktiv. Wählen Sie basierend darauf, was den nächsten Turn starten sollte:
AnsatzNächster Turn startet wennStoppt wenn
/goalDer vorherige Turn beendet istEin Modell bestätigt, dass die Bedingung erfüllt ist
/loopEin Zeitintervall verstreichtSie stoppen es, oder Claude entscheidet, dass die Arbeit erledigt ist
Stop HookDer vorherige Turn beendet istIhr eigenes Skript oder Ihre Eingabe entscheidet
/goal und ein Stop Hook werden beide nach jedem Turn ausgelöst. /goal ist eine Sitzungs-Verknüpfung: Sie geben eine Bedingung ein und sie ist nur für die aktuelle Sitzung aktiv. Ein Stop Hook befindet sich in Ihrer Einstellungsdatei, gilt für jede Sitzung in seinem Bereich und kann ein Skript für deterministische Überprüfungen oder eine Eingabe für modellbewertete Überprüfungen ausführen. Auto-Modus genehmigt von selbst Tool-Aufrufe innerhalb eines einzelnen Turns, startet aber keinen neuen. Claude stoppt, wenn es die Arbeit als erledigt einstuft. /goal fügt einen separaten Evaluator hinzu, der Ihre Bedingung nach jedem Turn überprüft, sodass die Fertigstellung von einem frischen Modell entschieden wird, anstatt von dem, das die Arbeit ausführt. Die beiden sind komplementär: Auto-Modus entfernt Pro-Tool-Eingaben und /goal entfernt Pro-Turn-Eingaben.
Die obigen Ansätze halten die aktuelle Sitzung aktiv. Sie können auch Arbeiten planen, die unabhängig von einer offenen Sitzung ausgeführt werden, z. B. nächtliche Tests oder morgendliche Triage. Siehe Planungsoptionen für Cloud-Routinen und Desktop-geplante Aufgaben.

/goal verwenden

Pro Sitzung kann ein Ziel aktiv sein. Der gleiche Befehl legt es fest, überprüft es und löscht es je nach Argument.

Ziel festlegen

Führen Sie /goal gefolgt von der Bedingung aus, die Sie erfüllt haben möchten. Wenn bereits ein Ziel aktiv ist, ersetzt das neue es.
/goal all tests in test/auth pass and the lint step is clean
Das Festlegen eines Ziels startet sofort einen Turn mit der Bedingung selbst als Direktive. Sie müssen keine separate Eingabe senden. Während das Ziel aktiv ist, zeigt ein ◎ /goal active Indikator, wie lange das Ziel bereits läuft. Nach jedem Turn gibt der Evaluator einen kurzen Grund zurück, der erklärt, warum die Bedingung erfüllt ist oder nicht. Der neueste Grund wird in der Statusansicht und im Transkript angezeigt, damit Sie sehen können, worauf Claude als nächstes hinarbeitet.
Ein Ziel läuft weiter, bis die Bedingung erfüllt ist oder Sie /goal clear ausführen. Führen Sie /goal ohne Argument aus, um die bisherigen Turns und Token zu sehen.

Effektive Bedingung schreiben

Der Evaluator beurteilt Ihre Bedingung anhand dessen, was Claude im Gespräch dargelegt hat. Er führt Befehle nicht aus oder liest Dateien unabhängig, daher schreiben Sie die Bedingung als etwas, das Claudes eigene Ausgabe demonstrieren kann. „Alle Tests in test/auth bestanden” funktioniert, weil Claude die Tests ausführt und das Ergebnis im Transkript für den Evaluator zum Lesen landet. Eine Bedingung, die über viele Turns hinweg hält, hat normalerweise:
  • Einen messbaren Endzustand: ein Testergebnis, ein Build-Exit-Code, eine Dateianzahl, eine leere Warteschlange
  • Eine angegebene Überprüfung: wie Claude es beweisen sollte, z. B. „npm test beendet mit 0” oder „git status ist sauber”
  • Einschränkungen, die wichtig sind: alles, das sich auf dem Weg dorthin nicht ändern darf, z. B. „keine andere Testdatei wird geändert”
Die Bedingung kann bis zu 4.000 Zeichen lang sein. Um zu begrenzen, wie lange ein Ziel läuft, fügen Sie eine Turn- oder Zeitklausel in die Bedingung ein, z. B. or stop after 20 turns. Claude meldet den Fortschritt gegen diese Klausel jeden Turn und der Evaluator beurteilt sie aus dem Gespräch.

Status überprüfen

Führen Sie /goal ohne Argumente aus, um den aktuellen Zustand zu sehen.
/goal
Wenn ein Ziel aktiv ist, zeigt der Status:
  • Die Bedingung
  • Wie lange es läuft
  • Wie viele Turns evaluiert wurden
  • Die aktuelle Token-Ausgabe
  • Den neuesten Grund des Evaluators
Wenn kein Ziel aktiv ist, aber eines früher in der Sitzung erreicht wurde, zeigt der Status die erreichte Bedingung zusammen mit ihrer Dauer, Turnanzahl und Token-Ausgabe.

Ziel löschen

Führen Sie /goal clear aus, um ein aktives Ziel zu entfernen, bevor seine Bedingung erfüllt ist.
/goal clear
stop, off, reset, none und cancel werden als Aliase für clear akzeptiert. Das Ausführen von /clear zum Starten eines neuen Gesprächs entfernt auch alle aktiven Ziele.

Mit aktivem Ziel fortfahren

Ein Ziel, das noch aktiv war, als eine Sitzung endete, wird wiederhergestellt, wenn Sie diese Sitzung mit --resume oder --continue fortsetzen. Die Bedingung wird übernommen, aber die Turnanzahl, der Timer und die Token-Ausgabe-Baseline werden alle beim Fortsetzen zurückgesetzt. Ein Ziel, das bereits erreicht oder gelöscht wurde, wird nicht wiederhergestellt.

Nicht-interaktiv ausführen

/goal funktioniert im nicht-interaktiven Modus und über Remote Control. Das Festlegen eines Ziels mit -p führt die Schleife in einem einzigen Aufruf bis zur Fertigstellung aus:
claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"
Unterbrechen Sie den Prozess mit Ctrl+C, um ein nicht-interaktives Ziel zu stoppen, bevor die Bedingung erfüllt ist.

Wie Evaluierung funktioniert

/goal ist ein Wrapper um einen Sitzungs-Bereich prompt-basierten Stop Hook. Jedes Mal, wenn Claude einen Turn beendet, werden die Bedingung und das bisherige Gespräch an Ihr konfiguriertes kleines schnelles Modell gesendet, das standardmäßig Haiku ist. Das Modell gibt eine Ja-oder-Nein-Entscheidung und einen kurzen Grund zurück. Ein „Nein” teilt Claude mit, dass es weiterarbeiten soll und enthält den Grund als Anleitung für den nächsten Turn. Ein „Ja” löscht das Ziel und zeichnet einen erreichten Eintrag im Transkript auf. Der Evaluator läuft auf dem Provider, für den Ihre Sitzung konfiguriert ist. Er ruft keine Tools auf, daher kann er nur beurteilen, was Claude bereits im Gespräch dargelegt hat.
Evaluierungs-Token werden auf dem kleinen schnellen Modell abgerechnet, das für Ihren Provider konfiguriert ist, und sind normalerweise vernachlässigbar im Vergleich zur Hauptausgabe.

Anforderungen

/goal läuft nur in Arbeitsbereichen, in denen Sie den Vertrauensdialog akzeptiert haben, da der Evaluator Teil des Hooks-Systems ist. /goal ist auch nicht verfügbar, wenn disableAllHooks auf einer beliebigen Einstellungsebene festgelegt ist oder wenn allowManagedHooksOnly in verwalteten Einstellungen festgelegt ist. In jedem Fall teilt Ihnen der Befehl mit, warum, anstatt stillschweigend nichts zu tun.

Siehe auch

  • Eingabe wiederholt mit /loop ausführen: auf einem Zeitintervall erneut ausführen, anstatt bis eine Bedingung erfüllt ist
  • Prompt-basierte Hooks: schreiben Sie Ihren eigenen Stop Hook, wenn Sie benutzerdefinierte Evaluierungslogik benötigen
  • Auto-Modus: genehmigen Sie Tool-Aufrufe automatisch, damit jeder Ziel-Turn unbeaufsichtigt läuft
  • Planungsvergleich: führen Sie Arbeiten unabhängig von einer offenen Sitzung nach einem Zeitplan aus