Vibecoding och coding agents
Så får Copilot CLI riktig kodförståelse med language servers
GitHub visar hur Copilot CLI kan använda language servers för bättre kodförståelse. Här är vad svenska utvecklare bör testa.
Ingress
GitHub visar hur Copilot CLI kan använda language servers för att förstå kod mer strukturerat. Det låter tekniskt, men poängen är enkel: en AI-agent i terminalen behöver mer än textsökning om den ska ge pålitliga svar i en riktig kodbas. Med Language Server Protocol kan verktyget fråga efter definitioner, referenser, typer och symboler på ett sätt som liknar hur moderna kodredigerare arbetar.
Varför detta spelar roll
Många kodagenter fungerar bra i små exempel men blir svagare i större projekt. Orsaken är ofta att de saknar en stabil bild av kodbasens struktur. De kan söka efter ord, läsa filer och gissa sammanhang, men missar lätt typinformation, indirekta beroenden och var en funktion faktiskt används.
Language servers löser inte allt, men de ger agenten ett bättre kartunderlag. I stället för att bara fråga “var står det här namnet?” kan agenten fråga “vilken definition av den här symbolen gäller i just den här filen?”. Det kan minska felaktiga förslag och göra kodgranskningen mindre frustrerande.
Praktiskt arbetsflöde för ett team
Börja inte med hela monorepot. Välj ett mindre projekt där ni redan har tester och där teamet vet vad korrekta svar borde vara. Installera Copilot CLI enligt GitHubs instruktioner och aktivera LSP-flödet för projektets språk. Kör sedan tre typer av uppgifter: hitta användningar, förklara en typkedja och föreslå en minimal ändring med test.
Dokumentera skillnaden mellan ett vanligt CLI-svar och ett svar med language server-stöd. Om agenten hittar rätt filer snabbare, refererar till rätt symboler och föreslår mindre riskabla ändringar finns ett verkligt värde. Om den fortfarande gissar eller skriver om för mycket bör piloten pausas.
Konkreta steg
1. Välj ett testrepository med fungerande testkommando. 2. Kontrollera att projektets language server fungerar i editor eller via CLI. 3. Kör Copilot CLI på en avgränsad fråga, till exempel “var används denna funktion och vad bryts om signaturen ändras?”. 4. Be agenten föreslå minsta möjliga ändring. 5. Kör tester och låt en utvecklare granska diffen.
Upprepa samma test i två språk eller ramverk om teamet arbetar polyglott. Language server-kvalitet varierar, och ett bra resultat i TypeScript betyder inte automatiskt att samma flöde fungerar lika bra i Python, Go eller Java.
Begränsningar och policy
Bättre kodförståelse är inte samma sak som rätt att ändra allt. Teamet bör begränsa filåtkomst, kräva testkörning och ha tydliga regler för när agenten får köra kommandon. I känsliga projekt behöver man också kontrollera Copilot-inställningar, databehandling och interna sekretesskrav.
Den stora vinsten är därför inte automatisering utan bättre beslutsunderlag: agenten kan peka på relevanta delar av kodbasen, men människan ska fortfarande godkänna ändringen.
För team som redan arbetar med TypeScript, Python eller Go kan ett LSP-baserat test också bli ett bra sätt att jämföra AI-verktyg. Be olika verktyg lösa samma kodförståelseproblem och notera vilka som faktiskt hittar rätt symboler, rätt beroenden och rätt testyta. Det gör valet mer konkret än allmänna produktlöften.
I praktiken kan detta också påverka hur team skriver interna riktlinjer för AI-kodning. Om agenten får bättre struktur via LSP kan uppgifterna formuleras mer exakt: “föreslå ändring i den här symbolen och visa alla berörda anrop” i stället för breda prompts som leder till omfattande omskrivningar. Det gör både granskning och rollback enklare.
Källor och mer läsning
Primärkälla: github.blog