Agent view: wiele sesji Claude Code w claude agents
Agent view to dashboard claude agents w Claude Code: jeden ekran z listą wszystkich sesji działających w tle na danej maszynie, z ich stanem i pull requestami, które otworzyły. Pozwala uruchamiać nowe sesje, odpowiadać zablokowanym bez dołączania i przenosi edycje każdej sesji do osobnego git worktree. To podgląd badawczy (research preview), dostępny od v2.1.139.
Masz przed obiadem trzy niezwiązane zadania: niestabilny test checkoutu, pull request z dwunastoma nierozwiązanymi komentarzami z code review i aktualizację zależności. Robisz je po kolei — czekasz na każde. Otwierasz trzy terminale — tracisz rachubę, który z nich stoi na pytaniu o uprawnienia. Agent view daje każdemu zadaniu osobną sesję i pokazuje, która z nich cię potrzebuje. Ta strona jest dla deweloperów, którzy prowadzą kilka sesji Claude Code naraz, oraz dla tech leadów, którzy ustalają zasady, na jakich te sesje działają.
Research preview v2.1.139+Co zyskujesz dzięki agent view
Dział zatytułowany „Co zyskujesz dzięki agent view”- Pętlę zlecania kilku niezależnych zadań, każde we własnej sesji w tle i we własnym worktree.
- Trzy prompty, które kończą się dowodem (przebiegiem testów, pull requestem, raportem), a nie słowem „gotowe”.
- Sposób na sprawdzenie wyniku każdej sesji z poziomu jej wiersza i pull requesta, bez czytania transkryptów.
- Interfejs dla shella (
claude --bg,claude agents --json) do skryptów, pasków stanu i powiadomień. - Tabelę objaw → naprawa dla awarii, które naprawdę się zdarzają: utraconych worktree, zawieszonego supervisora, sesji padających przy wyłączeniu komputera.
Kiedy agent view to właściwe narzędzie?
Dział zatytułowany „Kiedy agent view to właściwe narzędzie?”Agent view służy do pracy, którą ty dzielisz na niezależne zadania i sam nadzorujesz, na własnej maszynie. Gdy podział, harmonogram albo skala należą do kogoś innego, lepiej pasuje inna funkcja:
| Potrzebujesz… | Użyj |
|---|---|
| Kilku niezwiązanych zadań, które zlecasz i sprawdzasz po kolei | Agent view (ta strona) |
| Jednego zadania podzielonego na równoległe części w jednej rozmowie | Własne subagenty |
| Jednej mechanicznej zmiany w wielu plikach | /batch, opisane w pracy na wielu plikach |
| Dziesiątek lub setek agentów sterowanych skryptem, który da się powtórzyć | Dynamiczne workflow |
| Jednego celu realizowanego, aż spełni się sprawdzalny warunek | /goal, często w wierszu agent view |
| Pracy startującej według harmonogramu lub triggera przy wyłączonym laptopie | Routines |
Codex ma własne centrum dowodzenia codex agents, opisane w równoległej pracy z Codexem. Porównanie agentów w tle i w chmurze między narzędziami znajdziesz na stronie agenci w tle.
Uruchom pierwsze trzy agenty z agent view
Dział zatytułowany „Uruchom pierwsze trzy agenty z agent view”Zanim zaczniesz: pracuj w repozytorium git z remote’em i zaloguj CLI gh, żeby etykiety pull requestów mogły się podlinkować. Izolacja w worktree wymaga gita; poza repozytorium sesje edytują twoje pliki bezpośrednio.
-
Otwórz agent view. W terminalu, w katalogu głównym repozytorium:
Okno terminala claude agentsW katalogu, któremu jeszcze nie zaufałeś, najpierw pojawi się okno zaufania do workspace’u (v2.1.225+); odmowa kończy działanie.
Escwraca do shella, a sesje pracują dalej. -
Ustaw raz domyślne parametry zlecania. Flagi przekazane do
claude agentsobowiązują każdą sesję zleconą z tego widoku, a stopka je pokazuje:Okno terminala claude agents --permission-mode auto --effort highUżywaj
autotylko z modelem, który obsługuje auto mode (na kanalestablesprawdź też swój plan); zob. uprawnienia i sandboxing. Bez--permission-modezlecona sesja startuje w trybie, którego użyłaby nowa sesjaclaudew tym katalogu. -
Zleć trzy zadania. Wpisz prompt w polu na dole i naciśnij
Enter. KażdyEnteruruchamia nową sesję; nigdy nie wysyła kolejnej wiadomości do istniejącej. Użyj promptów z następnej sekcji.Shift+Enterwstawia nową linię (v2.1.248+);Ctrl+Enterzleca i od razu dołącza tam, gdzie wymienia go nakładka?. -
Podejrzyj i odpowiedz. Zaznacz wiersz strzałkami i naciśnij
Space. Panel podglądu pokazuje pytanie, na które sesja czeka, jej wynik albo bieżący status. Wpisz odpowiedź i naciśnijEnteralbo wybierz cyfrę przy pytaniu wielokrotnego wyboru. -
Dołączaj tylko wtedy, gdy podgląd nie wystarcza.
Enterlub→otwiera pełną rozmowę; Claude publikuje podsumowanie tego, co działo się pod twoją nieobecność.←na pustym prompcie albo/exitodłącza. Odłączenie nigdy nie zatrzymuje sesji; robi to/stop. -
Wciągnij sesję, którą już masz otwartą. W zwykłej sesji
claudeuruchom/bg(alias/background) albo naciśnij←na pustym prompcie. Rozmowa przechodzi do tła i pojawia się jako wiersz.
Pisz prompty, które kończą się dowodem
Dział zatytułowany „Pisz prompty, które kończą się dowodem”Sesja bez nadzoru zgłasza „gotowe”, kiedy uważa, że skończyła. Niech prompt określi, jak wygląda „gotowe” i jaki dowód ma zostać, a wtedy sprawdzasz dowód, a nie transkrypt. Każdy prompt poniżej ma warunek akceptacji, ograniczenia i konkretny rezultat. Jak pisać warunki, których agent nie obejdzie argumentacją, opisuje strona o kryteriach akceptacji.
Sesja code review to drugi, niezależny poziom kontroli: nie pisała kodu, więc nie ma interesu w wyniku. Żeby uruchomić zdefiniowanego przez siebie subagenta do code review, wywołaj go wzmianką: zacznij prompt od @code-reviewer, a ten subagent zostanie głównym agentem sesji. Jak go napisać, pokazuje strona o własnych subagentach.
claude --bg kończy działanie od razu i wypisuje krótki identyfikator oraz komendy attach, logs i stop dla sesji. Tego identyfikatora używasz z claude logs i claude attach; --name ustawia tylko nazwę wyświetlaną w agent view. Podsumowanie błędów przeczytasz w panelu podglądu albo przez claude logs <id>. CLAUDE_JOB_DIR wskazuje własny katalog sesji ~/.claude/jobs/<id>, więc równoległe sesje nie nadpisują sobie plików roboczych; ukośnik wsteczny sprawia, że twój shell nie rozwinie zmiennej, zanim zobaczy ją sesja. Prompt musi być argumentem pozycyjnym: Claude Code odrzuca --bg w połączeniu z -p.
Odczytaj stan sesji z jej wiersza
Dział zatytułowany „Odczytaj stan sesji z jej wiersza”Każdy wiersz pokazuje nazwę, jednozdaniowe podsumowanie i wiek. Kolor i animacja ikony oznaczają stan, jej kształt — proces:
| Ikona | Stan | Co zrobić |
|---|---|---|
| animowana | Working | Nic |
| żółta | Needs input | Podejrzyj i odpowiedz: pytanie, uprawnienie, prośba sandboksa |
| przygaszona | Idle | Daj kolejny prompt albo usuń sesję |
| zielona | Completed | Sprawdź wynik i pull request |
| czerwona | Failed | Podejrzyj błąd; dołącz lub odpowiedz, żeby ją zrestartować |
| szara | Stopped | Zatrzymana przez Ctrl+X lub claude stop albo zakończona przy wyłączonej usłudze |
✻ lub animowane ✽ oznacza, że proces żyje; ∙ — proces się zakończył, ale po odpowiedzi lub dołączeniu wznowi pracę od miejsca, w którym stanął; ✢ to sesja /loop śpiąca między przebiegami.
Gdy sesja otworzy pull request albo wypchnie do niego zmiany, po prawej stronie wiersza pojawia się etykieta #1234 (!1234 dla merge requesta w GitLabie). Żółta oznacza oczekiwanie na checki lub code review albo nieudane checki; zielona — checki przeszły i nic nie blokuje; fioletowa — zmergowany; szara — draft lub zamknięty. Grupy porządkują pracę za ciebie: pod przypiętymi wierszami (Pinned) grupy Ready for review (sesje z otwartym pull requestem) i Needs input są nad Working i Completed.
Podsumowanie wiersza pisze model klasy Haiku: jedno krótkie zapytanie na koniec każdej tury i co kilka minut w długich turach, rozliczane tak jak sama sesja. Na gatewayu lub u zewnętrznego providera bez skonfigurowanego modelu klasy Haiku to zapytanie idzie do głównego modelu sesji; ustaw ANTHROPIC_DEFAULT_HAIKU_MODEL, żeby było tanie.
Weryfikuj wynik bez czytania każdego transkryptu
Dział zatytułowany „Weryfikuj wynik bez czytania każdego transkryptu”Agent view sprawia, że sesje tanio się uruchamia. Ogranicza cię to, ile gotowej pracy jesteś w stanie sprawdzić. Traktuj wynik każdego wiersza jak zmianę, która musi przejść te same bramki co zmiana człowieka, w tej kolejności:
- Bramki automatyczne. CI na pull requeście (testy, sprawdzanie typów, lint) decyduje o kolorze etykiety. Żółta etykieta to nie wynik i nigdy nie nadaje się do merge’a.
- Dowód, którego zażądał prompt. Przeczytaj opis pull requesta: przyczynę źródłową, liczby przed i po, uruchomione komendy. Jeśli dowodu brakuje, poproś o niego w panelu podglądu; nie otwieraj transkryptu, żeby go odtwarzać. Standardowy format opisuje strona o pakiecie dowodów.
- Niezależne code review. Zleć prompt do code review z sekcji wyżej jako osobną sesję. Sprawdza każde kryterium akceptacji na podstawie wyników, które sama uzyskała.
- Decyzja człowieka przy merge’u. Ty albo właściciel kodu czytacie różnicę względem specyfikacji, dowody i code review, a potem sprawdzacie wyrywkowo najbardziej ryzykowne fragmenty. Pełny protokół daje strona code review PR-a agenta, a dowody zamiast diffów wyjaśnia, dlaczego zastępuje to czytanie linia po linii.
Agent view nigdy nie merguje. Sesja, która przeniosła zmiany do worktree utworzonego przez Claude’a, commituje bez pytania, wypycha swój branch, gdy jest remote, i otwiera draft pull requesta, gdy zadanie tego wymaga. Nigdy nie wypycha na main ani master, nie robi force-pusha i nie merguje. Jeśli zadanie, CLAUDE.md albo pamięć mówi, że gitem zajmujesz się sam, Claude zostawia go tobie.
Dla tech leadów: równoległe sesje zwiększają tempo napływu pull requestów, a nie przepustowość code review w zespole. Ogranicz liczbę otwartych pull requestów od agentów na osobę do tego, co zespół przejrzy w ciągu dnia; limity pracy w toku i budżety rozmiaru opisuje kolejka code review.
Dostań powiadomienie, gdy sesja cię potrzebuje
Dział zatytułowany „Dostań powiadomienie, gdy sesja cię potrzebuje”Agent view sam wysyła powiadomienie przez twój preferredNotifChannel, gdy sesja potrzebuje odpowiedzi, kończy pracę albo zawodzi; hook Notification dodaj tylko wtedy, gdy chcesz kierować te alerty gdzie indziej, na przykład do powiadomień na pulpicie. Gdy agent view jest otwarty w terminalu, działają dwa typy powiadomień: agent_needs_input i agent_completed (v2.1.198+). Przekieruj je na pulpit hookiem Notification w ~/.claude/settings.json:
{ "hooks": { "Notification": [ { "matcher": "agent_needs_input|agent_completed", "hooks": [ { "type": "command", "command": "notify-send 'Claude Code' 'A background agent needs you or has finished'" } ] } ] }}notify-send to notyfikator Linuksa; na macOS użyj osascript -e 'display notification ...'. Typy handlerów opisuje strona o automatyzacji hookami.
Odczytaj stan ze skryptu
Dział zatytułowany „Odczytaj stan ze skryptu”claude agents --json wypisuje sesje jako tablicę JSON i kończy działanie; nie potrzebuje TTY. To wspierany interfejs. Pliki w ~/.claude/jobs/ nie są stabilne, więc ich nie parsuj. Ta linijka wypisuje każdą sesję w tle, która na ciebie czeka:
claude agents --json --all | jq -r '.[] | select(.kind == "background" and .state == "blocked") | [.id, (.name // "-"), (.waitingFor // "-")] | @tsv'state przyjmuje wartości working, blocked, done, failed albo stopped. blocked zawsze znaczy, że sesja cię potrzebuje; sesja, która skończyła turę, ma done. Dodaj --cwd <path>, żeby ograniczyć listę do jednego projektu.
Steruj sesjami w tle z shella
Dział zatytułowany „Steruj sesjami w tle z shella”| Komenda | Do czego służy |
|---|---|
claude --bg "<prompt>" | Uruchamia sesję w tle w bieżącym katalogu i wypisuje jej krótki identyfikator |
claude --agent code-reviewer --bg "<prompt>" | Uruchamia wskazanego subagenta jako głównego agenta sesji |
claude --bg --permission-mode plan "<prompt>" | Nadpisuje permission mode dla jednej sesji |
claude --resume <session-id> --bg "<prompt>" | Kontynuuje istniejącą rozmowę w tle (ten sam identyfikator od v2.1.257) |
claude attach <id> | Otwiera sesję w tym terminalu |
claude logs <id> | Wypisuje jej ostatni output |
claude stop <id> (lub claude kill <id>) | Zatrzymuje ją; rozmowa zostaje zachowana |
claude respawn <id> / claude respawn --all | Restartuje jedną albo wszystkie działające sesje na bieżącej wersji Claude Code |
claude rm <id> | Usuwa sesję, a jej worktree wtedy, gdy to bezpieczne |
claude daemon status | Pokazuje PID, wersję i czas działania supervisora |
Sesja w tle czyta ustawienia z katalogu, w którym działa, i dziedziczy PATH oraz zmienne providera chmurowego z shella, z którego ją zlecono. claude --bg --permission-mode bypassPermissions jest odrzucane, dopóki raz interaktywnie nie zaakceptujesz ostrzeżenia komendą claude --dangerously-skip-permissions. Obu używaj wyłącznie w jednorazowym sandboksie z ograniczonym dostępem do sieci (kontenerze lub maszynie wirtualnej do wyrzucenia, bez produkcyjnych poświadczeń): sesja w tle z pominiętymi uprawnieniami wykonuje każde wywołanie narzędzia bez nadzoru i nikt nie zdąży jej zatrzymać. Od v2.1.281 (kanał latest) claude --bg w skrypcie kończy się błędem Workspace not trusted, jeśli katalogowi nigdy nie zaufano: najpierw uruchom tam raz interaktywnie claude.
Jak agent view rozdziela równoległe edycje
Dział zatytułowany „Jak agent view rozdziela równoległe edycje”Każda sesja w tle startuje w twoim katalogu roboczym. Zanim zmieni jakikolwiek plik, Claude przenosi ją do własnego git worktree w .claude/worktrees/, więc sesje wspólnie czytają, ale nigdy wspólnie nie zapisują. Subagenty uruchomione przez sesję edytują w tym samym worktree; własny worktree dasz subagentowi przez isolation: worktree we frontmatterze.
W repozytorium, w którym worktree są niepraktyczne, na przykład przy ciężkich artefaktach natywnego builda albo wielu submodułach, wyłącz izolację w .claude/settings.json projektu:
{ "worktree": { "bgIsolation": "none" }}Sesje edytują wtedy bezpośrednio twój checkout i pytają przed commitem lub zmianą brancha, więc nigdy nie puszczaj dwóch na te same pliki.
Usuwanie sesji to moment, w którym ginie praca. Dwukrotne Ctrl+X w agent view usuwa worktree utworzony przez Claude’a razem z niezacommitowanymi zmianami. claude rm <id> zachowuje worktree z niezacommitowanymi zmianami. Oba odmawiają, gdy worktree ma commity, których zapisania gdzie indziej Claude Code nie może potwierdzić, i wypisują branch oraz liczbę niewypchniętych commitów. Commity, które są już na remote, nie blokują usunięcia; nie blokują go też commity na lokalnej kopii domyślnego brancha remote’a, o ile ten branch jest wybrany w głównym checkoucie. Po takiej odmowie ponowne usunięcie — dwukrotne Ctrl+X na wierszu albo claude rm <id> --discard-unpushed <commit>@<worktree-id> z wartością wypisaną przy odmowie (v2.1.260+) — usuwa worktree, jego branch, niewypchnięte commity i wszystkie niezacommitowane zmiany. Jeśli chcesz je zachować, najpierw je wypchnij. Transkrypt zawsze przetrwa: claude --resume go otwiera, a samo /resume w polu zlecania (v2.1.212+) przywraca usuniętą sesję jako wiersz.
Skróty klawiszowe na co dzień
Dział zatytułowany „Skróty klawiszowe na co dzień”Naciśnij ? w agent view, żeby zobaczyć pełną listę w kontekście.
| Skrót | Działanie |
|---|---|
Enter | Zleca wpisany prompt albo dołącza do zaznaczonego wiersza |
Space | Otwiera lub zamyka panel podglądu |
→ / ← | Dołącza / odłącza (na pustym prompcie) |
Tab | Na pustym polu przegląda subagenty; w innym razie przyjmuje podpowiedź |
Ctrl+T | Przypina lub odpina sesję; przypięte wiersze są na górze |
Ctrl+R | Zmienia nazwę sesji |
Ctrl+S | Grupuje według stanu lub katalogu (zapamiętywane) |
Ctrl+G | Otwiera prompt zlecenia w $VISUAL lub $EDITOR |
Ctrl+X, dwukrotnie | Zatrzymuje, a w ciągu dwóch sekund usuwa |
Zamiast promptu możesz wpisać filtr: s:blocked pokazuje wszystko, co na ciebie czeka, a:<name> — sesje danego agenta, a #1234 lub URL pull requesta zaznacza sesję, która nad nim pracuje. Prefiks ! uruchamia komendę shella jako zadanie w tle zamiast sesji Claude’a.
Co się psuje, gdy agenty pracują w tle?
Dział zatytułowany „Co się psuje, gdy agenty pracują w tle?”| Objaw | Przyczyna | Naprawa |
|---|---|---|
| Praca zniknęła po usunięciu wiersza | Agent view usunął worktree Claude’a z niezacommitowanymi zmianami | Każ sesjom w prompcie commitować i wypychać; w razie wątpliwości użyj claude rm zamiast Ctrl+X; rozmowę odzyskasz przez /resume |
Wiersz tkwi w Needs input z „open this session to…” | Komenda typu /mcp lub /install-github-app wymaga podłączonego terminala | Dołącz i uruchom komendę ponownie |
| Po restarcie komputera wiersze są failed | Wyłączenie zatrzymuje sesje; uśpienie nie | Dołącz lub odpowiedz, żeby wznowić sesję od miejsca, w którym stanęła. Po 48 godzinach jest stopped (ended while the background service was off); naciśnij dwukrotnie Enter na wierszu albo uruchom claude attach <id> |
Dołączanie, podgląd lub claude logs zgłasza brak odpowiedzi usługi | Supervisor się zawiesił | claude daemon stop --any --keep-workers, potem claude agents |
Zlecenie kończy się Could not resolve authentication method | Supervisor wystartował bez zapisanych poświadczeń | Uruchom /login, potem claude daemon stop --any --keep-workers |
Sesja z --agent od razu się kończy | Nazwa nie pasuje do żadnego subagenta: --agent '<name>' not found | Sprawdź nazwę w .claude/agents/ |
| Dwie sesje nadpisały sobie zmiany | Izolacja wyłączona (bgIsolation: "none") albo katalog nie jest repozytorium git | Włącz izolację z powrotem albo zlecaj jedną sesję na zestaw plików |
| Limit kończy się po południu | Każda sesja zużywa limit subskrypcji niezależnie | Ogranicz liczbę równoległych sesji; zob. kontrolę kosztów |
claude agents wypisuje subagenty i kończy działanie | Agent view jest niedostępny lub wyłączony (disableAgentView, CLAUDE_CODE_DISABLE_AGENT_VIEW) | Uruchom claude update, potem sprawdź oba ustawienia |
| Zielona etykieta na zmianie, która nadal jest błędna | Etykieta pokazuje status CI i code review, a nie poprawność | Wzmocnij testy, które prompt musi przejść, i trzymaj sesję code review w pętli |
Dwa ograniczenia obowiązują w v2.1.283: sesje działają na twojej maszynie, więc zatrzymują się, gdy ją wyłączysz. Każda sesja zużywa limit tak jak interaktywna, więc dziesięć równoległych sesji zużywa go mniej więcej dziesięć razy szybciej niż jedna. Pozostałe katalogi w .claude/worktrees/ wypiszesz przez git worktree list i usuniesz przez git worktree remove <path>.