Achter de editor

Waarom is zo goed in het bewerken van documenten?

Een taalmodel kan een prima zin schrijven, maar deze inclusief opmaak terugplaatsen is een heel andere taak. We leggen uit waarom het zo moeilijk is geweest om AI een document te laten bewerken, en wat we hebben gebouwd om dat op te lossen.

9 min lezen3 oktober 2026

Overzicht

Vraag een chatbot om een clausule in een Word-bestand te corrigeren en u vraagt hem om twee taken tegelijk uit te voeren: de woorden wijzigen en de bestandsindeling herschrijven waarin ze zijn opgeslagen. Taalmodellen zijn goed in de eerste taak en onbetrouwbaar in de tweede.

neemt de tweede taak over van het model. Dit artikel legt uit waarom dat belangrijk is, hoe het werkt bij lange documenten en hoe het zich verhoudt tot chatwebsites en computer-use-agents.

  1. 01Een taalmodel leest een document als markup, niet als een pagina.
  2. 02Eén verkeerd teken kan een bestand onleesbaar maken, en lange uitvoer maakt de kans op verkeerde tekens groot.
  3. 03 scheidt inhoud van opmaak: het model bewerkt woorden, onze code schrijft het bestand.
  4. 04Lange documenten worden in batches verdeeld, gesplitst en voorzien van context, zoals moderne programmeeragenten doen.
  5. 05Chatwebsites kunnen bestanden bewerken met Python, maar wijzigingen kunnen geruisloos verdwijnen.
  6. 06Computer-use-agents bewerken als een mens, tegen een vele malen hogere prijs.

01

LLM ziet alleen tekst, geen opmaak

Open een contract in Word en u ziet een pagina: een kop in de huisstijl, een vetgedrukt bedrag, een onderstreepte deadline. Het Word-programma creëert deze opmaak, zodat we visueel kunnen bewerken. Onder een Word-bestand (.docx) schuilt een complex systeem van XML, waarin elk woord dat we zien pijnlijk nauwkeurig is voorzien van verborgen woorden die bekend staan als markup.12

Wat je ziet

Wat het model ziet

<w:p>  <w:pPr><w:pStyle w:val="Heading2"/></w:pPr>  <w:r><w:t>4. Huur</w:t></w:r></w:p><w:p>  <w:pPr><w:jc w:val="both"/></w:pPr>  <w:r><w:t xml:space="preserve">De huurder betaalt </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"> op </w:t></w:r>  <w:r><w:rPr><w:i/><w:u w:val="single"/></w:rPr><w:t>de eerste dag van elke maand</w:t></w:r>  <w:r><w:t>.</w:t></w:r></w:p>
Figuur 1Dezelfde clausule twee keer. De woorden beslaan 67 tekens; de XML eromheen beslaat 456. Fragment van word/document.xml.

Een taalgrootmodel (LLM) krijgt geen hulp van Microsoft Word, LibreOffice of Pages en moet vertrouwen op zijn eigen begrip van de opmaakcodes. Om correct te bewerken moet een LLM het effect van de originele opmaak begrijpen en de nieuwe zin schrijven in de juiste opmaak.

02

LLM-output is van nature onstabiel

Modellen zijn misschien aanzienlijk verbeterd, maar zelfs de nieuwste maken nog steeds fouten. In een Microsoft Research-studie uit 2026 naar 19 modellen in 52 professionele domeinen, beschadigden grensverleggende modellen zoals Gemini 3.1 Pro, Claude 4.6 Opus en GPT 5.4 gemiddeld 25% van de documentinhoud tegen het einde van lange bewerkingsworkflows.4

In een Word-bestand is één kleine fout al genoeg om een bestand onbruikbaar te maken. Hier heeft het model een enkele schuine streep weggelaten:

<w:p>  <w:pPr><w:jc w:val="both"/></w:pPr>  <w:r><w:t xml:space="preserve">De huurder betaalt </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"> op </w:t></w:r>  <w:r><w:rPr><w:i/><w:u w:val="single"/></w:rPr><w:t>de eerste dag van elke maand</w:t></w:r>  <w:r><w:t>.</w:t></w:r></w:p>
Figuur 2Eén ontbrekende slash laat de vetgedrukte tag open. De XML is niet langer goed gevormd en Word opent het bestand niet normaal.3

XML tolereert geen foutieve markup. Een bestand is ofwel goed gevormd of niet. Word kan een beschadigd bestand soms herstellen, maar in de herstelde kopie ontbreken mogelijk tekst of opmaak.

Langere output, meer fouten

