Niekde v zázname klienta, uprostred bežnej poznámky o bežnom telefonáte, je veta ako táto: “Rozpočet je teraz napätý, dohodli sme sa, že sa im ozveme o dva mesiace a preberieme to znova.”
Napísaná raz. Nikdy viac neprečítaná. Nie preto, že by niekto zabudol, že je to dôležité, ale preto, že na nej nič nevyzeralo ako úloha. Nebol to záznam v kalendári. Nebola to pripomienka. Bola to jednoducho veta, ktorá robila to, čo vety v poznámkach robia: sedela tam, technicky pravdivá, funkčne neviditeľná.
Chceli sme vedieť, či to systém dokáže zachytiť sám, bez toho, aby si niekto musel pamätať, že sa má vrátiť a ručne z vety urobiť úlohu.
Čo sme skutočne postavili, a čo zámerne nie
Inštinkt pri podobnej funkcii je nechať AI, aby to zvládla celé — prečítala poznámku, zistila dátum, rozhodla, že je po termíne, možno aj navrhla pripomienku. My sme to namiesto toho zámerne rozdelili.
Jedinou úlohou modelu je porozumenie jazyku: prečítať nedávne poznámky klienta a rozpoznať záväzok smerujúci do budúcnosti, niečo ako “o dva mesiace sa k tomu vrátime” alebo “ozveme sa po ich zasadnutí predstavenstva.” Jednoduchými slovami odhadne naznačené oneskorenie. To je všetko. Všetok skutočný výpočet dátumu — termín, či ho dnešok už prekročil — prebieha až potom, v bežnom, deterministickom kóde. Model nikdy nepočíta a nikdy neurobí konečné rozhodnutie o tom, čo je po termíne. On číta. Kód rozhoduje.
Toto rozdelenie je dôležitejšie, než znie. Porozumenie jazyku je presne ten druh vágnej, od kontextu závislej úlohy, v ktorej je model dobrý. Počítanie dátumov je presne ten druh úlohy, kde nechcete, aby model improvizoval, ani trochu.
Skutočný test
Neoverovali sme len to, či endpoint vráti niečo, čo vyzerá rozumne. Napísali sme skutočnú poznámku k skutočnému záznamu klienta: “…dohodli sme sa, že sa im ozveme o 2 mesiace a preberieme rozpočet znova.” Zavolali sme endpoint. Správne z nej vytiahol záväzok, vypočítal naznačené oneskorenie 60 dní a dospel k termínu presne 60 dní od skutočnej časovej pečiatky poznámky, správne označenému ako ešte nie po termíne.
Malé, a presne o to ide. Systém nepotreboval, aby mu niekto povedal, že je tam sľub, ktorý má nájsť. Prečítal vetu, ktorú si niekto napísal sám pre seba, nie pre formulár, a vytiahol z nej skutočný termín.
Časť, ktorú je ľahké prehliadnuť
Poznámky v Craft11 sa dajú len pridávať. Nikto ich needituje, nikto ich nemaže, ani Stark. Je to ten istý princíp, ktorý drží surovú stranu každého záznamu poctivou: to, čo ste skutočne napísali, zostáva presne tak, ako ste to napísali. Keď sme neskôr potrebovali testovaciu poznámku odstrániť, nebolo poruke žiadne tlačidlo zmazať, pretože žiadne byť nemá. Vyžadovalo si to priamy zásah do databázy, najprv potvrdený, hneď potom zrušený.
Pre nás je to počas testovania drobná nepríjemnosť. Je to zároveň presne ten dôvod, prečo je detekcia sľubov vôbec dôveryhodná: číta skutočné, nezmenené, neupravené ľudské písanie, nie jeho vyčistenú verziu.
Prečo sa to vôbec oplatí robiť
Nič z tohto nenahrádza správcu úloh. Nahrádza ten konkrétny, tichý spôsob zlyhania, kedy jediným záznamom sľubu je veta, ktorú už nikto nikdy neprečíta. Systém nepotrebuje, aby ste písali inak, štruktúrovali si poznámky alebo si pamätali, že máte niečo označiť. Potrebuje len, aby ste napísali, čo sa skutočne stalo, tak, ako by ste to napísali sami sebe, a on sa postará o to, aby si to všimol.