Harness engineering: vad det är och hur det fungerar

En lättbegriplig guide till vad AI-harnesses är och hur harness engineering formar vad AI-agenter kan göra.

Diagram of an AI harness: an AI model that reads and writes text sits at the center, connected to six parts: agent loop, context management, tools, memory, permissions, and verification.

Vad harness engineering innebär

Harness engineering är arbetet med att bygga ett AI-verktygs harness, det vill säga alla delar av verktyget utom själva AI-modellen.

Modellen är AI-systemet, som har tränats på stora mängder text så att det kan läsa och skriva språk. Exempel på AI-modeller är OpenAI:s GPT, Anthropics Claude och Googles Gemini.

På egen hand kan en modell bara ta emot text (och ibland bilder eller ljud) och skriva text tillbaka. Den kan inte minnas tidigare konversationer, slå upp aktuell information eller köra kod. Därför behöver den en harness som styr vilken information modellen får, vilka appar den kan använda, vad den får göra och hur dess arbete kontrolleras.

Även en enkel chattassistent behöver en harness. Modellen glömmer varje utbyte så fort den har svarat, så harnessen sparar en logg över konversationen. Om någon frågar om Paris och sedan följer upp med ”hur stor är dess befolkning?” skickar harnessen båda frågorna till modellen tillsammans. Det är så modellen vet att ”dess” syftar på Paris.

Harness engineering är en av anledningarna till att två verktyg som bygger på samma modell kan prestera så olika. I ett oberoende test behöll forskarna till exempel samma modell (GPT5) och ändrade bara harnessen, och modellens resultat på ett kodningstest förändrades med upp till 11 %.

AI-modellutvecklare som Anthropic och OpenAI bygger harnessar för sina egna AI-produkter, till exempel Claude Code och Codex. Och företag som bygger AI-produkter utformar harnessar för de underliggande modeller de väljer. Även de som använder AI-verktyg formar en del av harnessen. Många verktyg låter dem lägga till stående instruktioner, ansluta appar och välja vilka åtgärder som kräver deras godkännande innan verktyget går vidare.

Harness engineering för AI-agenter

Alla AI-verktyg har en harness, men harness engineering blir särskilt viktigt när man arbetar med AI-agenter. Agenter hanterar uppgifter i flera steg på egen hand, som att undersöka konkurrenter och sammanställa resultaten i ett kalkylark, och harnessen kör varje steg. Om harnessen gör ett misstag, till exempel hämtar förra årets priser, påverkar det därför även resten av stegen.

De flesta harnessar för agenter består av sex huvuddelar:

1. Agentloopen

Agentloopen är kod i harnessen som driver en uppgift framåt, ett steg i taget.

AI-modellen bestämmer nästa steg som behövs för att slutföra uppgiften och skriver ett verktygsanrop: en kort begäran som anger ett verktyg i harnessen, till exempel webbsökning, och vad verktyget ska göra.

Harnessen upptäcker begäran, kör sökningen och lägger till resultaten i det som modellen kan se. Modellen läser dem och bestämmer vad den ska göra härnäst.

2. Kontexthantering

En modell lär sig allmän kunskap under träningen, men den kunskapen sträcker sig bara fram till det datum då träningen avslutades. Den omfattar inget som är specifikt för den aktuella uppgiften, som ett företags filer, dagens nyheter eller vad som sades tidigare i konversationen.

För allt detta är modellen beroende av sitt kontextfönster: den text som harnessen ger den före varje svar, till exempel dess instruktioner, frågan, konversationen hittills och sökresultat.

Fönstret rymmer bara en begränsad mängd text. Och redan innan fönstret har fyllts missar modeller ibland information som ligger begravd mitt i långa indata.

Därför sköter harnessen kontexthanteringen och väljer bara ut den information som varje steg behöver. Om uppgiften till exempel är att jämföra fem konkurrenters priser kan harnessen ta med varje företags prissida i stället för hela webbplatsen. Vid långa uppgifter kan harnessen också ersätta den detaljerade loggen över tidigare steg med en kort sammanfattning, så att modellen håller koll på vad den har gjort utan att historiken fyller fönstret.

3. Verktyg

Verktyg är kod som utför de åtgärder som modellen ber om. Varje verktyg hanterar en typ av åtgärd, till exempel att söka på webben, öppna och läsa en webbsida, köra kod eller redigera en fil. När modellen skriver ett verktygsanrop skickar harnessen det vidare till rätt verktyg och returnerar resultatet.

