Bakom redigeraren

Varför är så bra på att redigera dokument?

En språkmodell kan skriva en bra mening, men att sätta tillbaka den med rätt formatering är ett annat jobb. Vi förklarar varför det har varit svårt att få AI att redigera ett dokument och vad vi har byggt för att lösa det.

9 minuters läsning3 oktober 2026

Översikt

Om du ber en chattbot rätta en klausul i en Word-fil ber du den göra två saker samtidigt: ändra orden och skriva om filformatet som håller dem. Språkmodeller är bra på det första men opålitliga på det andra.

tar bort det andra jobbet från modellen. Den här artikeln förklarar varför det spelar roll, hur det fungerar med långa dokument och hur det jämförs med chattwebbplatser och datoranvändningsagenter.

  1. 01En språkmodell läser ett dokument som markup, inte som en sida.
  2. 02Ett enda felaktigt tecken kan göra en fil oläslig, och långa utdata gör felaktiga tecken sannolika.
  3. 03 separerar innehåll från formatering: modellen redigerar orden, vår kod skriver filen.
  4. 04Långa dokument delas upp i omgångar, bryts ner och får kontext, precis som moderna kodningsagenter gör.
  5. 05Chattwebbplatser kan redigera filer med Python, men ändringar kan försvinna utan att någon märker det.
  6. 06Datoranvändningsagenter redigerar som en människa, men till många gånger högre kostnad.

01

LLM ser bara text, inte formatering

Öppnar du ett avtal i Word ser du en sida: en rubrik i dokumentmallens stil, ett fetstilt belopp och en understruken tidsfrist. Det är Word-programmet som skapar formateringen, så vi kan redigera visuellt. Under en Word-fil (.docx) finns ett komplext XML-system där varje ord vi ser är omständligt annoterat med dolda ord som kallas markup.12

Vad du ser

Vad modellen ser

<w:p>  <w:pPr><w:pStyle w:val="Heading2"/></w:pPr>  <w:r><w:t>4. Hyra</w:t></w:r></w:p><w:p>  <w:pPr><w:jc w:val="both"/></w:pPr>  <w:r><w:t xml:space="preserve">Hyresgästen ska betala </w:t></w:r>  <w:r><w:rPr><w:b/><w:color w:val="1F4E79"/></w:rPr><w:t>US$2,400</w:t></w:r>  <w:r><w:t xml:space="preserve"> senast </w:t></w:r>  <w:r><w:rPr><w:i/><w:u w:val="single"/></w:rPr><w:t>den första dagen i varje månad</w:t></w:r>  <w:r><w:t>.</w:t></w:r></w:p>
Figur 1Samma klausul två gånger. Orden tar 77 tecken; XML:en runt dem tar 466. Utdrag ur word/document.xml.

En LLM hjälps inte av Microsoft Word, LibreOffice eller Pages och måste förlita sig på sin egen förståelse av markupen. För att redigera korrekt behöver en LLM förstå effekten av den ursprungliga markupen och skriva den nya meningen i rätt markup.

02

LLM-utdata är i grunden instabila

Modellerna har blivit avsevärt bättre, men även de senaste gör fortfarande misstag. I en studie från Microsoft Research 2026 av 19 modeller inom 52 yrkesområden förstörde toppmodeller som Gemini 3.1 Pro, Claude 4.6 Opus och GPT 5.4 i genomsnitt 25 % av dokumentinnehållet i slutet av långa redigeringsarbetsflöden.4

I en Word-fil räcker ett litet fel för att göra filen oanvändbar. Här har modellen tappat ett enda snedstreck:

