Ett enda pass missar krav systematiskt. En språkmodell som läser 200 sidor förfrågningsunderlag tröttnar på försäkringsklausuler och skummar slutet, hur mycket prompten än ber den låta bli. Fem repliker som förbjuds läsa likadant hittar det en ensam noggrann läsare inte gör.
Problemet
När vi började extrahera krav ur förfrågningsunderlag gjorde vi det uppenbara: en agent, ett pass, en prompt som bad om noggrannhet. Sedan jämförde vi resultatet med dokument som vårt eget team läst rad för rad, och missarna låg inte utspridda. De bildade ett mönster. Modellen tröttnar på försäkringsklausuler: efter den tionde registreras den elfte inte längre som information. Den skummar slutet: ett krav på någon av de sista tjugo sidorna fångas mindre säkert än samma krav tidigt i dokumentet.
Systematiska missar är värre än slumpmässiga. En modell som missade slumpmässigt vore lätt att åtgärda: kör två gånger, ta unionen, så täcker luckorna i stort sett varandra. En modell som missar samma sorts klausuler av samma skäl ger samma luckor varje gång. Att köra om den kostar dubbelt och ger nästan ingen ny täckning. Och ingen formulering av "var noggrann, läs varje klausul, hoppa inte över något" ändrade luckornas form. Vi provade fler varianter av den prompten än vi gärna erkänner.
Lösningen
Lösningen var strukturell. Vi kör fem repliker av samma extraktionsagent parallellt över samma text. Samma modell, samma indata, olika beteendedirektiv. En är paranoid: den ska flagga allt som över huvud taget kan binda anbudsgivaren och låta senare steg rensa bort bruset. En är inställd på täckning: en miss är dyr, en dubblett gratis. En läser materialet bakifrån, så att sidorna en framåtläsare når trött får den friskaste uppmärksamheten.
Direktiv räcker inte. Fem olika promptade repliker kan ändå ärva samma blinda fläck från dokumentets struktur, eftersom alla går igenom det i samma ordning. Därför får varje replik också sin egen väg genom texten: en slumpgenerator med fast frö kastar om ordningen på kravkategorierna för varje replik. Fröet gör körningarna reproducerbara. Omkastningen gör att inga två repliker bearbetar dokumentet likadant. Deras blinda fläckar slutar sammanfalla, för de tillåts inte göra det.
| Vad som varierar | Hur | Missen den täcker |
|---|---|---|
| Paranoiddirektivet | Överflaggar gränsfall | Krav förklädda till standardtext |
| Täckningsdirektivet | Föredrar dubbletter framför utelämnanden | Osäkra fynd som annars stryks |
| Baklängesläsning | Slutet får frisk uppmärksamhet | Trötthet i slutet av dokumentet |
| Omkastning med fast frö | Unik kategoriordning per replik | Blinda fläckar ur dokumentets struktur |
Sammanslagningen är en union med deduplicering, aldrig en omröstning. Hittar en av fem repliker ett krav som de andra fyra missar, får det stå kvar. Asymmetrin är hela poängen: en falsk positiv kostar granskaren några sekunder, en falsk negativ kan kosta anbudet.
Inget av detta rör modellens vikter. Allt sker vid inferens: samma modell, styrd åt fem håll. Ingen träning på någons dokument sker någonstans i den här historien.
Arkitekturen
Replikerna sitter i ett större träd. En granskning av ett förfrågningsunderlag förgrenar sig i tre lager: en klassificerare sorterar först den inkommande mängden i dokumenttyper, sedan bearbetas upp till 30 dokument samtidigt, tio bitar i taget per dokument, tre till fem repliker per bit. Veckor av läsning i följd blir ett brett träd av samtidiga pass, med en syntes i varje knutpunkt. Ingen replik väntar på någon annan.
Förgreningen är den enkla delen, gjord på en eftermiddag. Det svåra är sammanslagningen. Fem repliker beskriver samma klausul med fem formuleringar, förankrade på lite olika ställen, och de fem posterna måste slås ihop till ett krav med en källhänvisning. Två faktiskt olika krav tre rader från varandra måste överleva som två. Att få dedupliceringen att klara det första utan att någonsin göra det andra tog längre tid än allt annat i den här texten tillsammans.
Poängen
Vi återkommer ofta till en upphandling där alla anbudsgivare missade samma rad. Ingen var slarvig. De var erfarna ingenjörer som läste som erfarna ingenjörer läser, under samma tidspress, med samma förväntningar om var de viktiga klausulerna brukar stå. Just därför missade alla samma rad. Mänsklig granskning är stickprov, och stickprovsvanorna delas av en hel yrkeskår.
Man kan inte anställa fem ingenjörer och tilldela en av dem paranoia. Människors läsvanor konvergerar; det är vad det innebär att skolas in i ett yrke. En maskins vanor behöver inte göra det. Vi kan beordra en replik att misstro standardtext, en annan att läsa baklänges och en tredje att sätta täckning före elegans, och de lyder varje gång. Unionen av fem framtvingade perspektiv har en egenskap ingen enskild läsare kan erbjuda, mänsklig eller maskinell: dess blinda fläckar är bortkonstruerade, inte bortönskade.
Den här sortens granskning, flera läsare som fångar det ett enda pass missar, är en av sakerna Yesper gör i skarpt arbete. Vill du se det hör du av dig.
Boka demoRelaterat