Ga naar inhoud

Een agent diagnosticeren

Deze gids laat zien hoe je erachter komt waarom een agent geen runs produceert.

Werk van boven naar beneden: eerst de eigen runs van de agent, dan zijn backend, dan de server, dan de host.

Instellingen → Werkruimte → Agenten → selecteer de agent → Logboeken.

Elke run toont een statusbadge, een duur (“Running…” zolang hij loopt), de begin- en eindtijd, de PID en de adapter die is gebruikt. Bekijken opent de ruwe gebeurtenissenstroom van die run. Stoppen beëindigt een lopend proces en zet de run op “Killed by user”; Actieve stoppen in de kop doet hetzelfde voor elke lopende run van die agent.

Lees het zo:

  • Helemaal geen runs — de dispatch heeft nooit plaatsgevonden. Vermeldingen in de composer bestaan uit @ plus woordtekens (letters, cijfers, underscore). Resolutie is een exacte of prefixmatch op de agentnaam, dus @code-reviewer wordt geparseerd als code en kan alsnog een agent met de naam code-reviewer wekken. Een naam met een spatie kan niet als één token worden vermeld. Ga dan naar stap 2.
  • Een run die meteen met een fout eindigde — open Bekijken. Een fout bij het starten van de backend verschijnt hier als een procesfout.
  • Een run die blijft hangen op “Running…” — stop hem en controleer daarna de Stilte-time-out van de agent op het tabblad Instellingen. Zonder ingestelde time-out geldt de standaardwaarde per modus.
  • Een voltooide run zonder bruikbare uitvoer — de status in het runlog blijft completed voor een run die eindigde zonder het resultaat dat zijn modus vereiste; het eerlijke signaal is de samenvattingstekst, niet de badge.

Het tabblad Logboeken toont geen kosten. Gebruik voor uitgaven de tabel per agent in Observeerbaarheid → Overzicht.

Instellingen → Server → Modelaanbieders (/settings/server/providers).

De lijst Gedetecteerde runners toont elke adapter met zijn detectieresultaat — een geïnstalleerde versie, “Controleren…” of “Niet gevonden” — plus het gevonden pad en de chips met mogelijkheden voor een gevonden CLI. Druk in de paginakop op Vernieuwen om opnieuw te detecteren.

De detectie draait op de machine die cc_server host, niet op de machine waarnaar je kijkt. Als je de webclient of een gekoppeld apparaat gebruikt, betekent “Niet gevonden” dat de CLI op de serverhost ontbreekt.

Twee dingen om te controleren:

  • Of de agent überhaupt een adapter heeft ingesteld. Een agent met een lege adapter wordt gedispatcht naar Control Center (built-in) en het runlog registreert cc-harness, zodat het transcript vermeldt wat er werkelijk draaide. Zonder model erbij vraagt hij Anthropic om zijn standaardmodel — wat mislukt met No credential for provider "anthropic" tenzij je een Anthropic-account hebt verbonden. De meegeleverde specialisten worden zonder adapter geleverd.
  • Of de ingebouwde adapter een model heeft. Zijn modellenlijst wordt live samengesteld uit de providers die verderop op deze pagina zijn verbonden, dus een provider zonder opgeslagen referentie levert nul modellen.

De adaptercatalogus zelf ligt vast — je kunt geen nieuwe adapter registreren. Wat je hier per adapter kunt aanpassen, zijn de opstartargumenten en de omgevingsvariabelen. Let op: een omgevings-override per adapter verslaat stil een verbonden provideraccount wanneer referenties worden bepaald.

Instellingen → Server → Verbinding en status (/settings/server/connection) laat zien met welke server deze client praat en wat die rapporteert.

Voor een headless server is GET /healthz dezelfde informatie zonder client. Het is bewust ongeauthenticeerd en CORS-open:

curl http://localhost:9030/healthz

Het retourneert de status van de server, de uptime in seconden, het aantal live verbindingen, de gebonden poort, de buildversie en git-SHA, de schemaversie van de werkruimte, de RPC-catalogusversie, de server-id, -naam en identiteitsvingerafdruk, of de binding onveilig is en een codeGraph-blok met tellers voor watching / indexing / pending. Als een cache verkeer heeft gezien, bevat het ook een caches-blok; een demoserver voegt demo: true toe.

Twee dingen die je moet weten wanneer een wijziging “in tests werkt, maar niet in de app”:

  • De desktop start bij voorkeur een vooraf gebouwde cc_server-binary in plaats van de bron. Een nieuwe RPC-op of MCP-tool verschijnt pas nadat de binary opnieuw is gebouwd, en het opstartlog waarschuwt wanneer de git-SHA van het kindproces afwijkt van die van de app.
  • De desktop beëindigt een gestarte server die binnen 20 seconden zijn gereedheidsbanner niet heeft geprint, en valt terug op een foutscherm.

Instellingen → Server → Diagnose en privacy (/settings/server/diagnostics) is de pagina op hostniveau. Die bevat:

  • Sandboxing — de hoofdschakelaar, de gedetecteerde backend en een installatiehint. Alleen de gedetecteerde backend komt van de server; zie de waarschuwing hieronder. Er is geen resetknop.
  • Semantisch zoeken — de levenscyclus van het embeddingmodel op het apparaat: geïnstalleerd, bezig met downloaden met een percentage, niet geïnstalleerd of een installatiefout. Tot het is geïnstalleerd, blijven geheugen en codezoeken alleen op trefwoorden.
  • Systeemgedrag — houd de computer wakker terwijl agenten draaien.
  • Logniveau — verhoog het voordat je een fout reproduceert.
  • Privacy — of ruwe diffinhoud naar het model van de agent mag worden doorgestuurd en of crashrapporten worden verzonden.

De run start nooit en de adapter toont “Niet gevonden”

Sectie getiteld “De run start nooit en de adapter toont “Niet gevonden””

Installeer de CLI op de serverhost en druk dan op Vernieuwen op de pagina Modelaanbieders. Of schakel de agent over naar de ingebouwde adapter, die geen CLI nodig heeft, en verbind een provider op dezelfde pagina.

De agent kan niet pushen en geen pull request openen

Sectie getiteld “De agent kan niet pushen en geen pull request openen”

Lees wat git of de agent heeft getoond. Control Center policy: … betekent dat een actieregel het heeft geweigerd of dat een goedkeuring onbeantwoord bleef: controleer Naar een remote pushen en Een pull request openen onder Instellingen → Werkruimte → Agentmachtigingen. Zegt git dat Control Center geen GitHub-inloggegevens heeft die kunnen pushen, installeer dan de GitHub App op die repo of koppel GitHub.

Semantisch zoeken levert niets bruikbaars op

Sectie getiteld “Semantisch zoeken levert niets bruikbaars op”

Controleer Instellingen → Server → Diagnose en privacy → Semantisch zoeken. Tot het embeddingmodel is geïnstalleerd, gebeurt zoeken alleen op trefwoorden. Rijen die zijn geschreven voordat het model was geïnstalleerd, worden nooit bijgevuld en blijven dus ook daarna alleen op trefwoorden doorzoekbaar.

Native bibliotheken zijn vereist en er is geen terugvalmodus. Een ontbrekende dylib zorgt dat cc_server weigert te starten en noemt de boosdoener in de fout. Zet de natives klaar met scripts/natives/build_natives.sh en bouw de serverbinary opnieuw.

Een prompt-beslissing van een beveiliging zonder verbonden goedkeurder wordt geweigerd, en dat is bewust. Controleer de regels van de werkruimte onder Instellingen → Werkruimte → Agentmachtigingen.