<w:p>  <w:pPr><w:jc w:val="both"/></w:pPr>  <w:r><w:t xml:space="preserve">Hyresgästen ska betala </w:t></w:r>  <w:r><w:rPr><w:b>1<w:color w:val="1F4E79"/></w:rPr><w:t>US$2,400</w:t></w:r>  <w:r><w:t xml:space="preserve"> senast </w:t></w:r>  <w:r><w:rPr><w:i/><w:u w:val="single"/></w:rPr><w:t>den första dagen i varje månad</w:t></w:r>  <w:r><w:t>.</w:t></w:r></w:p>
Figur 2Ett saknat snedstreck lämnar fettaggen öppen. XML:en är inte längre välformad, och Word kommer inte att öppna filen normalt.3

XML tolererar inte felaktig markup. En fil är antingen välformad eller inte. Word kan ibland återställa en trasig fil, men den återställda kopian kan sakna text eller formatering.

Längre utdata, fler misstag

Risken ökar med längden. LongProc, ett riktmärke från 2025 för lång strukturerad utdata, visade att modeller med öppna vikter började brista vid 2 000 utdatatokens och att GPT-4o försämrades markant vid 8 000.5 En annan studie visade att prestandan sjunker med 13,9 % till 85 % när indata växer, även när modellen kan hämta varje relevant fakta.6 Ett Word-dokument på 10 sidor är cirka 10 000 token, och att försöka redigera alla 10 sidor på en gång utan fel är en omöjlighet.

<w:p>  <w:pPr><w:pStyle w:val="ClauseText"/></w:pPr>  <w:r><w:rPr><w:b/><w:sz w:val="24"/></w:rPr><w:t>5.1</w:t></w:r>  <w:r><w:rPr><w:sz w:val="24"/></w:rPr><w:t xml:space="preserve"> Harlow &1 Pike LLP företräder hyresvärden i alla frågor som uppstår under detta hyresavtal.</w:t></w:r></w:p><w:p>  <w:pPr><w:pStyle w:val="ClauseText"/></w:pPr>  <w:r><w:rPr><w:b/><w:sz w:val="24/>2</w:rPr><w:t>5.2</w:t></w:r>  <w:r><w:rPr><w:sz w:val="24"/></w:rPr><w:t xml:space="preserve"> Hyresgästen ska hålla lokalerna i gott och väsentligt underhåll och skick.</w:t></w:r></w:p><w:p>  <w:pPr><w:pStyle w:val="ClauseText"/></w:pPr>  <w:r><w:rPr><w:b/><w:sz w:val="24"/></w:rPr><w:t>5.3</w:t></w:r>  <w:r><w:rPr><w:sz w:val="24"/></w:rPr><w:t xml:space="preserve"> Alla meddelanden måste lämnas skriftligen och levereras till adressen som anges i bilaga 2.</w:t></w:p>3<w:p>  <w:pPr><w:pStyle w:val="ClauseText"/></w:pPr>  <w:r><w:rPr><w:b/><w:sz w:val="24"/></w:rPr><w:t>5.4</w:t></w:r>  <w:r><w:rPr><w:sz w:val="24"/></w:rPr><w:t xml:space="preserve"> Hyresvärden får säga upp detta hyres4
  1. 1Ett nakna et-tecken i texten. XML kräver att det skrivs som en entitet.
  2. 2Ett saknat avslutande citattecken. Allt efter det tolkas som en del av värdet.
  3. 3En körning som aldrig stängs innan stycket tar slut.
  4. 4Utdatan stannar bara. Långa genereringar kan nå en längdgräns eller avbrytas mitt i en tagg.
Figur 3Fyra klausuler i modellens utdata, fyra typer av fel. Vart och ett av dem gör ensamt filen oläsbar.

03

Så löser det

Vi skriver egna program som separerar formatering från innehåll. Modellen får de ord den behöver ändra, tillsammans med en renderad bild av sidan, så att den får hjälp av ett Word-program. Vår kod lägger sedan tillbaka de redigerade orden i de ursprungliga textsegmenten och lämnar resten av filen orörd.

Din fil

