Koda med en AI

Programmering med en AI-agent

Artificiell intelligens (AI) har fundamentalt förändrat sättet vi programmerar på. AI-agenter kan generera kod, optimera och till och med hjälpa till med felsökning. Ändå finns det vissa begränsningar som programmerare bör ha i åtanke när de arbetar med AI.

Problem med ordning och duplicering

AI-agenter har svårt med rätt ordning på koden. De kan till exempel placera initialiseringar i slutet av en fil, vilket orsakar körtidsfel. Dessutom kan AI utan att tveka definiera flera versioner av samma klass eller funktion inom ett projekt, vilket leder till konflikter och förvirring.

En kodplattform med minne och projektstruktur hjälper

En lösning på detta är att använda AI-kodplattformar som kan hantera minne och projektstrukturer. Detta hjälper till att bibehålla konsistens i komplexa projekt. Tyvärr implementeras dessa funktioner inte alltid konsekvent. Detta kan leda till att AI:n förlorar projektets sammanhang och introducerar oönskade dubbletter eller felaktiga beroenden under programmeringen.

De flesta AI-kodningsplattformar arbetar med så kallade verktyg som kan anropa den stora språkmodellen. Dessa verktyg är baserade på ett öppet standardprotokoll (MCP). Det är därför möjligt att koppla en AI-kodningsagent till en IDE som Visual Code. Eventuellt kan du ställa in en LLM lokalt med llama av Ollama och väljer en MCP-server att integrera med. NetCare har skapat en MCP-server för att hjälpa till med felsökning och hantering av det underliggande (linux) systemet. Användbart om du vill driftsätta koden direkt.
Modeller kan hittas på huggingface.

IDE-tillägg är oumbärliga

För att bättre hantera AI-genererad kod kan utvecklare använda IDE-tillägg som övervakar kodens korrekthet. Verktyg som linters, typkontrollanter och avancerade kodanalysverktyg hjälper till att upptäcka och korrigera fel tidigt. De utgör ett viktigt komplement till AI-genererad kod för att säkerställa kvalitet och stabilitet.

Orsaken till återkommande fel: kontext och roll i API:er

En av de främsta anledningarna till att AI-agenter fortsätter att upprepa fel ligger i hur AI tolkar API:er. AI-modeller behöver kontext och en tydlig rollbeskrivning för att generera effektiv kod. Detta innebär att prompter måste vara kompletta: de ska inte bara innehålla de funktionella kraven utan också uttryckligen ange det förväntade resultatet och de yttre förutsättningarna. För att underlätta detta kan du lagra prompterna i standardformat (MDC) och skicka med dem till AI:n som standard. Detta är särskilt användbart för generiska programmeringsregler som du använder, samt de funktionella och tekniska kraven och strukturen för ditt projekt.

Verktyg som FAISS och LangChain hjälper

Produkter som FAISS och LangChain erbjuder lösningar för att hjälpa AI att bättre hantera kontext. FAISS hjälper till exempel till med effektiv sökning och hämtning av relevanta kodfragment, medan LangChain hjälper till att strukturera AI-genererad kod och bibehålla kontext inom ett större projekt. Men även här kan du eventuellt sätta upp det lokalt själv med RAC-databaser.

Slutsats: användbart, men ännu inte självständigt

AI är ett kraftfullt verktyg för programmerare och kan hjälpa till att påskynda utvecklingsprocesser. Ändå är det ännu inte riktigt kapabelt att självständigt designa och bygga en mer komplex kodbas utan mänsklig kontroll. Programmerare bör betrakta AI som en assistent som kan automatisera uppgifter och generera idéer, men som fortfarande behöver vägledning och korrigering för att uppnå ett bra resultat.

Kontakta oss på för att hjälpa till att ställa in utvecklingsmiljön för att hjälpa team att få ut det mesta av utvecklingsmiljön och ägna sig mer åt kravhantering och design än åt felsökning och kodskrivning.

 

Gerard

Gerard är aktiv som AI-konsult och chef. Med stor erfarenhet från stora organisationer kan han exceptionellt snabbt reda ut ett problem och arbeta fram en lösning. I kombination med en ekonomisk bakgrund säkerställer han affärsmässigt sunda val.

AIR (Artificiell Intelligens Robot)