{"licence":{"name":"CC BY-SA 4.0","spdx":"CC-BY-SA-4.0","url":"https://creativecommons.org/licenses/by-sa/4.0/","attribution":"Atlas, a bilingual technical dictionary (https://cmaintz.github.io/tech-atlas/)"},"id":"ai/ai-coding-assistant","url":{"en":"https://cmaintz.github.io/tech-atlas/en/terms/ai/ai-coding-assistant/","da":"https://cmaintz.github.io/tech-atlas/da/terms/ai/ai-coding-assistant/"},"term":{"en":"AI coding assistant","da":"AI-kodeassistent"},"aka":{"en":["coding assistant","AI code assistant"],"da":["kodeassistent","AI-kodehjælper"]},"domain":["ai"],"cluster":"ai-coding","layer":"application","status":"current","era":2021,"summary":{"en":"A tool built into a programmer's editor that suggests, explains and rewrites code using a large language model.","da":"Et værktøj i programmørens editor, der foreslår, forklarer og omskriver kode ved hjælp af en stor sprogmodel."},"body":{"formal":{"en":"Software that sends the code a developer is working on, plus nearby files and a request, as context to a large language model and shows the answer as inline code completion, chat replies or proposed edits that the developer accepts or rejects.","da":"Software, der sender den kode, en udvikler arbejder på, sammen med nærliggende filer og en forespørgsel som kontekst til en stor sprogmodel og viser svaret som kodefuldførelse i linjen, chatsvar eller foreslåede ændringer, som udvikleren godkender eller afviser."},"plain":{"en":"Like a helper who has read a great deal looking over your shoulder while you write - quick with ideas and happy to explain, but it has not seen your whole project and is sometimes confidently wrong.","da":"Som en hjælper, der har læst en masse og kigger dig over skulderen, mens du skriver - hurtig med idéer og glad for at forklare, men den har ikke set hele dit projekt og tager af og til selvsikkert fejl."},"inPractice":{"en":"A newly hired developer in a region's IT department asks the assistant what an old function in the lab system does, gets a short explanation, then has it draft the missing input checks, which she reads and adjusts.","da":"En udvikler, der lige er startet i en regions IT-afdeling, spørger assistenten, hvad en gammel funktion i laboratoriesystemet gør, får en kort forklaring og lader den skrive et udkast til de manglende inputtjek, som hun læser og retter til."},"whyItMatters":{"en":"It speeds up routine work, but whatever code and secrets are open in the editor may be sent to an outside provider, and its suggestions can carry the same flaws as the public code it learned from.","da":"Den gør rutinearbejde hurtigere, men den kode og de hemmeligheder, der er åbne i editoren, kan blive sendt til en ekstern udbyder, og forslagene kan rumme de samme fejl som den offentlige kode, den har lært af."}},"deepDive":{"en":"The category took shape with GitHub Copilot, released as a technical preview in June 2021 on OpenAI's Codex model and made generally available in June 2022. The Codex paper (Chen et al., 2021) also introduced the HumanEval benchmark of 164 hand-written Python problems scored by unit tests with the pass@k metric; the 12-billion-parameter Codex solved 28.8% at pass@1, a figure current models far exceed. Today's assistants combine several interaction modes in one editor extension: inline code completion, a chat panel, inline edits of a selection, multi-file edits, and increasingly an agent mode that blurs into a full coding agent.\n\nArchitecturally the interesting part is the context engine, not the model. On each request the client gathers candidate context (the current file around the cursor, other open and recently viewed files, symbols and types from the language server, snippets retrieved from a repository index by embedding or keyword search, and project instruction files), ranks it, and packs it into a token budget. Completion requests need latency in the low hundreds of milliseconds and so use small, fast models with tight budgets; chat and edit requests can afford larger models and longer contexts. Responses pass through post-processing: syntax checks, filters for secrets and offensive content, and optionally a filter that suppresses suggestions matching public code, which vendors offer to reduce licence exposure.\n\nData governance is the main enterprise concern. Whatever is in the assembled context leaves the workstation, including secrets in open .env files, personal data in test fixtures and proprietary code. Organisations should check the vendor's terms on retention and on training with customer code, configure content exclusions for sensitive paths, and, under GDPR, treat the provider as a processor where personal data may be sent, with a data processing agreement and a lawful basis for any transfer outside the EEA under Chapter V. Self-hosted or local models trade quality for control.\n\nOn code quality, the classic measurement is Pearce et al. (2022), who prompted Copilot with 89 security-relevant scenarios and found that about 40% of the 1,689 generated programs contained a CWE-listed weakness. Assistants reproduce patterns common in public code, including insecure ones, and repository content read as context can carry prompt injection that steers chat answers. Vendor productivity metrics such as acceptance rate measure how often suggestions are kept, not whether the resulting code is correct or maintainable, so teams should pair adoption with the same SAST, dependency scanning and review they apply to human-written code.","da":"Kategorien tog form med GitHub Copilot, der udkom som teknisk preview i juni 2021 bygget på OpenAI's Codex-model og blev generelt tilgængelig i juni 2022. Codex-artiklen (Chen et al., 2021) introducerede også benchmarket HumanEval med 164 håndskrevne Python-opgaver, der bedømmes med enhedstests og målet pass@k; Codex med 12 milliarder parametre løste 28,8 % ved pass@1, et tal, som nutidens modeller langt overgår. Nutidens assistenter kombinerer flere interaktionsformer i én editorudvidelse: kodefuldførelse i linjen, et chatpanel, redigering af en markering, ændringer på tværs af filer og i stigende grad en agenttilstand, der glider over i en egentlig kodeagent.\n\nArkitektonisk er det interessante kontekstmotoren, ikke modellen. Ved hver forespørgsel samler klienten kandidater til kontekst (den aktuelle fil omkring markøren, andre åbne og nyligt viste filer, symboler og typer fra language serveren, uddrag hentet fra et repository-indeks via embedding- eller nøgleordssøgning samt projektets instruktionsfiler), rangerer dem og pakker dem ind i et tokenbudget. Forespørgsler om fuldførelse kræver en latenstid på et par hundrede millisekunder og bruger derfor små, hurtige modeller med stramme budgetter; chat og redigering kan bære større modeller og længere kontekst. Svarene efterbehandles: syntakstjek, filtre for hemmeligheder og stødende indhold og eventuelt et filter, der undertrykker forslag, som matcher offentlig kode, hvilket leverandørerne tilbyder for at mindske licensrisikoen.\n\nDatastyring er den største bekymring i virksomheder. Alt, hvad der er i den samlede kontekst, forlader arbejdsstationen, herunder hemmeligheder i åbne .env-filer, personoplysninger i testdata og proprietær kode. Organisationer bør tjekke leverandørens vilkår for opbevaring og træning på kundekode, konfigurere udelukkelse af følsomme stier og efter databeskyttelsesforordningen behandle udbyderen som databehandler, hvor personoplysninger kan blive sendt, med en databehandleraftale og et lovligt grundlag for enhver overførsel uden for EØS efter kapitel V. Selvhostede eller lokale modeller bytter kvalitet for kontrol.\n\nHvad angår kodekvalitet, er den klassiske måling Pearce et al. (2022), der gav Copilot 89 sikkerhedsrelevante scenarier og fandt, at ca. 40 % af de 1.689 genererede programmer indeholdt en svaghed fra CWE-listen. Assistenter gengiver mønstre, der er almindelige i offentlig kode, også usikre, og indhold i repositoryet, der læses som kontekst, kan bære prompt injection, der styrer chatsvarene. Leverandørers produktivitetsmål som acceptrate måler, hvor ofte forslag beholdes, ikke om den resulterende kode er korrekt eller vedligeholdbar, så teams bør kombinere udrulningen med samme SAST, afhængighedsscanning og gennemgang, som de bruger på kode skrevet af mennesker."},"edges":[{"type":"requires","to":"ai/large-language-model","confidence":"high","strength":"normal"},{"type":"requires","to":"ai/context-window","confidence":"high","strength":"normal"},{"type":"contrasts-with","to":"ai/coding-agent","why":{"en":"An assistant answers and suggests while the developer drives; a coding agent is handed a task and carries out many steps, runs commands and edits files by itself.","da":"En assistent svarer og foreslår, mens udvikleren styrer; en kodeagent får en opgave og udfører selv mange trin, kører kommandoer og retter filer."},"confidence":"high","strength":"primary"},{"type":"used-with","to":"platform/secrets-management","why":{"en":"Keys written into code can be sent to the assistant's provider or suggested back to others, so secrets belong in a proper store, never in the files it reads.","da":"Nøgler skrevet ind i koden kan sendes til assistentens udbyder eller blive foreslået for andre, så hemmeligheder hører til i et rigtigt lager, aldrig i de filer, den læser."},"confidence":"medium","strength":"normal"},{"type":"used-with","to":"platform/software-composition-analysis","confidence":"high","strength":"normal"}],"depth":3,"sources":[{"title":"Chen et al. (2021), Evaluating Large Language Models Trained on Code","tier":"reference"},{"title":"Pearce et al. (2022), Asleep at the Keyboard? Assessing the Security of GitHub Copilot's Code Contributions (IEEE S&P)","tier":"reference"}],"draft":true}