Många harnessar innehåller också anslutningar, det vill säga verktyg som kopplar agenten till en specifik app, till exempel e-post, en kalender eller en delad enhet, med hjälp av åtkomst som en person har beviljat. Med en kalenderanslutning kan en agent till exempel kontrollera någons tillgänglighet innan den föreslår en mötestid.

4. Minne

Minne är lagrad information som följer med från en session till nästa. Harnessen sparar korta anteckningar under en session, till exempel en persons preferenser eller hur långt ett projekt har kommit. I början av nästa session lägger harnessen till anteckningarna i kontextfönstret, så att modellen läser dem innan den läser den nya frågan. Det är till exempel så en agent kan fortsätta med en veckorapport där den slutade i stället för att börja om från början.

5. Behörigheter

Behörigheter är regler för vad en agent kan nå och göra. Åtkomstregler anger vilka filer, appar eller webbplatser den kan öppna. Godkännanderegler anger vilka åtgärder som måste vänta på en persons godkännande, till exempel att skicka ett meddelande eller göra ett köp.

Företaget som utvecklar agenten ställer in en del av dessa regler i harnessens kod. Sedan kan en organisations administratörer lägga till egna regler, och enskilda användare kan välja saker som vilka konton som ska anslutas.

6. Verifiering

Verifiering är kod som kontrollerar agentens arbete innan det når en person. Den använder två typer av kontroller:

  • Fasta regler, det vill säga specifika tester som godkänns eller underkänns på samma sätt varje gång, som att bekräfta att varje siffra i en rapport finns i ett dokument som agenten faktiskt har läst.
  • En granskning av en annan AI-modell, som läser arbetet och bedömer det. Den kan upptäcka problem som är svåra att formulera som en regel, som en sammanfattning som utelämnar en viktig punkt.

Ingen enskild kontroll fångar allt, så harnessar kombinerar oftast båda typerna. När en kontroll hittar ett problem lägger harnessen till en beskrivning av det i modellens kontextfönster och skickar tillbaka uppgiften genom agentloopen. Modellen åtgärdar problemet och försöker igen, så många misstag rättas till innan användaren ser resultatet.

Exempel på harness engineering

Förbereda ett kundmöte

Uppgift: En kundansvarig ber en agent att ta fram ett underlag inför morgondagens möte med en kund, med öppna frågor och ett utkast till dagordning.

Vad harnessen gör:

  • Via en e-postanslutning söker agenten igenom den kundansvariges inkorg efter meddelanden med kunden.
  • Behörigheterna låter den läsa e-post men inte skicka något.
  • Kontexthanteringen ger modellen bara de senaste tre månadernas meddelanden med den kunden, inte hela inkorgen.
  • Agentloopen kör flera omgångar av sökning och läsning, och modellen grupperar det den hittar i öppna frågor.
  • Verifieringen kontrollerar sedan att varje fråga i underlaget kan kopplas till ett faktiskt e-postmeddelande.

Möjligt resultat: Den kundansvarige får ett underlag på en sida där varje punkt kan spåras till sitt ursprungliga e-postmeddelande.

Uppdatera en månatlig försäljningsrapport

Uppgift: En verksamhetsansvarig ber en agent att uppdatera den månatliga försäljningsrapporten med den här månadens siffror.

Vad harnessen gör:

  • Minnet läser in anteckningar från förra månadens session, bland annat rapportens format och den ansvariges önskemål om att avrunda siffror till närmaste tusental.
  • Ett filverktyg öppnar försäljningskalkylarket på teamets delade enhet.
  • Behörigheterna låter agenten redigera rapportutkastet men inte källkalkylarket, så att de ursprungliga siffrorna inte kan ändras av misstag.
  • Verifieringen kontrollerar att summorna i rapporten stämmer med kalkylarket.

Möjligt resultat: Rapporten levereras i samma format som förra månadens, utan att användaren behöver förklara det igen.

Sortera en delad inkorg

Uppgift: Ett supportteam ber en agent att sortera morgonens inkommande ärenden efter ämne och skriva utkast till svar på de vanligaste.

