← LLM- en AI-experimenten

VS Code met mijn eigen codeermodel in agent-modus

De Continue-extensie in VS Code praat met mijn eigen 35B-codeermodel: agent-modus met tool-calling, eigen regels, een escalatietool naar Claude en een route die thuis en onderweg werkt.

De opzet

In VS Code gebruik ik de Continue-extensie, gekoppeld aan mijn eigen codeermodel (een 35B mixture-of-experts in Q5) op de RTX 3060 thuis. In de editor heet die assistent Mastercontrolprogram. Het model werkt in agent-modus: het leest bestanden, zoekt in de codebase, draait commando's in de terminal en schrijft wijzigingen, en bij twijfel vraagt het Claude om verificatie.

Wat nodig was om agent-modus te laten werken

  • capabilities: [tool_use] in de modelconfig. Zonder die regel blijft agent-modus uit, ook als het model tool-calling prima beheerst.
  • Rechtstreeks naar de modelserver, niet via de chatinterface. Zo komen toolschema's en streaming ongewijzigd aan.
  • Eigen regels in een rulesbestand: werkwijze, taal en wanneer te escaleren. Één valkuil: noem nooit tools die in de editor niet bestaan. Het model gaat dan doen alsof het ze aanroept.

End-to-end getest: het model leest eerst, schrijft daarna, en kiest een andere aanpak als een commando niets oplevert.

Prefill bepaalt de wachttijd

Bij een codeerassistent is de eerste-tokentijd belangrijker dan de schrijfsnelheid. Bij 223 tokens per seconde prefill duurt een context van 4.400 tokens ~20 seconden, en een van 17.500 tokens ruim een minuut. De belangrijkste instelling is daarom: houd de context klein. Stuur relevante bestanden mee, niet de hele repository.

Overal dezelfde ervaring

Continue praat met een lokale failover-proxy op de laptop. Die kiest automatisch tussen de modelserver op het thuisnetwerk en een relay via HTTPS, en zet een lopend verzoek om als een route wegvalt. Er staat ook een tweede ingang in de config die de relay forceert, voor als ik expres om de proxy heen wil.

Claude als tool

Via MCP heeft de assistent in VS Code dezelfde escalate_to_claude-tool als in de terminal. Een vraag als "verifieer deze migratie voordat ik hem op productie zet" gaat dan, na mijn goedkeuring in een dialoogvenster, als één zelfstandige vraag met alleen de relevante regels naar Claude. Het antwoord komt terug in de editor, met bronvermelding.

Waarom geen kant-en-klare cloudassistent?

Voor werk gebruik ik Claude Code, met duidelijke afspraken over data. Voor alles daarbuiten wil ik een assistent die niets naar buiten stuurt tenzij ik dat goedkeur, die ik kan tunen en die ik begrijp tot op het niveau van toolschema's en tokenbudgetten. Die kennis maakt me ook een betere gebruiker van de cloudvarianten.