Przejdź do głównej zawartości

Diagnozuj agenta

Ten poradnik pokazuje, jak ustalić, dlaczego agent nie tworzy uruchomień.

Pracuj od góry do dołu: najpierw własne uruchomienia agenta, potem jego backend, dalej serwer, a na końcu host.

Ustawienia → Obszar roboczy → Agenci → wybierz agenta → Logi.

Każde uruchomienie pokazuje plakietkę statusu, czas trwania („Running…” w trakcie działania), czas rozpoczęcia i zakończenia, PID oraz użyty adapter. Widok otwiera surowy strumień zdarzeń tego uruchomienia. Zatrzymaj kończy działający proces i oznacza uruchomienie jako „Killed by user”; Zabij uruchomione w nagłówku robi to samo dla każdego trwającego uruchomienia tego agenta.

Czytaj to tak:

  • Brak jakichkolwiek uruchomień — wysyłka nigdy nie nastąpiła. Wzmianki w polu pisania wiadomości to @ plus znaki słowne (litery, cyfry, podkreślenie). Dopasowanie odbywa się po dokładnej nazwie agenta albo jej prefiksie, więc @code-reviewer jest parsowane jako code i nadal może obudzić agenta o nazwie code-reviewer. Nazwy ze spacją nie można wspomnieć jako jednego tokenu. W takim wypadku przejdź do kroku 2.
  • Uruchomienie zakończone natychmiast błędem — otwórz Widok. Niepowodzenie uruchomienia backendu pojawia się tutaj jako błąd procesu.
  • Uruchomienie zawieszone na „Running…” — zatrzymaj je, a następnie sprawdź Limit ciszy agenta na karcie Ustawienia. Nieustawiony limit korzysta z wartości domyślnej dla danego trybu.
  • Ukończone uruchomienie bez użytecznego wyniku — status w dzienniku uruchomień pozostaje completed dla uruchomienia, które zakończyło się bez zadeklarowanego produktu; uczciwym sygnałem jest tekst podsumowania, a nie plakietka.

Karta Logi nie pokazuje kosztów. Aby sprawdzić wydatki, użyj tabeli dla poszczególnych agentów w Obserwowalność → Analizy.

Ustawienia → Serwer → Dostawcy modeli (/settings/server/providers).

Lista Wykryte runnery pokazuje każdy adapter wraz z wynikiem sondy — zainstalowaną wersję, „Sprawdzanie…” albo „Nie znaleziono” — a także ustaloną ścieżkę i plakietki możliwości znalezionego CLI. Naciśnij Odśwież w nagłówku strony, aby ponowić sondowanie.

Sonda działa na maszynie hostującej cc_server, a nie na maszynie, na którą patrzysz. Jeśli korzystasz z klienta webowego albo sparowanego urządzenia, „Nie znaleziono” oznacza, że na hoście serwera brakuje tego CLI.

Potwierdź dwie rzeczy:

  • Czy agent ma w ogóle ustawiony adapter. Agent z pustym adapterem jest wysyłany do Control Center (built-in), a dziennik uruchomień zapisuje cc-harness, więc transkrypt podaje, co zostało uruchomione. Jeśli nie ma też modelu, agent pyta Anthropic o jego domyślny model — co kończy się błędem No credential for provider "anthropic", chyba że masz połączone konto Anthropic. Zasiani specjaliści są dostarczani bez adaptera.
  • Czy wbudowany adapter ma model. Jego lista modeli pochodzi na bieżąco od dostawców połączonych niżej na tej samej stronie, więc dostawca bez zapisanych poświadczeń wnosi zero modeli.

Sam katalog adapterów jest stały — nie ma sposobu, aby zarejestrować nowy adapter. To, co możesz tu zmienić dla poszczególnych adapterów, to jego argumenty uruchomienia i zmienne środowiskowe. Pamiętaj, że nadpisanie zmiennych środowiskowych dla danego adaptera po cichu wygrywa z połączonym kontem dostawcy, gdy rozstrzygane są poświadczenia.

Ustawienia → Serwer → Połączenie i status (/settings/server/connection) pokazuje, z którym serwerem rozmawia ten klient i co ten serwer raportuje.

W przypadku serwera headless GET /healthz to te same informacje bez klienta. Z założenia nie wymaga uwierzytelnienia i jest otwarty dla CORS:

curl http://localhost:9030/healthz

Zwraca status serwera, czas działania w sekundach, liczbę aktywnych połączeń, powiązany port, wersję kompilacji i SHA gita, wersję schematu obszaru roboczego, wersję katalogu RPC, identyfikator serwera, jego nazwę i odcisk tożsamości, informację, czy powiązanie jest niezabezpieczone, oraz blok codeGraph z licznikami watching / indexing / pending. Gdy pamięć podręczna odnotowała ruch, zawiera też blok caches; serwer demonstracyjny dodaje demo: true.

Dwie rzeczy warte poznania, gdy zmiana „działa w testach, ale nie w aplikacji”:

  • Aplikacja desktopowa uruchamia wstępnie zbudowany plik binarny cc_server zamiast wersji ze źródeł. Nowa operacja RPC albo narzędzie MCP nie pojawi się, dopóki plik binarny nie zostanie przebudowany, a przy starcie zapisywane jest ostrzeżenie, gdy SHA gita procesu potomnego różni się od SHA aplikacji.
  • Aplikacja desktopowa zabija uruchomiony serwer, który nie wypisał swojego banera gotowości w ciągu 20 sekund, i przechodzi do ekranu błędu.

Ustawienia → Serwer → Diagnostyka i prywatność (/settings/server/diagnostics) to strona na poziomie hosta. Zawiera:

  • Piaskownica — przełącznik główny, wykryty backend i wskazówkę instalacyjną. Tylko wykryty backend pochodzi z serwera; zobacz uwagę poniżej. Nie ma kontrolki resetowania.
  • Wyszukiwanie semantyczne — cykl życia modelu osadzania działającego na urządzeniu: zainstalowany, pobierany z procentem postępu, niezainstalowany albo błąd instalacji. Dopóki nie zostanie zainstalowany, pamięć i wyszukiwanie kodu działają wyłącznie na słowach kluczowych.
  • Zachowanie systemu — nie usypiaj komputera, gdy działają agenci.
  • Poziom logów — podnieś go przed odtworzeniem awarii.
  • Prywatność — czy surowa treść diffów może być przekazywana do modelu agenta i czy wysyłane są raporty o awariach.

Uruchomienie nigdy nie startuje, a adapter pokazuje „Nie znaleziono”

Dział zatytułowany „Uruchomienie nigdy nie startuje, a adapter pokazuje „Nie znaleziono””

Zainstaluj CLI na hoście serwera, a następnie naciśnij Odśwież na stronie Dostawcy modeli. Albo przełącz agenta na wbudowany adapter, który nie wymaga CLI, i połącz dostawcę na tej samej stronie.

Agent nie może wypchnąć zmian ani otworzyć pull requesta

Dział zatytułowany „Agent nie może wypchnąć zmian ani otworzyć pull requesta”

Przeczytaj, co wypisał git lub agent. Control Center policy: … oznacza, że reguła akcji tego odmówiła albo prośba o zatwierdzenie została bez odpowiedzi: sprawdź Push do zdalnego repozytorium i Otwarcie pull requesta w Ustawienia → Obszar roboczy → Uprawnienia agentów. Jeśli git mówi, że Control Center nie ma poświadczenia GitHub, które może wykonać push, zainstaluj GitHub App w tym repozytorium albo połącz GitHuba.

Sprawdź Ustawienia → Serwer → Diagnostyka i prywatność → Wyszukiwanie semantyczne. Dopóki model osadzania nie jest zainstalowany, wyszukiwanie działa tylko na słowach kluczowych. Wiersze zapisane przed instalacją modelu nigdy nie są uzupełniane, więc nawet później pozostają dostępne wyłącznie przez słowa kluczowe.

Wymagane są natywne biblioteki i nie ma trybu ograniczonego działania. Brakująca biblioteka dylib sprawia, że cc_server odmawia startu i wskazuje winowajcę w błędzie. Przygotuj natywne biblioteki przez scripts/natives/build_natives.sh i przebuduj plik binarny serwera.

Decyzja guardraila prompt bez połączonego zatwierdzającego jest z założenia odrzucana. Sprawdź reguły obszaru roboczego w Ustawienia → Obszar roboczy → Uprawnienia agentów.