Het risico neemt toe met de lengte. LongProc, een benchmark uit 2025 voor lange gestructureerde uitvoer, toonde aan dat open-weight-modellen haperen bij 2.000 uitvoertokens en GPT-4o significant degradeert bij 8.000.5 Uit een andere studie bleek dat de prestaties met 13,9% tot 85% dalen naarmate de invoer groeit, zelfs wanneer het model elk relevant feit kan ophalen.6 Een Word-document van 10 pagina's telt ongeveer 10.000 tokens; proberen om alle 10 pagina's tegelijk foutloos te bewerken is vrijwel onmogelijk.

<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 treedt op voor de Verhuurder in alle aangelegenheden die voortvloeien uit deze Huurovereenkomst.</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"> De Huurder zal het Gehuurde in goede en deugdelijke staat van onderhoud en herstel houden.</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"> Elke kennisgeving moet schriftelijk worden gedaan en worden bezorgd op het adres vermeld in Bijlage 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"> De Verhuurder kan deze Huurovereenkomst b4
  1. 1Een los staand ampersandteken in de tekst. XML vereist dat dit wordt geëscaped als een entiteit.
  2. 2Een ontbrekend sluitend aanhalingsteken. Alles daarna wordt gelezen als onderdeel van de waarde.
  3. 3Een run die nooit wordt gesloten voordat de alinea eindigt.
  4. 4De uitvoer stopt simpelweg. Lange generaties kunnen tegen een lengtelimiet aanlopen of halverwege een tag een tijdsoverschrijding geven.
Figuur 3Vier clausules met modeloutput, vier soorten fouten. Elk afzonderlijk maakt het bestand onleesbaar.

03

Hoe dit oplost

Wij schrijven maatwerkprogramma's die opmaak en inhoud scheiden. Het model ontvangt de te wijzigen woorden, samen met een gerenderde afbeelding van de pagina, zodat het de ondersteuning krijgt van een Word-programma. Onze code plaatst de bewerkte woorden vervolgens terug in de originele tekstblokken en laat de rest van het bestand ongemoeid.

Uw bestand

<w:p>  <w:pPr><w:jc w:val="both"/></w:pPr>  <w:r><w:t xml:space="preserve">De huurder betaalt </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"> op </w:t></w:r>  <w:r><w:rPr><w:i/><w:u w:val="single"/></w:rPr><w:t>de eerste dag van elke maand</w:t></w:r>  <w:r><w:t>.</w:t></w:r></w:p>

scheidt inhoud van opmaak

Geëxtraheerde inhoud

De huurder betaalt US$2,400 op de eerste dag van elke maand.

Weergegeven pagina

Beide gaan naar het model

TaalmodelBewerkt woorden. Raakt XML nooit aan.

Het model retourneert bewerkte inhoud

Modeloutput

De huurder betaalt US$2,400US$2,600 op de eerste dag van elke maandde vijfde dag van elke maand.

schrijft de woorden terug in de originele tekstreeksen

Uw bestand, bewerkt

<w:p>  <w:pPr><w:jc w:val="both"/></w:pPr>  <w:r><w:t xml:space="preserve">De huurder betaalt </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"> op </w:t></w:r>  <w:r><w:rPr><w:i/><w:u w:val="single"/></w:rPr><w:t>de vijfde dag van elke maand</w:t></w:r>  <w:r><w:t>.</w:t></w:r></w:p>

✓ Geldige .docx. Vet, kleur en onderstreping zijn precies zoals ze waren.

Figuur 4De bewerkingspipeline, vereenvoudigd. Gemarkeerde tekst is het enige deel van het bestand dat is gewijzigd.

Dit lost beide problemen tegelijk op. Het model ziet nu de opmaak die het eerder niet kon zien, en het schrijft niet langer de markup die het het waarschijnlijkst zou beschadigen.

Deze laag zult u niet vinden in een chatbot voor algemeen gebruik. De programma's voor extractie, weergave en hermontage zijn gebouwd en worden onderhouden door de eigen ingenieurs van .

04

Het probleem van de lange context oplossen

Sommige bewerkingen zijn lang: een alinea die over meerdere pagina's doorloopt, of één wijziging die consistent over honderden pagina's wordt toegepast. Hiervoor hebben we geleerd van software-engineering. In maart 2026 publiceerde Anthropic per ongeluk de broncode van Claude Code, zijn AI-programmeeragent, in een openbaar npm-pakket.7

Die uitgelekte code-editor leert ons een eenvoudige les: om iets lang te bewerken, moet je het opbreken. We splitsen een document op in groepen pagina's, een techniek die batching wordt genoemd, en splitsen lange alinea's op in zinnen, zodat elke bewerking klein genoeg is om goed te doen.