Vad harnessen gör:

  • Agentloopen går igenom inkorgen ett meddelande i taget.
  • För varje meddelande väljer modellen en ämnesetikett, och harnessen tillämpar den via e-postanslutningen.
  • I början av uppgiften lägger harnessen till teamets godkända svarsmallar i kontextfönstret som vägledning, så att modellen baserar varje utkast på en mall.
  • En godkännanderegel håller kvar varje svar som utkast tills någon i teamet har granskat och skickat det.

Möjligt resultat: Teamet börjar dagen med sorterade ärenden och svar som väntar på granskning.

Åtgärda en bugg på en webbplats

Uppgift: En utvecklare ber en kodningsagent att åtgärda en bugg som gör att en kassaknapp inte fungerar.

Vad harnessen gör:

  • Agenten arbetar i en sandlåda, en isolerad kopia av koden där dess ändringar inte kan påverka den skarpa webbplatsen.
  • Ett kodverktyg låter modellen läsa och redigera filer.
  • Efter varje ändring kör verifieringen projektets automatiserade tester.
  • Alla misslyckade tester återkopplas till modellen som ny information.

Möjligt resultat: Agenten fortsätter att justera sin lösning tills testerna går igenom. Utvecklaren granskar sedan ändringen innan den publiceras.

Harness engineering jämfört med prompt engineering och context engineering

Prompt engineering är arbetet med att formulera och optimera en enskild fråga. Context engineering är arbetet med att hantera allt som modellen ser. Harness engineering är processen att utforma och förbättra hela systemet som modellen arbetar i.

Begrepp

Vem som oftast gör det

Exempel från en uppgift om konkurrentanalys

Prompt engineering

Alla som skriver en fråga

Att be om ”en rad per konkurrent, en kolumn per prisnivå”

Context engineering

De som bygger harnessen, samt användare som bifogar filer eller mallar

Att ge modellen varje konkurrents prissida och teamets kalkylarksmall

Harness engineering

Företag som utvecklar AI-produkter, samt team och användare som väljer inställningar och preferenser och laddar upp information

Att bestämma vilka verktyg agenten kan använda, vilka åtgärder som kräver godkännande och hur dess arbete kontrolleras

Hur användare kan påverka en AI-harness

Det mesta av en agents harness kommer från företaget som utvecklar agenten, men många AI-produkter låter användare justera en del av den via inställningar som anpassade instruktioner, anslutna appar och godkännanden.

Användare kan forma en agents harness – och därmed förbättra agentens resultat – på fyra sätt:

1. Stående instruktioner

Stående instruktioner är anteckningar som en person skriver en gång, så att harnessen kan lägga till dem i kontextfönstret i början av varje uppgift. De är värda att ställa in för allt som man annars skulle upprepa i fråga efter fråga: vem man är och vad man gör, hur man vill att texter skrivs eller reglerna för ett återkommande uppdrag, som en kunds månadsrapport.

Många AI-produkter erbjuder stående instruktioner på två nivåer. Kontoövergripande instruktioner passar för sådant som gäller allt arbete, som stavningspreferenser. Projektinstruktioner passar för en enskild kund eller ett enskilt arbetsflöde, så att riktlinjer för det ena inte följer med till det andra.

Stående instruktioner fungerar på samma sätt i chattassistenter och agenter, men agenter är mer beroende av dem. I en chatt kan en person rätta AI:n efter varje svar. En agent kan ta många steg innan någon ser dess arbete, så instruktioner som ges i förväg är ett av få sätt att styra den under arbetets gång.

Så skriver du effektiva stående instruktioner

  • Börja med en kort instruktion, till exempel: ”Jag är marknadschef på ett mjukvaruföretag. Skriv på enkel engelska, håll sammanfattningar under 200 ord och använd amerikansk stavning.”
  • Komplettera dem när AI:n gör ett misstag. Om AI:n gång på gång avrundar siffror som teamet behöver ha exakta lägger du till en rad om det.
  • Gör instruktionerna specifika: ”Ange exakta siffror, avrunda aldrig” fungerar bättre än ”Var noggrann”.
  • Håll listan kort och ta bort rader när de inte längre är användbara, eftersom varje rad tar plats i kontextfönstret.

2. Anslutna appar

Anslutna appar kopplar en AI-produkt till de verktyg som en person redan använder, till exempel e-post, en kalender eller en delad enhet. När en app är ansluten kan AI:n arbeta med personens egen information i stället för bara det som klistras in i chatten.

Anslutningar är värda att ställa in när en uppgift bygger på information som finns i de apparna, som att ta fram ett mötesunderlag utifrån e-posttrådar eller sammanfatta dokument på en delad enhet.