<w:p>  <w:pPr><w:jc w:val="both"/></w:pPr>  <w:r><w:t xml:space="preserve">Hyresgästen ska betala </w:t></w:r>  <w:r><w:rPr><w:b/><w:color w:val="1F4E79"/></w:rPr><w:t>US$2,400</w:t></w:r>  <w:r><w:t xml:space="preserve"> senast </w:t></w:r>  <w:r><w:rPr><w:i/><w:u w:val="single"/></w:rPr><w:t>den första dagen i varje månad</w:t></w:r>  <w:r><w:t>.</w:t></w:r></w:p>

separerar innehåll från formatering

Extraherat innehåll

Hyresgästen ska betala US$2,400 senast den första dagen i varje månad.

Renderad sida

Båda går till modellen

SpråkmodellRedigerar ord. Rör aldrig XML.

Modellen returnerar redigerat innehåll

Modellens utdata

Hyresgästen ska betala US$2,400US$2,600 senast den första dagen i varje månadden femte dagen i varje månad.

skriver tillbaka orden i de ursprungliga textsegmenten

Din fil, redigerad

<w:p>  <w:pPr><w:jc w:val="both"/></w:pPr>  <w:r><w:t xml:space="preserve">Hyresgästen ska betala </w:t></w:r>  <w:r><w:rPr><w:b/><w:color w:val="1F4E79"/></w:rPr><w:t>US$2,600</w:t></w:r>  <w:r><w:t xml:space="preserve"> senast </w:t></w:r>  <w:r><w:rPr><w:i/><w:u w:val="single"/></w:rPr><w:t>den femte dagen i varje månad</w:t></w:r>  <w:r><w:t>.</w:t></w:r></w:p>

✓ Giltig .docx. Fetstil, färg och understrykning är exakt som de var.

Figur 4Redigeringspipelinen, förenklad. Markerad text är den enda delen av filen som ändrats.

Detta löser båda problemen på en gång. Modellen ser nu den formatering den tidigare inte kunde se, och den skriver inte längre den märkning som den mest sannolikt skulle förstöra.

Du hittar inte detta lager i en allmän chattbot. Program för extraktion, rendering och ihopsättning byggs och underhålls av OneTurns egna ingenjörer.

04

Att lösa problemet med långt sammanhang

Vissa redigeringar är långa: ett stycke som sträcker sig över flera sidor, eller en ändring som tillämpas konsekvent på hundratals ställen. För dessa har vi lärt oss av mjukvaruutveckling. I mars 2026 publicerade Anthropic av misstag källkoden till Claude Code, deras AI-kodagent, i ett offentligt npm-paket.7

Den läckta kodredigeraren lär oss en enkel sak: för att redigera något långt måste man dela upp det. Vi delar upp ett dokument i sidgrupper, en teknik som kallas batchning, och delar upp långa stycken i meningar, så att varje redigering är tillräckligt liten för att bli rätt.

Att dela upp ett dokument skapar ett nytt problem: sammanhang. Hur redigerar man ett stycke på sida 60 med hjälp av en definition på sida 2? Här ger två års erfarenhet av AI-kodredigerare (Cursor, GitHub Copilot, OpenAI Codex) utdelning. Deras svar är context engineering, som samlar relaterad information i en fokuserad samling och ger den till underagenter med rena kontextfönster.8 Vi gör detsamma med dokument. Vi grupperar logiskt relaterad information, så som en noggrann läsare skulle göra, och skickar den sedan tillsammans med redigeringsmålet till underredaktörer som gör den faktiska ändringen.

1Batchning av dokumentet

s. 1–40s. 41–80s. 81–120s. 121–160s. 161–200s. 201–240s. 241–280s. 281–300

2Dela upp långa stycken

Klausul 18.3 · s. 60
Mening 1Mening 2Mening 3Mening 4Mening 5

3Samla sammanhang och redigera sedan parallellt

Definierade termers. 2–12

Parter och rollers. 1

Tidigare ändringars. 34

Underredaktör 1s. 1–40 + samling

Underredaktör 2s. 41–80 + samling

Underredaktör 3s. 81–120 + samling