Het opsplitsen van een document creëert een nieuw probleem: context. Hoe bewerkt u een alinea op pagina 60 met behulp van een definitie op pagina 2? Hier werpen twee jaar ervaring met AI-code-editors (Cursor, GitHub Copilot, OpenAI Codex) hun vruchten af. Hun antwoord is context-engineering, wat gerelateerde informatie verzamelt in een gerichte verzameling en deze doorgeeft aan subagenten met schone contextvensters.8 We doen hetzelfde met documenten. We groeperen logisch gerelateerde informatie, zoals een zorgvuldige lezer zou doen, en sturen deze samen met het bewerkingsdoel naar subredacteurs die de daadwerkelijke wijziging aanbrengen.

1Het document in batches verwerken

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

2Lange alinea's opsplitsen

Clausule 18.3 · p. 60
Zin 1Zin 2Zin 3Zin 4Zin 5

3Context verzamelen en vervolgens parallel bewerken

Gedefinieerde begrippenpp. 2–12

Partijen en rollenp. 1

Eerdere wijzigingenp. 34

Subredacteur 1pp. 1–40 + verzameling

Subredacteur 2pp. 41–80 + verzameling

Subredacteur 3pp. 81–120 + verzameling

Figuur 5Een document van 300 pagina's, opgesplitst. Elke subredacteur krijgt een klein stukje van het document plus de context waarvan dat stukje afhankelijk is.

Voorbeeld: het zwartlakken van een vonnis

Een advocaat wil dat elke getuigennaam in een vonnis wordt zwartgelakt, en een lijst van de aangehaalde zaken voor een junior om te onderzoeken.

  1. Zoeken. vindt elke persoonsnaam en elke verwijzing naar een rechtszaak met behulp van standaard patroonmatching. Er is nog geen model voor nodig.
  2. Classificeren. Elke naam gaat samen met de omliggende zin naar een model dat beslist: getuige, advocaat of rechter. De antwoorden vormen een verzameling getuigen.
  3. Verzamelen. Dezelfde methode bouwt een verzameling aangehaalde zaken op.
  4. Handelen. Omdat we precies weten waar de naam van elke getuige is gevonden, lakken we die plaatsen, en alleen die, zwart in het originele bestand.

IN DE HIGH COURT OF JUSTICE

KING'S BENCH DIVISION

Harrow v Kestrel Logistics Ltd

Voor: Mrs Justice Holloway

VONNIS

Mrs Justice Holloway: Deze vordering komt voort uit het instorten van een laadperron in het magazijn van de Gedaagde op 14 maart 2024. De Eiser werd vertegenwoordigd door Ms Priya Raman en de Gedaagde door Mr Thomas Whitby. Ik heb mondeling bewijs gehoord gedurende vier dagen.

De belangrijkste ooggetuige, Mr Daniel Okafor, was vorkheftruckchauffeur tijdens de nachtdienst. Mr Okafor verklaarde tegenover de rechtbank dat de waarschuwingslampen op het laadperron al enkele weken defect waren en dat hij dit tweemaal had gemeld. Een tweede getuige, Ms Margaret Ellison, een aannemer die het perron in februari inspecteerde, bevestigde dat in haar rapport werd geadviseerd tot onmiddellijke reparatie. Ik vond beide getuigen zorgvuldig en geloofwaardig.

De zorgplicht van een bezitter of gebruiker van een terrein jegens personen die zich daar rechtmatig bevinden is goed gevestigd, en ik neem het nabuurschapsbeginsel in Donoghue v Stevenson [1932] AC 562 als uitgangspunt. Of het eerlijk, rechtvaardig en redelijk is om in nieuwe omstandigheden een zorgplicht op te leggen, wordt beheerst door Caparo Industries plc v Dickman [1990] 2 AC 605, maar deze omstandigheden zijn niet nieuw. Mr Whitby stelde dat de geclaimde verliezen te ver verwijderd waren. Die stelling moet worden getoetst aan Hadley v Baxendale (1854) 9 Exch 341.

Na overweging van het bewijsmateriaal van Mr Okafor en Ms Ellison naast de documenten, ben ik ervan overtuigd dat de Gedaagde op de hoogte was van het gebrek en heeft nagelaten actie te ondernemen. De vordering wordt toegewezen wat betreft de aansprakelijkheid. De schadevergoeding zal worden vastgesteld tijdens een latere zitting. Ik ben Ms Raman en Mr Whitby erkentelijk voor hun duidelijke en gerichte pleidooien.

Figuur 6Schakel van weergave om het resultaat te bekijken. Het vonnis en de namen zijn fictief; de drie aangehaalde zaken zijn echt.

05

Kunnen chatgpt.com, claude.ai en andere chatwebsites hetzelfde doen?

Soms wel. Deze websites bevatten vaak een Python-interpreter, waarmee het model een Word- of PowerPoint-bestand kan openen en de bijbehorende XML met code kan bewerken.

Maar de code wordt nog steeds geschreven door een instabiel model en niets controleert het resultaat tegenover het origineel. Bij onze interne tests kregen we vaak documenten terug met onverwachte verwijderingen en bewerkingen. In één extreem geval kwam een document van 20 pagina's terug als 10 pagina's, zonder waarschuwing.

