Mit einem Agenten chatten
Diese Anleitung zeigt, wie du mit einem Agenten in einem Bereich arbeitest.
Einen Bereich anlegen
Abschnitt betitelt „Einen Bereich anlegen“- Öffne Bereiche in der Seitenleiste
- Klicke auf + neben der Überschrift Bereiche
- Gib einen Bereichsnamen ein — der ist Pflicht. Ein leerer Name wird abgelehnt; der Dialog bleibt offen
- Füge optional Agenten aus dem Arbeitsbereich hinzu
- Hat der Arbeitsbereich mindestens ein Repo, erscheint eine Repo-Auswahl. Anfangs ist jedes Repo ausgewählt; grenze sie ein (auch das Abwählen eines einzelnen Repos) auf die Repos, für die dieser Bereich Worktrees bereitstellen soll
- Bestätige
Control Center öffnet den Bereich und beginnt im Hintergrund, je ausgewähltem Repo einen Copy-on-Write-Worktree bereitzustellen.
Die erste Nachricht schicken
Abschnitt betitelt „Die erste Nachricht schicken“Tippe deine Nachricht in den Composer und drücke Enter. Der Agent startet den Lauf und streamt seine Antwort.
Wird der Bereich noch bereitgestellt, bleibt deine Nachricht erhalten, statt verloren zu gehen — der Composer hält sie und schickt sie automatisch, sobald die Worktrees bereit sind.
Während der Agent arbeitet, siehst du seinen Zug hereinströmen: Reasoning-Abschnitte, Werkzeugaufrufe (Dateien lesen, schreiben, Shell-Befehle) und Antworttext, alles in einer Nachricht des Agenten-Zugs.
Einen laufenden Agenten steuern
Abschnitt betitelt „Einen laufenden Agenten steuern“Während ein Agent arbeitet, stellt gewöhnlicher Gesprächstext keinen neuen Zug in die Warteschlange. Er wird zu einer Steuerungskarte in der Leiste über dem Composer und an der nächsten Turn-Grenze in den laufenden Lauf eingeschleust. Einen Toast gibt es nicht — die Karte ist die Rückmeldung.
Drei Dinge ändern dieses Verhalten:
- Eine Nachricht mit einer @-Erwähnung wird immer als Nachricht geschickt, nie als Steuerung
- Eine Nachricht, die mit einem Slash-Befehl beginnt, wird immer als dieser Befehl behandelt
- Eine Nachricht mit einem Anhang wird immer als Nachricht geschickt — die Warteschlange der Steuerung nimmt nur Text
- Ist jeder Live-Lauf schon fertig, fällt der Text durch und wird als normale Nachricht geschickt
Eine blockierte Aktion freigeben
Abschnitt betitelt „Eine blockierte Aktion freigeben“Trifft ein Agent auf eine Aktion, die seine Schutzregeln sperren — ein
zerstörender Befehl, ein privilegiertes Werkzeug —, blockiert der Server
den Lauf und veröffentlicht eine Freigabeanfrage an jeden verbundenen
Client. Hast du diese Unterhaltung offen, erscheint die Anfrage im Chat,
über dem Composer, als dieselbe Karte mit nummerierten Optionen wie bei
ask_user (Verweigern, Genehmigen und optional Für 8 Stunden
freigeben). Überspringen gibt es nicht: ein blockierter Agent wartet auf eine
Entscheidung.
Bist du woanders in der App, listet ein immer im Vordergrund liegendes Panel in der Shell weiterhin, was wartet, damit du den Agenten weiterlaufen lässt, ohne den Bereich suchen zu müssen. Das Overlay verbirgt eine Anfrage, sobald die Unterhaltung dieses Bereichs auf dem Bildschirm ist, damit du dieselbe Rückfrage nie zweimal beantwortest.
Es gibt kein Timeout: ein blockierter Agent wartet, bis jemand entscheidet. Dieselbe Anfrage erscheint auch in der Aufmerksamkeitsleiste des Posteingangs und auf dem Smartphone-Client.
Die Frage eines Agenten beantworten
Abschnitt betitelt „Die Frage eines Agenten beantworten“Ein Agent, der eine Präferenz, eine fehlende Anforderung oder eine echte
Verzweigung braucht, muss ask_user aufrufen. Die Frage als Chat-Nachricht
zu schreiben beendet den Zug, und du musst erneut auffordern. Das Werkzeug
zeichnet eine nummerierte Karte in die Unterhaltung — Optionen, optionalen
Freitext oder beides — und der Lauf wartet auf deine Antwort.
Tippe eine einzelne Option, um sie zu senden (die nachgestellte Zahl wird beim
Darüberfahren zum Pfeil). Mehrfachauswahl und getippte Antworten nutzen
Weiter (⌘↵ / Ctrl↵). Überspringen sagt dem Agenten, einen
vernünftigen Standard zu wählen und nicht noch einmal zu fragen.
Das ist ein eigener Mechanismus, getrennt von der Freigabekarte oben: eine Freigabe heißt „darf ich das tun?“, eine Frage heißt „welche davon meintest du?“. Fragen steht auf dem eingebauten Harness in jedem Modus, auch in den Nur-Lese-Modi (es verändert nichts), und es ist absichtlich nicht in eine Freigabe-Rückfrage gewickelt — ein Dialog vor einem Dialog würde fail-closed enden, wenn niemand zum Freigeben verbunden ist. Ein Lauf ohne Unterhaltung, in die sich die Karte zeichnen lässt, bekommt das Werkzeug schlicht nicht.
Einen Agenten stoppen
Abschnitt betitelt „Einen Agenten stoppen“Solange Läufe live sind, wird aus der Senden-Schaltfläche des Composers die Schaltfläche Agent stoppen. Leere den Composer und drücke sie — das stoppt jeden Agenten, der in dieser Unterhaltung läuft.
In der Kopfzeile des Bereichs gibt es keine Stopp-Steuerung und kein Tastenkürzel dafür. Um nur einen Lauf zu stoppen, wenn mehrere live sind, öffne den Tab Aktivität dieses Laufs — seine Kopfzeile trägt Agent pausieren, Agent fortsetzen und Lauf stoppen, begrenzt auf diesen Lauf (Lauf stoppen fragt nach). Observability → Live listet jeden laufenden Agenten im Arbeitsbereich mit derselben Steuerung.
Ein gestoppter Lauf ist als Gestoppt markiert. Schick eine neue Nachricht, um wieder einen Lauf zu starten.
Slash-Befehle nutzen
Abschnitt betitelt „Slash-Befehle nutzen“Tippe / im Composer, um die Befehlsliste zu sehen. Die, die ändern, wie sich
die Unterhaltung verhält:
| Befehl | Wirkung |
|---|---|
/plan |
Schaltet den Bereich in den Plan-Modus. Ein bloßes /plan schaltet den Modus nur scharf; /plan <request> schaltet ihn scharf und schickt den Rest als deine Nachricht |
/goal <text> |
Hält das Arbeitsziel der Unterhaltung fest |
/loop <text> |
Iteriert an einer Aufgabe, bis sie fertig ist |
/compact |
Faltet älteren Verlauf in eine verankerte Zusammenfassung und macht auf dem verdichteten Kontext weiter |
/todo … |
Zeigt die gespeicherte Aufgabenliste dieser Unterhaltung und bearbeitet sie |
Skills erscheinen in derselben Liste unter ihrem eigenen Namensraum skill:,
damit sie nie mit den Befehlen oben kollidieren — ein Skill namens plan oder
compact bleibt erreichbar:
| Befehl | Was er ausführt |
|---|---|
/skill:<name> |
Ein Skill, der im Arbeitsbereich installiert oder dem Agenten zugeordnet ist |
/skill:<repo>:<name> |
Ein Skill, den eines der in diesem Bereich ausgecheckten Repos mitbringt |
Repo-Skills tragen das Kennzeichen des Repos, aus dem sie kommen, denn der Name
allein sagt nicht, welche Konventionen eines Dienstes der Skill kodiert, und
zwei Repos können jeweils ein testing mitbringen. Das Präfix musst du nicht
tippen, um einen zu finden: Der bloße Skill-Name trifft die Einträge im
Namensraum ebenfalls.
Ein Agent trägt immer nur die Skills des Repos, in dem er gerade arbeitet — siehe Repo-bezogene Skills. Der Composer ist nicht so eingegrenzt: Du kannst den Skill jedes Repos aufrufen, indem du ihn nennst.
/compact und /todo fängt der Client ab, und sie werden nie als Nachrichten
gespeichert — eine Zeile /compact im Transkript würde den Schnitt der
nächsten Kompaktierung um einen Turn nach hinten schieben. /plan schaltet
den gespeicherten Modus des Bereichs um, statt als Text mitzureisen. Keiner
der drei ist also „eine Nachricht, die du dem Agenten schickst“; erwarte sie
nicht im Verlauf.
Zuerst einen Plan verlangen
Abschnitt betitelt „Zuerst einen Plan verlangen“Vor einer komplexen Änderung schaltest du den Bereich mit /plan, dem
Modus-Dropdown in der Leiste des Composers oder Umschalt+Tab in den Plan-Modus.
Der Agent recherchiert dann nur lesend und liefert einen typisierten Plan, den
du freigibst, bevor irgendwelche Arbeit beginnt. Siehe
Planmodus nutzen.
Einen Agenten ohne eigenen Bereich erreichen
Abschnitt betitelt „Einen Agenten ohne eigenen Bereich erreichen“Du brauchst keinen Bereich je Agent. In jedem Bereich:
@alice can you look at the failing tests in src/auth_test.dart?Der erwähnte Agent wird dem Bereich hinzugefügt und mit dem Kontext dieses Bereichs ausgeführt. Siehe Agenten mit @ erwähnen, wie Namen zugeordnet werden.
Verwandte Anleitungen
Abschnitt betitelt „Verwandte Anleitungen“- Bereiche nutzen
- Agenten mit @ erwähnen
- Planmodus nutzen
- Slack-Integration einrichten, um dasselbe aus Slack zu tun