Din AI är bara så bra som kontexten den har

Det kan fortfarande kännas främmande att prata om "prompt engineering" och "context engineering" som regelrätta yrkesroller. Men faktum är att båda håller på att växa fram till avgörande spetskompetenser inom utveckling av AI-verktyg, och de är betydligt svårare att bemästra än vad man tror.

Enbart tekniska färdigheter räcker inte. Det krävs ett sinne för conversation design, UX, data och en jäkla massa tålamod.

Ju djupare vi rör oss in i eran av generativ AI, desto högre blir kraven på hur vi designar och interagerar med dessa system. Det är enkelt att sätta ihop ett anrop mot en LLM.

Men hur kontrollerar du beteende, hastighet och fallbacks?

Låt oss för en stund glömma namnen och istället fokusera på vilken roll dessa två discipliner faktiskt spelar.

Så, vad gör de, och varför behövs de?

Svaret ligger i en fundamental egenskap hos dagens språkmodeller: de lider av en form av anterograd amnesi. De är helt stateless, vilket innebär att de saknar inbyggt minne. De kan inte minnas tidigare interaktioner och de ackumulerar inte kunskap på egen hand.

Varje anrop till en modell är en isolerad händelse, den svarar enbart baserat på den omedelbara input den får, just i det ögonblicket.

Den bästa liknelsen jag har hört för att förstå denna begränsning är att föreställa sig en musiklärare som undervisar ett barn.

Vid lektion 1 lär sig barnet några grundläggande ackord, gör misstag och blir korrigerat av läraren. Vid lektion 2 kommer samma barn tillbaka. Barnet minns allt från den första lektionen, både framstegen och misstagen, och kan bygga vidare på sin kunskap för att lära sig en enkel melodi.

För en språkmodell fungerar det inte alls så. Liknelsen blir istället:

Vid lektion 2 dyker det upp ett helt nytt barn. Detta barn har ingen aning om vad som hände på lektion 1. Det enda barnet får är en lapp från läraren:

"Igår övade vi på ackorden C, G och Am. Eleven hade svårt att byta från C till G snabbt, men efter korrigering gick det bättre. Idag ska vi försöka spela 'Blinka lilla stjärna'."

Det nya barnet (LLM:en) måste utifrån denna komprimerade lapp (kontexten) försöka återskapa förståelsen och färdigheten från den första lektionen. Vid lektion 3 kommer ett tredje, helt nytt barn, som i sin tur får en uppdaterad lapp.

Liknelsen belyser en av språkmodellernas största svagheter: deras agerande styrs helt av generaliseringar från träningsdata i kombination med de specifika instruktioner och den bakgrundsinformation de får vid varje given tidpunkt.

Det är precis här de två disciplinerna, prompt och context engineering kommer in.

Prompt engineering är konsten att formulera den perfekta instruktionen

En "prompt" är lappen vi ger till det nya barnet. Prompt engineering handlar om att skriva denna instruktion. Det är långt mer än att bara ställa en fråga på rätt sätt:

  • Välja rätt ord och ton. Ska modellen agera som en expert, en kreativ assistent eller en neutral faktagranskare? Orden "analysera", "sammanfatta", "förklara" och "brainstorma" ger helt olika resultat.
  • Strukturera information. Tekniker som few-shot learning (att ge några exempel på önskat svar) eller Chain-of-Thought (att be modellen resonera steg för steg) kan dramatiskt öka precisionen.
  • Använda variabler. I ett automatiserat system är prompter sällan statiska. De är mallar där variabler, ett kundnamn, en felkod, en nyhetsartikel, matas in dynamiskt.

Disciplinen ligger närmare UX-design, kognitionsvetenskap och pedagogik än traditionell programmering. En skicklig prompt engineer förstår hur man formulerar sig för att minimera vaga instruktioner och maximera chansen att modellen "förstår" uppgiften korrekt. Det är inte nödvändigtvis utvecklarens primära roll att bemästra detta, men den bör känna till grunderna.

Context engineering är arkitekturen som skapar relevans

Om prompten är instruktionen på lappen, är kontexten all relevant bakgrundsinformation som också måste finnas där. Context engineering är den tekniska disciplinen att bygga system som dynamiskt samlar in, filtrerar och levererar denna information till modellen vid exakt rätt tidpunkt. Det här är en renodlad uppgift för utvecklaren:

  • Hämta extern data. Integrera med databaser, API:er och vektordatabaser (via tekniker som RAG, Retrieval-Augmented Generation) för att ge modellen tillgång till information den inte tränats på.
  • Hantera konversationshistorik. Sammanfatta och filtrera tidigare delar av en dialog för att ge modellen ett "korttidsminne" utan att överskrida dess kontextfönster.
  • Effektivisera dataflöden. Se till att systemet snabbt och resurssnålt kan flytta information mellan olika delar, särskilt i komplexa system.

Att hålla kontexten ren, koncis och högst relevant är avgörande. För mycket irrelevant information förvirrar modellen och förbrukar onödiga tokens, vilket leder till högre kostnader och sämre prestanda.

Multiagent-system innebär större utmaningar

Dessa utmaningar blir exponentiellt svårare i multiagent-system, där flera specialiserade AI-agenter samarbetar för att lösa en uppgift. En agent kanske ansvarar för att söka information, en annan för att skriva kod och en tredje för att sammanfatta resultatet. I ett sådant system blir prompt och context engineering själva blodomloppet:

  • Context engineering är systemarkitekturen som ser till att informationen från "sök-agenten" paketeras korrekt och effektivt skickas vidare till "kod-agenten".
  • Prompt engineering är designen av de instruktioner och roller som definierar hur "kod-agenten" ska agera på informationen den får, och hur "sammanfattnings-agenten" ska tolka resultatet.

Utan en strategi för båda områdena kollapsar ett multiagent-system snabbt i ett ineffektivt och kostsamt kaos.

Från rå instruktion till meningsfull intelligens

Det viktiga här är inte att välja den största modellen eller skriva den mest optimerade koden. Det verkliga värdeskapandet har flyttat från själva språkmodellen till den intelligenta arkitekturen runt omkring den.

Det kräver en djup, nästan intuitiv förståelse för modellernas kognitiva begränsningar, och en tvådelad strategi för att kompensera för dem.

I många fall, när vi har analyserat varför ett AI-system har gjort fel, kommer vi fram till att det inte är språkmodellen som har gjort fel, utan att förutsättningarna för att göra rätt har saknats. Detta är en viktig insikt, eftersom det alltid finns lösningar på sådana problem.

Det innebär ett skifte i vilka kompetenser som blir affärskritiska för att utveckla ett AI-system. Framtidens AI-utvecklare behöver inte bara kunna förstå logiken i koden, de är också en form av "kognitiva arkitekter" för AI-systemet. De behöver behärska en blandning av teknisk skicklighet, språklig precision, logiskt systemtänkande och en dos psykologisk insikt för att kunna designa flöden som är både effektiva och intuitiva för AI:n.

Prompt engineering blir konsten att föra en meningsfull dialog med maskinen, i form av instruktioner. Context engineering blir kunskapen kring att ge den ett relevant och pålitligt minne samt rätt verktyg för uppgiften.

De organisationer som kommer att leda utvecklingen är de som inser att den verkliga konkurrensfördelen inte ligger enbart i att ha tillgång till en kraftfull modell, utan i förmågan att orkestrera den och ge den access till rätt kontext vid rätt tillfälle.

Det är i detta samspel, mellan den mänskliga intentionen och maskinens utförande, som verklig, praktisk intelligens uppstår.