Figur 5Ett dokument på 300 sidor, uppdelat. Varje underredaktör får en liten del av dokumentet plus den kontext som just den delen är beroende av.

Exempel: maskering av en dom

En advokat vill att alla vittnesnamn i en dom ska maskeras, samt en lista över de rättsfall den hänvisar till för en junior att undersöka.

  1. Sök. hittar alla personnamn och alla rättsfallshänvisningar med vanlig mönstermatchning. Ingen modell behövs ännu.
  2. Klassificera. Varje namn, tillsammans med meningen runt omkring, skickas till en modell som avgör: vittne, advokat eller domare. Svaren bygger upp en samling av vittnen.
  3. Samla. Samma metod används för att bygga en samling av åberopade rättsfall.
  4. Agera. Eftersom vi exakt vet var varje vittnesnamn hittades maskerar vi just de ställena, och bara dem, i den ursprungliga filen.

I HÖGSTA DOMSTOLEN

KING’S BENCH DIVISION

Harrow v Kestrel Logistics Ltd

Före: Mrs Justice Holloway

DOM

Mrs Justice Holloway: Detta yrkande uppstod efter att en lastplattform i svarandens lager rasade den 14 mars 2024. Käranden företräddes av Ms Priya Raman och svaranden av Mr Thomas Whitby. Jag hörde muntlig bevisning under fyra dagar.

Det huvudsakliga ögonvittnet, Mr Daniel Okafor, var truckförare på nattskiftet. Mr Okafor berättade för domstolen att varningslamporna vid plattformen hade varit ur funktion i flera veckor, och att han hade anmält detta två gånger. Ett andra vittne, Ms Margaret Ellison, en entreprenör som inspekterade plattformen i februari, bekräftade att hennes rapport rekommenderade omedelbar reparation. Jag fann båda vittnena noggranna och trovärdiga.

En ockupants aktsamhetsplikt gentemot dem som lagligen vistas på dess område är väletablerad, och jag utgår från grannprincipen i Donoghue v Stevenson [1932] AC 562. Huruvida det är rimligt och skäligt att införa en plikt i nya omständigheter styrs av Caparo Industries plc v Dickman [1990] 2 AC 605, men dessa omständigheter är inte nya. Mr Whitby anförde att de yrkade förlusterna var för avlägsna. Den invändningen måste prövas mot Hadley v Baxendale (1854) 9 Exch 341.

Efter att ha övervägt vittnesmålen från Mr Okafor och Ms Ellison tillsammans med handlingarna är jag övertygad om att svaranden kände till felet och underlät att agera. Käromålet bifalls i fråga om ansvar. Skadestånd kommer att bedömas vid en fortsatt förhandling. Jag är tacksam mot Ms Raman och Mr Whitby för deras tydliga och fokuserade inlagor.

Figur 6Byt vy för att se resultatet. Domen och namnen är fiktiva; de tre åberopade rättsfallen är verkliga."

05

Kan chatgpt.com, claude.ai och andra chattwebbplatser göra samma sak?

Ibland, ja. Dessa webbplatser har ofta en Python-tolk, som gör att modellen kan öppna en Word- eller PowerPoint-fil och redigera dess XML med kod.

Men koden skrivs fortfarande av en instabil modell, och ingenting kontrollerar resultatet mot originalet. I våra interna tester fick vi ofta dokument med oväntade borttagningar och ändringar. I ett extremt fall kom ett dokument på 20 sidor tillbaka som 10 sidor, utan någon varning.

Chattwebbplats med Python

20 sidor
10 sidor

Klart! Jag har uppdaterat ditt dokument med de önskade ändringarna.

Ingen nämnd av de 10 saknade sidorna.

ändringslogg

  • s. 4 · Klausul 2.1

    trettio (30) dagar sextio (60) dagar

    Återställ
  • s. 9 · Klausul 6.3

    Leverantören Entreprenören

    Återställ
  • s. 17 · Bilaga 1

    US$2,400 US$2,600

    Återställ

