Nekje v zapisu stranke, sredi navadnega zapiska o navadnem klicu, je stavek, kot je ta: “Proračun je trenutno tesen, dogovorjeno je, da se jim oglasimo čez dva meseca, da stvar ponovno pregledamo.”
Napisan enkrat. Nikoli več pogledan. Ne zato, ker bi kdo pozabil, da je pomemben, ampak zato, ker ni bil videti kot naloga. Ni bil vnos v koledarju. Ni bil opomnik. Bil je samo stavek, ki je počel to, kar stavki v zapiskih počnejo: obsedel tam, tehnično resničen, funkcionalno neviden.
Zanimalo nas je, ali sistem to lahko ujame sam, ne da bi se moral kdo spomniti, da se vrne in stavek ročno spremeni v nalogo.
Kaj smo dejansko zgradili in kaj namerno nismo
Instinkt pri taki funkciji je pustiti, da AI opravi celotno stvar — prebere zapisek, ugotovi datum, odloči, da je zamujen, morda celo skicira opomnik. Namesto tega smo to namerno razdelili.
Edina naloga modela je razumevanje jezika: prebrati nedavne zapiske stranke in prepoznati v prihodnost usmerjeno obljubo, nekaj kot “čez dva meseca bomo stvar ponovno pregledali” ali “oglasimo se po njihovi seji uprave.” Oceni namigovani zamik s preprostimi besedami. To je vse. Vsak dejanski izračun datuma — rok, ali je danes ta rok že mimo — se zgodi kasneje, v navadni, deterministični kodi. Model nikoli ne računa in nikoli ne sprejme končne odločitve o tem, kaj je zamujeno. On bere. Koda odloča.
Ta delitev je pomembnejša, kot se zdi. Razumevanje jezika je natanko tista vrsta nejasne, od konteksta odvisne naloge, v kateri je model dober. Računanje datumov pa natanko tista vrsta naloge, kjer ne želite, da model improvizira, niti malo.
Dejanski test
Nismo samo preverili, ali endpoint vrne nekaj, kar je videti smiselno. Napisali smo pravi zapisek na pravem zapisu stranke: “…dogovorjeno je, da se jim oglasimo čez 2 meseca, da ponovno pregledamo proračun.” Poklicali smo endpoint. Pravilno je izluščil obljubo, izračunal namigovani zamik 60 dni in prišel do roka natanko 60 dni od dejanskega časovnega žiga zapiska, pravilno označenega kot še ne zamujen.
Majhno, in prav to je bistvo. Sistemu ni bilo treba povedati, da obstaja obljuba, ki jo je treba najti. Prebral je stavek, ki ga je oseba napisala zase, ne za obrazec, in iz njega izluščil pravi rok.
Del, ki ga je lahko spregledati
Zapiski v Craft11 se lahko samo dodajajo. Nihče jih ne ureja, nihče jih ne briše, niti Stark ne. To je isto načelo, ki ohranja poštenost surove strani vsakega zapisa: kar ste dejansko napisali, ostane natanko tako, kot ste napisali. Ko smo kasneje morali odstraniti testni zapisek, ni bilo gumba za brisanje, po katerem bi lahko posegli, ker ga po zasnovi ne bi smelo biti. Potreboval je neposredno operacijo na bazi podatkov, najprej potrjeno, nato takoj izvedeno.
To je za nas med testiranjem manjša nevšečnost. Iz istega razloga je funkcija zaznavanja obljub sploh zaupanja vredna: bere pravo, nespremenjeno, neočiščeno človeško pisanje, ne njegove sanirane različice.
Zakaj se to sploh splača
Nič od tega ne nadomesti upravitelja nalog. Nadomesti specifičen, tih način, kako stvari spodletijo — ko je edini zapis obljube stavek, ki ga nihče ne bo ponovno prebral. Sistem ne potrebuje, da pišete drugače, strukturirate zapiske ali se spomnite, da kaj označite. Potrebuje le, da zapišete, kaj se je dejansko zgodilo, tako kot bi zapisali sami sebi, in on poskrbi za opažanje.