Programmera med 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 den och till och med hjälpa till med felsökning. Det finns dock vissa begränsningar som programmerare bör ha i åtanke när de arbetar med AI.

Problem med ordningsföljd och duplicering

AI-agenter har svårt med rätt ordningsföljd i kod. De kan till exempel placera initialiseringar i slutet av en fil, vilket orsakar runtime-fel. Dessutom kan AI utan tvekan 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-kodningsplattformar som kan hantera minne och projektstrukturer. Detta hjälper till att bibehålla konsekvens i komplexa projekt. Tyvärr tillämpas dessa funktioner inte alltid konsekvent. Som ett resultat kan det hända att AI:n tappar sammanhanget i ett projekt och introducerar oönskade dubbletter eller felaktiga beroenden under programmeringen.

De flesta AI-kodningsplattformar arbetar med så kallade verktyg som den stora språkmodellen kan anropa. 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 sätta upp en LLM lokalt med llama eller ollama och välja 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. Praktiskt för när 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, typkontroller och avancerade kodanalysverktyg hjälper till att upptäcka och korrigera fel i ett tidigt skede. De utgör ett viktigt komplement till AI-genererad kod för att säkerställa kvalitet och stabilitet.

Orsaken till upprepade fel: kontext och roll i API:er

En av de viktigaste 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. Det innebär att prompter måste vara fullständiga: de bör inte bara innehålla funktionella krav, utan även explicit ange förväntat resultat och randvillkor. För att underlätta detta kan du spara prompter i standardformat (MDC) och skicka med dem som standard till AI:n. Det är särskilt användbart för generella programmeringsregler som du tillämpar, samt för funktionella och tekniska krav och projektets struktur.

Verktyg som FAISS och LangChain hjälper

Produkter som FAISS och LangChain erbjuder lösningar för att låta AI hantera kontext bättre. FAISS hjälper till exempel till med att effektivt söka och hämta 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 själv lokalt med RAG-databaser.

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

AI är ett kraftfullt verktyg för programmerare och kan bidra till att påskynda utvecklingsprocesser. Det är dock ännu inte 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 kräver vägledning och korrigering för att nå ett bra resultat.

Kontakta kontakt för att hjälpa till att sätta upp utvecklingsmiljön, så att team kan få ut mesta möjliga av den och fokusera mer på kravhantering och design än på felsökning och kodskrivning.

 

Gerard

Gerard är verksam som AI-konsult och chef. Med stor erfarenhet från stora organisationer kan han snabbt analysera ett problem och arbeta fram en lösning. Kombinerat med en ekonomisk bakgrund säkerställer han affärsmässigt ansvarsfulla val.