Så ansluter du appar på ett säkert sätt

  • Anslut bara de appar som en uppgift behöver, eftersom varje anslutning ger ytterligare en möjlighet till fel.
  • Välj skrivskyddad åtkomst där det erbjuds. En agent som tar fram mötesunderlag behöver till exempel läsa e-post, inte skicka den.
  • Ställ in anslutningar per projekt där produkten tillåter det. I Perplexity kan man till exempel välja vilka anslutningar varje projekt använder.
  • Kom ihåg att koppla från appar som inte längre används.

3. Godkännandeinställningar

Godkännandeinställningar avgör vilka åtgärder som måste vänta på en persons godkännande innan AI:n går vidare. Vissa godkännanden är inbyggda i produkten, och vissa produkter låter användare välja vilka andra åtgärder som kräver godkännande.

Så ställer du in godkännanderegler

  • Kräv godkännande för åtgärder som inte går att ångra, till exempel att skicka ett meddelande, genomföra ett köp eller radera en fil.
  • Håll listan över godkännanden kort. Om en agent ber om klartecken för varje litet steg börjar folk godkänna utan att läsa.

4. Standarder och kontroller

De flesta AI-produkter har vissa standarder inbyggda. Perplexity inkluderar till exempel källhänvisningar i sina svar så att varje påstående kan kontrolleras. Standarder som användaren själv anger tillför sådant som en produkt inte kan veta på egen hand, till exempel ett teams föredragna rapportformat.

Så sätter du standarder för AI-arbete

  • Ge AI:n en mall för återkommande arbete, så att den har en fast struktur att fylla i.
  • Dela ett exempel på tidigare arbete som teamet var nöjt med, så att AI:n kan matcha dess ton och detaljnivå.
  • Be om en länk till källan bredvid varje siffra.
  • Granska de första resultaten noggrant och gör om återkommande brister till en ny stående instruktion.

Så tänker Perplexity kring agent-harnesses

Perplexity Computer körs på en modellagnostisk harness, som samlar fler än 20 avancerade modeller i ett och samma system. Den delar upp varje uppgift i deluppgifter, lämnar över dem till underagenter (separata agenter som var och en tar hand om en del) och skickar varje arbetsmoment till en modell som passar för just det.

Läs om hur du konfigurerar instruktioner, filer och anslutningar i guiden till projekt i Perplexity.

Vanliga frågor

Vad är en harness-ingenjör?

En harness-ingenjör utformar och underhåller systemet som gör att en AI-modell kan utföra arbete på ett tillförlitligt sätt. Det kan innebära att lägga till ett nytt verktyg som agenten kan använda, ta reda på varför en agent upprepar samma misstag eller skärpa de kontroller den gör innan den slutför en uppgift. Det är ingen etablerad yrkestitel, även om det kan komma att ändras. Arbetet utförs oftast av mjukvaruutvecklare på AI-företag eller i team som bygger agenter. Inom tillverkningsindustrin används den engelska titeln harness engineer för någon som konstruerar kabelstammar, de buntade kablarna i bilar och maskiner.

Vad är en agent-harness?

Med agent-harness menas vanligtvis allt i en AI-agent utom själva modellen. Det omfattar koden som kör agentloopen, hanterar kontext, utför verktygsanrop, lagrar minne, upprätthåller behörigheter och kontrollerar agentens arbete innan det når en människa.

Har alla AI-verktyg en harness?

Ja. Även en enkel chattassistent är beroende av en harness för att hålla reda på konversationen, eftersom modellen inte själv kommer ihåg tidigare meddelanden.

Utvecklare kan också använda en modell genom att skicka förfrågningar till den från sin egen programvara via ett API (en anslutning som låter ett program skicka förfrågningar till ett annat). I så fall är det utvecklarens egen kod som gör det jobb som en harness annars gör.

Kommer bättre modeller att göra harnesses överflödiga?

Bättre modeller kan behöva mindre steg-för-steg-vägledning, så en del av det som harnesses gör i dag kan minska. Men en modell på egen hand omvandlar bara text till text. Den har ingen internetanslutning och ingen åtkomst till andra appar. Att nå filer, utföra åtgärder och upprätthålla godkännanderegler sker i programvaran runt modellen, så det arbetet ligger sannolikt kvar hos harnessen, hur kapabla modellerna än blir.