Hopp til innholdet

Om oss

Vi bygde et avtaleverktøy som nekter å gjette

DealPilot leser avtalene dine og regner ut når de må sies opp. Det som skiller oss er ikke at det går fort, men hva som skjer når modellen ikke er sikker: da sier den fra, i stedet for å fylle inn noe som ser riktig ut.

Vi lover ikke mer enn det som virker i dag. Sammenligning av tillegg, chat og integrasjoner er ikke bygget, og det står på de sidene det gjelder — ikke gjemt i en funksjonsliste.

Avtalen fornyet seg selv fordi oppsigelsesfristen sto på side 7

En rammeavtale på 14 sider. Punkt 12.1 sier at avtalen fornyes for tolv nye måneder om den ikke sies opp seks måneder før utløp. Setningen er verken skjult eller uklar — den er bare på side 7, i et dokument ingen leser om igjen etter at det er signert.

Datoen den setningen peker på står ingen steder. Den må regnes ut, av noen som husker at den finnes, i god tid før den passerer.

Det er hele problemet. Ikke at avtalene er uforståelige, men at det som betyr noe ligger spredt over sider og punkter, og at konsekvensen — «si opp innen denne datoen, ellers løper den ett år til» — aldri er skrevet ned noe sted.

DealPilot henter ut de feltene, regner ut datoen og varsler før den kommer. Alt annet på denne siden handler om hvordan vi gjør det uten å finne på noe underveis.

Fem regler vi ikke bøyer

De står i README-en i repoet og avgjør hva produktet har lov til å si. En språkmodell som gjetter godt er lett å lage. En som sier fra når den ikke vet, må bygges med vilje.

PDF-en er sannheten
Verdiene du ser i DealPilot er avledet informasjon. Står det noe annet i avtalen, er det avtalen som gjelder — derfor ligger dokumentet ved siden av opplysningene på avtalesiden, ikke bak en lenke du må lete etter.
Hvert funn har en kilde
Side og ordrett sitat følger opplysningen. Sitatet slås opp i teksten på den siden før det får stå, og finner vi det ikke igjen, senkes sikkerheten og funnet havner i bunken du må se på.
AI foreslår, du bekrefter
En avtale står i «gjennomgang» til et menneske har godkjent den. Ingen frist, ingen kalenderoppføring og ingen påminnelse blir til av noe modellen alene har ment.
Manglende slår oppdiktet
Finner vi ikke oppsigelsestiden, står det «Ikke funnet i avtalen». Ikke en tankestrek, ikke et kvalifisert gjett, og aldri et sitat vi ikke kunne peke på i dokumentet.
Datoene regnes ut i kode
Siste frist for oppsigelse, fristestatus og påminnelser beregnes av regler som er skrevet og testet én gang, ikke av en språkmodell. Samme avtale gir samme dato hver gang, og utregningen står skrevet ut under svaret.

Det koster noe. Du må gå gjennom avtalen første gang, og noen felter står tomme der et annet verktøy ville fylt inn en dato som ser plausibel ut. Det du får igjen er at du kan handle på datoen uten å åpne PDF-en for å kontrollere den først.

Vi skriver ned det vi forkastet, ikke bare det vi valgte

Flatene i produktet blir bygget som flere ekte prototyper på en egen rute før vi velger én. Valget havner i beslutningsloggen docs/DESIGN-DECISIONS.md sammen med alternativene som tapte, og grunnen til at de tapte. Det er derfor den samme diskusjonen ikke tas om igjen om tre uker.

Prototypene finner også feil vi allerede hadde sluppet. Merket som viser hvilken side et funn kommer fra, målte 32 × 17 piksler og byttet farge i stedet for å vise en fokusring. Et fargebytte er ikke en fokusindikator, og rettingen gikk rett i produksjon.

«Arbeidsbenk»
Tellere på hver menypost i sidefeltet. Forkastet fordi tallene må være riktige for å være til nytte, og et feil tall er verre enn ingen. Hentes fram igjen den dagen vi stoler på tellingene.
«Endringslogg»
Et tillegg til avtalen som egen seksjon øverst på avtalesiden. Forkastet fordi det ville sagt det samme to steder. Hvert faktum skal ha ett hjem, og kryssreferanser peker i stedet for å gjenta.
«Kø»
Gjennomgang som en strøm av ubehandlede felter med tastaturnavigasjon. Ikke avvist for alltid — lagt vekk til gjennomgang av lange avtaler blir en flaskehals.

Begynn med den avtalen du er mest usikker på

Last opp én PDF og se hva DealPilot finner. Tar under et minutt, og du trenger ikke legge inn kortnummer.

Opprett konto