Kunstig intelligens (AI) har fundamentalt ændret den måde, vi programmerer på. AI-agenter kan generere kode, optimere den og endda hjælpe med fejlfinding. Alligevel er der nogle begrænsninger, som programmører skal have for øje, når de arbejder med AI.
AI-agenter har svært ved den korrekte rækkefølge af kode. De kan for eksempel placere initialiseringer i slutningen af en fil, hvilket forårsager køretidsfejl. Derudover kan AI uden tøven definere flere versioner af den samme klasse eller funktion inden for et projekt, hvilket fører til konflikter og forvirring.
En løsning på dette er brugen af AI-kodeplatforme, der kan håndtere hukommelse og projektstrukturer. Dette hjælper med at bevare konsistensen i komplekse projekter. Desværre anvendes disse funktioner ikke altid konsekvent. Derfor kan det ske, at AI mister sammenhængen i et projekt og introducerer uønskede dubletter eller ukorrekte afhængigheder under programmeringen.
De fleste AI-kodeplatforme arbejder med såkaldte værktøjer, der kan kalde den store sprogmodel. Disse værktøjer er baseret på en åben standardprotokol (MCP). Det er også muligt at tilknytte en AI-kodeagent til en IDE såsom Visual Code. Eventuelt kan du opsætte en LLM lokalt med llama eller ollama og vælge en MCP-server til integration. NetCare har en MCP-server oprettet for at hjælpe med fejlfinding og håndtere det underliggende (Linux) system. Praktisk, hvis du vil køre koden direkte live.
Modellerne kan findes på huggingface.
For bedre at håndtere AI-genereret kode kan udviklere bruge IDE-udvidelser, der sikrer kodekorrekthed. Værktøjer som linters, typecheckere og avancerede kodeanalyseværktøjer hjælper med at opdage og rette fejl tidligt. De udgør et væsentligt supplement til AI-genereret kode for at sikre kvalitet og stabilitet.
En af de vigtigste årsager til, at AI-agenter fortsat gentager fejl, ligger i den måde, AI-API'er fortolker på. AI-modeller har brug for kontekst og en klar rollebeskrivelse for at generere effektiv kode. Det betyder, at prompts skal være komplette: de skal ikke kun indeholde de funktionelle krav, men også gøre det forventede resultat og betingelserne eksplicit. For at gøre dette lettere kan du gemme prompts i standardformat (MDC) og altid sende dem med til AI. Det er især praktisk for generiske programmeringsregler, du anvender, samt de funktionelle og tekniske krav og strukturen i dit projekt.
Produkter som FAISS og LangChain tilbyder løsninger til at få AI til bedre at håndtere kontekst. FAISS hjælper for eksempel med effektiv søgning og hentning af relevante kodefragmenter, mens LangChain hjælper med at strukturere AI-genereret kode og bevare konteksten i et større projekt. Men også her kan du eventuelt opsætte det lokalt med RAC-databaser.
AI er et kraftfuldt værktøj for programmører og kan hjælpe med at accelerere udviklingsprocesser. Alligevel er det endnu ikke i stand til selvstændigt at designe og bygge en mere kompleks kodebase uden menneskelig kontrol. Programmører bør betragte AI som en assistent, der kan automatisere opgaver og generere idéer, men som stadig har brug for vejledning og korrektion for at opnå et godt resultat.
Tag kontakt for at hjælpe med at opsætte udviklingsmiljøet, så teams kan få mest muligt ud af det og fokusere mere på kravspecifikation og design end på debugging og kodning