Skapa nytt dokument

Figur 7Till vänster: en tyst förkortning från våra interna tester. Till höger: varje AI-ändring på OneTurn visas i listan och kan återställas.

En tyst utelämning eller ändring är fatal för allt seriöst arbete. På registreras varje ändring som vår AI-agent gör. Du kan granska var och en, återställa vilken som helst och skapa ett nytt dokument.

06

Kan datoranvändningsagenter som OpenClaw eller Manus göra detta?

Dessa agenter styr en dator på samma sätt som en person gör. De öppnar dokumentet i Microsoft Word eller PowerPoint och scrollar, klickar och skriver.11 Eftersom de använder samma program som en människa kan de redigera på samma sätt som en människa, och resultaten är ofta imponerande.

Priset är kostnad och hastighet. Agenten läser ett dokument genom att ta skärmbilder när den scrollar, och varje litet steg kräver ett modellanrop för att bestämma vad som ska göras härnäst. En skärmbild i full HD kostar ensam ungefär 1 500 till 2 700 tokens.10 I benchmarktestet OSWorld tog även de bästa agenterna 2,7 till 4,3 gånger fler steg än nödvändigt, och senare steg tog upp till tre gånger längre tid än tidiga.9

Datoranvändningsagent

  1. Ta en skärmbild
  2. Modellen bestämmer nästa åtgärd
  3. Scrolla, klicka eller skriv
  4. Upprepa för varje steg

  1. Läs texten en gång
  2. Redigera i omgångar
  3. Skriv filen
20-sidigt avtal, 30 redigeringarDatoranvändningsagent
Modellanrop≈ 180≈ 12
Tokens per anrop≈ 10,000≈ 4,000
Totalt antal tokens≈ 1,800,000≈ 48,000
Skillnad≈ 37× mer, eller ≈ 100–160× med de extra stegen som mättes i OSWorld
Figur 8Antaganden: cirka 11 000 ord; 60 skärmbilder för att läsa dokumentet; 4 åtgärder per redigering; varje anrop innehåller en skärmbild plus den senaste historiken. OneTurn läser texten en gång och skickar redigeringar i omgångar.

Enligt vår uppskattning kan en datoranvändningsagent använda upp till 100 gånger fler LLM-tokens än för samma redigeringar, och det tar betydligt längre tid att bli klar.

Källor

  1. Uppbyggnaden av ett WordprocessingML-dokumentMicrosoft Learn · dokumentation för Open XML SDK
  2. ECMA-376: Office Open XML-filformatEcma International · standard
  3. Validera ett ordbehandlingsdokumentMicrosoft Learn · dokumentation för Open XML SDK
  4. LLM:er korrumperar dina dokument när du delegerarLaban, Schnabel och Neville · Microsoft Research · 2026
  5. LongProc: Benchmarking av språkmodeller med långt kontextfönster vid generering av långa procedurerYe m.fl. · COLM 2025
  6. Kontextlängd ensam skadar LLM-prestanda trots perfekt återhämtningDu m.fl. · Findings of EMNLP 2025
  7. Anthropic exponerar oavsiktligt källkoden till Claude Code via en npm-källkartfilInfoQ · 7 april 2026
  8. Effektiv kontexttekniska för AI-agenterAnthropic Engineering · 29 september 2025
  9. OSWorld-Human: Benchmarking av effektiviteten hos datoranvändningsagenterAbhyankar, Qi och Zhang · MLSys 2026
  10. Vision: upplösning och tokenkostnadDokumentation för Claude Platform
  11. Metas Manus lanserar skrivbordsapp för att föra sin AI-agent till personliga enheter i OpenClaw-hypenCNBC · 18 mars 2026

Figurerna är illustrationer som gjorts för den här artikeln. XML-koden är riktig WordprocessingML; filnamn, personer och domen är fiktiva.

Prova det på ett dokument som du inte har råd att förstöra.

Prova gratis →