Het bouwen van kennisgrafieken voor het hele kantoor om agents drastisch te versnellen
We hebben een agent voorzien van een kennisgrafiek (knowledge graph) van het hele kantoor om complexe vragen te kunnen stellen. De agent beantwoordde deze vragen net zo nauwkeurig, maar met:
- 73% minder tijd om te antwoorden
- 92% minder gelezen input-tokens
- 66% minder model-aanroepen
Het bouwen van de grafiek kostte bijna geen model-tokens. Algemene opstellingsregels lezen dossiergegevens zoals ze al geschreven zijn, en worden alleen aangevuld wanneer LLM-mapping vereist is.
De grafiek loopt van de dossiers en documenten van het kantoor naar individuele clausules, en strekt zich uit naar cliënten, de wetgeving waarop wordt vertrouwd, knowhow, e-mail, deadlines en tijdregistraties.
Hoe bouw je de grafiek eigenlijk?
Veel van de kennis van een kantoor bevindt zich in de hoofden van mensen, en zij hebben zelden tijd om dit in een grafiek te voeren. Een deel hiervan kan impliciet worden vastgelegd, uit correspondentie en uit de links tussen documenten. Hoeveel van de rest bereikbaar is, hangt af van de vraag of de data die een kantoor al registreert deze kennis codeert. In een dossier van een advocatenkantoor weten we bijvoorbeeld al precies wie de tegenpartij is en welke documenten van hen zijn.
We benaderen dit in vier niveaus:
- Is de kennis impliciet aanwezig in hoe de data al is gestructureerd?
- Kunnen regels deze kennis extraheren?
- Waar kan een taalmodel de verbindingen toevoegen die de regels niet kunnen, inclusief semantische verbindingen?
- Welke van die verbindingen zijn het meest waardevol, hoe kunnen ze goedkoper worden gemaakt, en welke algemene vorm van de grafiek werkt het beste?
Elk antwoord hangt af van het domein en elk vereist experimenten.
Het grootste deel van de grafiek bestaat al
De systemen van een kantoor bevatten al veel van de grafiek. Het praktijkbeheersysteem kent de cliënt van elke zaak, de tegenpartij, de partner en het team. Het handelsregister geeft de moedermaatschappij van elk bedrijf aan, en de tijdregistraties laten zien wie wat deed en of dit in rekening is gebracht. Door deze op één plek te laden, worden deze koppelingen expliciet en parseerbaar. Een eenvoudige zoekopdracht zal niet direct laten zien dat Meridian Grid Services bij de Halcyon Group hoort, maar een netwerkzoekopdracht wel. De documenten leveren de details die ten grondslag liggen aan deze markeringen.
Eerst regels, daarna een model voor wat ze missen
Regels zijn goedkoop, snel en voorspelbaar, en ze kunnen precies aangeven waarom ze iets hebben gevonden, maar ze missen alles waarvoor ze niet zijn geschreven. Een model kan alles lezen, maar kost geld voor elke zin en verzint soms dingen.
Daarom gaan de regels eerst. Wanneer een zin een teken vertoont van een feit dat ze niet konden lezen — zoals een maand zonder een parseerbare datum of een aansprakelijkheidslimiet zonder bedrag — gaat alleen die specifieke zin naar een klein model. Het model wordt uitsluitend gevraagd naar de velden van de grafiek, en het antwoord wordt opgeslagen, zodat een herbouw alleen betaald wordt voor nieuwe tekst.
Het proces van tekst naar grafiek:
- Documenttekst: Elke zin van elk document en elke gearchiveerde e-mail.
- Algemene opstellingsregels (0 tokens): Leest elk herkend feit: datums in de gebruikelijke formaten en hun doel, aansprakelijkheidslimieten in de gebruikelijke bewoordingen, rechtszaken en wetgeving, partijen, gedefinieerde termen en wijzigingen op basis van de datum van het gewijzigde document.
- Feiten die de regels lezen: Gaan direct in de grafiek.
- Tekenen die de regels niet konden lezen: Een maand maar geen parseerbare datum, een aansprakelijkheidslimiet zonder bedrag, een vonnis zonder naambaar gemaakte zaak, een wijziging zonder datum. Alleen deze zinnen gaan verder.
- Een klein model, zin voor zin (24k tokens · $0,047): Gebruik van
gpt-5.4-mini, 25 zinnen per aanroep, uitsluitend gevraagd naar de velden van de grafiek: de datum en het type, de limiet, de zaak, het gewijzigde document. Antwoorden worden opgeslagen.
In een test op een herziene kamer gingen 141 van de 8.939 zinnen naar het model (1,6%), wat $0,047 kostte. Het versturen van elke zin zou $1,29 hebben gekost.
Testresultaten: Verschillende methoden
Om dit te testen zonder dat onze eigen opstelling hielp, liet een ander model alle 245 documenten en vijf e-mails herschrijven in zes andere opstellingsstijlen. De grafiek werd op vier manieren gebouwd:
| Methode | Nieuw vonnis | Deadlines | Limieten (Caps) | Modelkosten |
|---|---|---|---|---|
| Regels geschreven voor onze documenten | 25% | 27% | 0% | $0 |
| Algemene regels | 96% | 83% | 89% | $0 |
| Algemene regels, daarna model voor de gaten | 100% | 85% | 100% | $0,047 |
| Model op elke zin | 100% | 93% | 80% | $1,29 |
F1-score van de antwoorden van de grafiek op drie vragen die afhangen van de tekst.
Het versturen van de 141 gemarkeerde zinnen (minder dan 2% van de zinnen) kostte minder dan 5 cent en bracht de nauwkeurigheid voor vonnissen en limieten naar 100%. Een model dat elke zin las, was 27 keer zo duur en overall niet beter. Het vond wel elke deadline, maar interpreteerde service credits van 15% van de maandelijkse kosten als aansprakelijkheidslimieten, en miste bij onze eigen opstelling vier deadlines die de regels wel vonden.
De missers van de hybride methode hebben duidelijke oorzaken. Twee deadlines staan in gerechtelijke bevelen in 'gescande-PDF-stijl', waarbij een regelafbreking "by 4pm" aan het einde van een korte genummerde regel liet staan. De regels zagen die regel aan voor een koptekst, waardoor de datum eronder geen context had, en een kale datum telde niet als een 'gat'.
Wat het kostte om te bouwen
De grafiek kan worden gebouwd uit twee soorten bronnen:
- Gewone JSON-bestanden: Registers van cliënten, zaken en urenschrijvers, met elk document als tekst. JSON is platformonafhankelijk.
- Een zaak-centrisch platform (zoals Lexifina): Legt dezelfde feiten vast terwijl mensen werken: zaakrecords, geüploade documenten, e-mails en de financiële administratie.
Opbouw vanuit JSON-exports:
- Registers (eenmalig geladen):
- Urenschrijvers: 20 personen (0,2 ms · 0 tokens)
- Handelsregister en cliënten: 113 bedrijven, 16 moeder-dochterkoppelingen (2,7 ms · 0 tokens)
- Wetbibliotheek: 18 autoriteiten, 4 links (volgt, past toe, wijkt af van, overweegt) (1,9 ms · 0 tokens)
- Knowhow: 4 items, 1 link naar een zaak, 1 link naar een precedent (2,1 ms · 0 tokens)
- Per elk van de 120 zaken:
- Zaakrecord: 120 zaken in 6 praktijkgebieden, 12 individuen, 120 cliëntlinks, 126 tegenpartijlinks, 281 partner- en teamlinks (5,0 ms · 0 tokens)
- Documenten: 245 documenten, 3.654 clausules, 288 partijlinks, 431 gedefinieerde termen, 183 links van clausule naar autoriteit, 7 links van clausule naar precedent, 89 deadlines/verloopdatums/gebeurtenissen, 37 aansprakelijkheidslimieten, 1 gewijzigde overeenkomst (983 ms · 0 tokens)
- E-mail: 1.459 e-mails, 5 gedateerde deadlines (378 ms · 0 tokens)
- Tijdregistratie: 120 registers, 281 links van urenschrijvers naar tijd (56 ms · 0 tokens)
- Supersessions: 1 'supersedes'-link (een long stop date verplaatst door een akte van wijziging) (0,2 ms · 0 tokens)
Totaal: De kantoorgrafiek bevat 6.333 knopen en 7.563 randen in zeven lagen. Gebouwd in ongeveer 1,6 seconden op een laptop, met 0 model-aanroepen en 0 tokens.
Vijf vragen, met en zonder de grafiek
Om te zien of de grafiek een agent helpt, stelden we hetzelfde model vijf vragen, zowel met als zonder de grafiek. Zonder grafiek kon de agent bestanden zoeken en lezen. Met de KG kon de agent ook zeven grafiek-tools aanroepen: zoeken, een knoop openen, controleren op belangenverstrengeling, traceren waar iets op vertrouwt, deadlines vinden, clausule-feiten vergelijken en totale tijd en facturatie berekenen.
| Vraag | Tijd (zonder $\to$ met) | Input tokens (zonder $\to$ met) | Tool calls (zonder $\to$ met) | Nauwkeurigheid (zonder $\to$ met) |
|---|---|---|---|---|
| Conflictcheck over twee corporate groepen | 84 s $\to$ 50 s | 158k $\to$ 42k | 29 $\to$ 13 | 100% $\to$ 100% |
| Nieuw vonnis: welk lopend werk vertrouwt op de oude zaak | 55 s $\to$ 29 s | 79k $\to$ 21k | 27 $\to$ 6 | 100% $\to$ 100% |
| Elke deadline in de volgende maand | 87 s $\to$ 26 s | 236k $\to$ 14k | 47 $\to$ 5 | 100% $\to$ 100% |
| Niet-gefactureerde tijd en afschrijvingen per cliënt | 203 s $\to$ 17 s | 787k $\to$ 13k | 67 $\to$ 29 | 4% $\to$ 100% |
| Aansprakelijkheidslimieten onder het playbook van het kantoor | 80 s $\to$ 17 s | 93k $\to$ 12k | 35 $\to$ 4 | 100% $\to$ 100% |
| Totaal alle vijf | 509 s $\to$ 139 s | 1.35M $\to$ 102k | 205 $\to$ 30 | 99% $\to$ 100% |
Bij de huidige listprijzen kostte een gemiddelde run ongeveer 17 cent zonder grafiek en ongeveer 2 cent met grafiek.
Zonder de grafiek beantwoordde de agent bijna elke vraag correct. Hij zocht verstandig, las het bedrijvenregister, volgde citaties en telde de registers bij elkaar op, maar het duurde ongeveer vier keer zo lang en verbruikte dertien keer zoveel tokens. Het enige nauwkeurigheidsverschil was de facturatievraag; de agent zonder grafiek moest tientallen tijdregistraties handmatig optellen en miste in één run een cliënt wiens niet-gefactureerde tijd net boven de drempel lag.
Wat dit niet laat zien
De geteste kamer test de opstellingsstijl, niet alles wat een echte dataroom bevat. In dit experiment herschreef een model de bewoordingen maar behield elk feit, en de documenten zijn schone tekst in plaats van scans met OCR-fouten, tabellen of wijzigingen in de bladwijzer. Rommelige tekst zou ervoor zorgen dat de agent zonder grafiek meer mist, waardoor het nauwkeurigheidsverschil in echte dossiers groter kan zijn dan we hier hebben gemeten.
Is het de moeite waard?
Een kennisgrafiek is geen eenmalige kostenpost. Elk nieuw of gewijzigd document moet opnieuw worden gelezen, en sommige zinnen gaan naar een model, dus de tokenkosten blijven bestaan zolang het kantoor werkt. Er zijn logistieke kosten in de software: een adapter voor elk systeem dat de grafiek leest, regels die onderhouden moeten worden, en een opslag en cache om te herbouwen wanneer de records wijzigen.
De vraag is of het opweegt tegen de kosten over meerdere jaren. In plaats van de grafiek als een nieuw paradigma te zien, stellen we twee simpelere vragen:
- Hoe kan onze agent het meeste halen uit de gestructureerde data die het kantoor al heeft?
- Welke structuur is er nog over die goedkoop genoeg en nuttig genoeg is om te creëren of te koppelen met een taalmodel?
Moeten we clausule-metadata berekenen?
Clausule-metadata kost voor deze kamer ongeveer $3,10 en vormt het grootste deel van de modeluitgaven op een zaak-centrisch platform. De grafiek leest dit standaard niet. We hebben onderzocht of dit zinvol is door de grafiek te bouwen op basis van metadata alleen, en op basis van regels aangevuld met metadata.
Resultaten vergelijking:
| Methode | Nieuw vonnis | Deadlines | Limieten (Caps) | Modelkosten |
|---|---|---|---|---|
| Algemene regels | 96% | 83% | 89% | $0 |
| Algemene regels, daarna model voor gaten | 100% | 85% | 100% | $0,047 |
| Alleen clausule-metadata | 88% | 67% | 0% | $3,15 |
| Algemene regels plus clausule-metadata | 100% | 92% | 89% | $3,15 |
Op zichzelf is clausule-metadata een slechte bron voor de grafiek. Het heeft geen veld voor het bedrag in een aansprakelijkheidslimiet, waardoor het geen van de tien limieten vond. Toegevoegd aan de regels deed het ongeveer net zo goed als de model-pass op de gaten. Het kostte echter $3,15 tegenover 5 cent.
Conclusie: we berekenen geen clausule-metadata specifiek voor de grafiek. Waar het al is berekend voor review en zoekopdrachten, kost het niets extra om het te mergen en ving het één deadline die de gap-pass miste. De betere oplossing hiervoor is echter een bredere flagging-regel, zodat ook een kale datum zonder context naar het model gaat.
Nevenapplicaties
De grafiek is het meest nuttig wanneer er iets verandert. Als het Hof van Beroep afwijkt van een eerdere beslissing, moet het kantoor weten welke lopende documenten op die eerdere beslissing vertrouwen.
Dit vertrouwen is zelden direct. Een clausule kan de eerdere zaak citeren, of een latere zaak citeren die de eerste volgt, of stellen dat het de eigen precedents van het kantoor volgt, waarbij de toelichting van het precedent op zijn beurt op de zaak vertrouwt. We markeren deze verbindingen als afhankelijkheden en lopen ze terug vanaf de zaak: via de zaken die deze volgen, via de knowhow die deze citeert en de clausules die die knowhow volgen, naar de clausules, hun documenten, hun dossiers en de verantwoordelijke partners.
Voor een vonnis dat afwijkt van een eerdere zaak, begint de loop ook bij die eerdere zaak, omdat dat de wet is waarop het werk van het kantoor was gebouwd.
Groetjes,