Chatwebsite met Python

20 pagina's
10 pagina's

Klaar! Ik heb uw document bijgewerkt met de gevraagde wijzigingen.

Geen vermelding van de 10 ontbrekende pagina's.

Wijzigingslogboek van

  • p. 4 · Clausule 2.1

    dertig (30) dagen zestig (60) dagen

    Ongedaan maken
  • p. 9 · Clausule 6.3

    de Leverancier de Aannemer

    Ongedaan maken
  • p. 17 · Bijlage 1

    US$2,400 US$2,600

    Ongedaan maken

Nieuw document genereren

Figuur 7Links: een stille afkapping uit onze interne tests. Rechts: elke AI-wijziging op OneTurn wordt weergegeven en kan ongedaan worden gemaakt.

Een stille weglating of wijziging is fataal voor elk serieus werk. Op wordt elke wijziging die onze AI-agent aanbrengt vastgelegd. U kunt elke wijziging controleren, eventueel terugdraaien en een nieuw document genereren.

06

Kunnen computer-use agents zoals OpenClaw of Manus dit doen?

Deze agenten bedienen een computer op dezelfde manier als een mens. Ze openen het document in Microsoft Word of PowerPoint en scrollen, klikken en typen vervolgens.11 Omdat ze dezelfde programma's gebruiken als een mens, kunnen ze bewerken als een mens en zijn de resultaten vaak indrukwekkend.

De prijs is kosten en snelheid. De agent leest een document door tijdens het scrollen schermafbeeldingen te maken, en elke kleine stap vereist een modeloproep om te beslissen wat er nu moet gebeuren. Een Full HD-schermafbeelding kost uit zichzelf zo'n 1.500 tot 2.700 tokens.10 Op de OSWorld-benchmark hadden zelfs de beste agenten 2,7 tot 4,3 keer meer stappen nodig dan noodzakelijk, en namen latere stappen tot 3 keer meer tijd in beslag dan vroege stappen.9

Computer-use-agent

  1. Een schermafbeelding maken
  2. Model bepaalt de volgende actie
  3. Scrollen, klikken of typen
  4. Herhalen voor elke stap

  1. De tekst één keer lezen
  2. Bewerken in batches
  3. Het bestand schrijven
20 pagina's contract, 30 wijzigingenComputer-use-agent
Modelaanroepen≈ 180≈ 12
Tokens per aanroep≈ 10,000≈ 4,000
Totaal aantal tokens≈ 1,800,000≈ 48,000
Verschil≈ 37× meer, of ≈ 100–160× met de extra stappen gemeten op OSWorld
Figuur 8Aannames: ongeveer 11.000 woorden; 60 screenshots om het document te lezen; 4 acties per bewerking; elke aanroep bevat een screenshot plus recente geschiedenis. OneTurn leest de tekst één keer en verzendt bewerkingen in batches.

Naar onze schatting kan een computer-use-agent tot 100 keer meer LLM-tokens gebruiken dan voor dezelfde bewerkingen, en het duurt aanzienlijk langer om te voltooien.

Bronnen

  1. Structuur van een WordprocessingML-documentMicrosoft Learn · Documentatie voor Open XML SDK
  2. ECMA-376: bestandsformaten voor Office Open XMLEcma International · standaard
  3. Een tekstverwerkingsdocument validerenMicrosoft Learn · Documentatie voor Open XML SDK
  4. LLM's beschadigen uw documenten als u taken delegeertLaban, Schnabel en Neville · Microsoft Research · 2026
  5. LongProc: Taalmodellen met lange context benchmarken voor lange procedurele generatieYe et al. · COLM 2025
  6. Alleen de contextlengte schaadt de prestaties van LLM's ondanks perfecte ophalenDu et al. · Bevindingen van EMNLP 2025
  7. Anthropic exposeert per ongeluk broncode van Claude Code via npm-sourcemapbestandInfoQ · 7 april 2026
  8. Effectieve contextengineering voor AI-agentenAnthropic Engineering · 29 september 2025
  9. OSWorld-Human: Het meten van de efficiëntie van computer-use-agentsAbhyankar, Qi en Zhang · MLSys 2026
  10. Visie: resolutie en tokencostenClaude Platform-documentatie
  11. Meta's Manus lanceert desktop-app om zijn AI-agent naar persoonlijke apparaten te brengen te midden van de OpenClaw-hypeCNBC · 18 maart 2026

Figuren zijn illustraties die voor dit artikel zijn gemaakt. De XML is echte WordprocessingML; bestandsnamen, personen en het vonnis zijn fictief.

Probeer het uit op een document dat u zich niet kunt veroorloven te beschadigen.

Probeer gratis →