Posnetki sestankov so premalo izkoriščen vir znanja. Težko jih je preiskovati, ponovni ogledi vzamejo veliko časa, poleg tega pa so razpršeni po diskih posameznih ekip, zato dragocena spoznanja pogosto ostanejo neopažena.
Tričlanska ekipa je na enodnevnem hekatonu izdelala Callombio. Gre za interno platformo, ki posnete klice samodejno prepiše, označi, povzame in razreže na izseke ter jih shrani v preiskljiv repozitorij po vzoru YouTuba, dostopen vsem našim pisarnam po svetu.
Rešitev, v celoti izdelana s Codexom, uporablja semantično iskanje, ki ga poganjajo vložitve OpenAI in kosinusna podobnost, zato najde ustrezne trenutke, tudi če niso uporabljene povsem enake ključne besede. Dopolnjujeta jo klepetalni bot RAG in sistem obvestil.
Kar bi nekoč trajalo več tednov, smo dokončali v sedmih urah. Tako smo pokazali, da lahko razvoj, ki že v osnovi temelji na UI in uporablja agente za programiranje, kot je Codex, močno skrajša življenjski cikel razvoja izdelka ter internim hekatonom omogoči ustvarjanje resnične poslovne vrednosti.
Če ste mi podobni, imate le redko dovolj časa (ali zbranosti), da bi znova poslušali posnete sestanke. Pogosto zato, ker je treba brskati po neurejenih diskih ekip, preskakovati neposrečene vljudnostne pogovore in skušati zares poslušati, medtem ko odgovarjamo na e-pošto in sporočila.
Toda morda ni treba, da je tako? Kaj če bi izdelali nekaj, kar bi povsem spremenilo način uporabe posnetih sestankov? To je bila zamisel našega nedavnega hekatonskega projekta.
V enem samem dnevu se je 50 sodelavcev iz ekip za inženiring, izvedbo in operacije lotilo številnih izzivov iz različnih delov podjetja: od širitve kadrovskih postopkov in poenostavitve priprave SoW do spremljanja stanja projektov, sprotnega izdelovanja prototipov ter odkrivanja spoznanj v posnetkih sestankov.
Na tem hekatonu, ki je temeljil na Codexu, smo izdelali Callombio. Callombia je YouTube našega podjetja, ki vsak klic spremeni v živ in preiskljiv vir znanja. Vsak klic se samodejno prepiše, označi in povzame, nato pa razreže na tematske izseke ter doda v repozitorij, razvrščen po kanalih (strankah) in temah (področjih specializacije za UI). Tako lahko vsak član ekipe iz Londona, Edinburga, Singapurja ali Avstralije takoj dostopa do tistih delov klicev, ki ga zanimajo.
Znani uporabniški vmesnik, skladen z našo blagovno znamko, omogoča intuitivno odkrivanje vsebine, semantično iskanje in seveda klepetalni bot RAG z UI pa pomagata poiskati natanko tisto, kar uporabnika zanima. Sistem obvestil sodelavcem omogoča tudi naročanje na izbrane teme, da prejmejo obvestilo ob objavi novih izsekov, ki so zanje pomembni.
Toda pri Callombii ni najbolj navdušujoč izdelek niti nagrada v višini 2.000 £ za zmago na hekatonu (če se malo pohvalimo), temveč dejstvo, da smo vse to v samo sedmih urah izdelali z dvema inženirjema in vodjo izvedbe. Pred enim letom to še ni bilo mogoče. Izboljšave agentov za programiranje so močno pospešile celoten proces razvoja izdelkov, ta hekaton pa je bil odličen poligon za raziskovanje meja njihovih neenakomernih zmogljivosti. Kako smo torej uporabili Codex?
Namesto da bi preprosto zapisali kopico zahtev, smo najprej v pozivu predstavili skupen pogled na problem in vizijo Callombie. Namenoma smo ostali nedoločni, da bi delo prepustili modelu in mu omogočili ustvarjalno razmišljanje:
Po desetih minutah izmenjave smo vklopili način Plan Mode, da bi natančneje opredelili zahteve in začrtali tehnični del izdelave. Uporaba načina Plan Mode je podobna odgovarjanju na vprašanja tistega nadležnega prijatelja, ki je (na srečo) premislil o vseh mogočih scenarijih. Ko smo se dogovorili o številu videoposnetkov, semantičnem iskanju ali iskanju po ključnih besedah ter uporabljeni arhitekturi, je ustvaril datoteko Markdown, ki je postala temelj nadaljnjega projekta.


Ko smo imeli načrt, je sledila izdelava ključnih komponent, ki bi Callombii omogočile dejansko delovanje. To je pomenilo vzpostavitev cevovoda od posnetih klicev do preiskljivih virov:
zajem videoposnetkov in prepisov,
razdelitev na smiselne trenutke,
obogatitev s povzetki in oznakami,
omogočanje dostopa prek API-jev, ki jih lahko uporablja čelni del.
Ed se je osredotočil predvsem na pretvorbo neobdelanih posnetkov in podatkov prepisov v uporabno obliko, Nico pa na plast za pridobivanje podatkov, s katero bi bilo te trenutke mogoče najti. S Codexom sta lahko podatkovne modele, skripte za izvlečenje in zaledno infrastrukturo vzpostavila veliko hitreje, kot bi jih ročno. Tako smo dobili veliko več kot le prepis, priložen videoposnetku. Dobili smo trenutke: del o Tescu, novosti o strategiji, razpravo o zaposlovanju ali točno določenih 90 sekund klica, ki si jih nekdo res želi ogledati.
Prav plast za pridobivanje podatkov je postala še posebej zanimiva. Želeli smo, da bi uporabnik vnesel nekaj, kot je »financial performance«, »Tesco roadmap« ali »conversation evals«, in bil preusmerjen na najustreznejše izseke, tudi če te besede niso bile nikoli dobesedno izrečene. Zato smo ustvarili segmente s časovnimi oznakami, povzetki, besedilom prepisa in metapodatki. Z jasno arhitekturo v mislih in veliko Codexove pomoči smo temo, povzetek in prepis združili v en vhod ter z modelom OpenAI text-embedding-3-small ustvarili vložitve za vsak segment. Vložitve smo shranili v zbirko podatkov in s kosinusno podobnostjo primerjali uporabnikovo poizvedbo z vsakim segmentom. Tako smo namesto preprostega iskanja po ključnih besedah dobili semantično plast za pridobivanje podatkov.
Rešitev je bila izjemno natančna in je izdelku med hekatonsko predstavitvijo vdihnila občutek »čarobnosti«. Hkrati smo vedeli, da ta pristop ob nadaljnjem naraščanju števila videoposnetkov ne bo deloval v nedogled, saj bi primerjanje vsake poizvedbe z vsakim segmentom sčasoma postalo predrago. Naslednji logični korak bi bila uvedba učinkovitejših strategij pridobivanja podatkov, kot je Hierarchical Navigable Small World, da bi zmanjšali število primerjav in ob širjenju korpusa ohranili nizko zakasnitev. Ko je ta funkcija začela delovati, je Callombia postajala manj podobna medijski knjižnici in bolj sistemu znanja.
Kot na vsakem dobrem hekatonu je bilo treba tudi ta del izpopolnjevati: prve meje segmentov so bile pregrobe, nekatere časovne oznake je bilo treba natančneje določiti, nekatere oznake so bile preširoke, datoteke prepisov in posnetkov pa se niso vedno lepo ujemale. Toda prav tu se je pokazala vrednost. Codex nam je omogočil hitro izpopolnjevanje sistema, ne da bi obtičali pri nastavitvah in predelavah. Na koncu smo imeli zaledje, ki je podpiralo izseke, kratke odlomke in resnično uporabno semantično iskanje. Takrat je Callombia začela delovati kot pravi izdelek, ne le kot hekatonska predstavitev.
Medtem ko sta Ed in Nico izdelovala zajem podatkov in inteligentno plast, sem jaz izdelal čelni del. Z našo predlogo za celoten tehnološki sklad sem lahko hitro vzpostavil prvo različico spletnega mesta, ne da bi napisal eno samo vrstico kode. Ko sem ga prosil, naj spletno mesto lokalno odpre v brskalniku, sem mu podajal preproste povratne informacije v alinejah in postopoma prilagajal zasnovo svojim željam.
Po približno uri izmenjave sem imel rešitev, s katero sem bil precej zadovoljen, čeprav nisem imel nobenih izkušenj z uporabniškimi vmesniki ali oblikovanjem. Čeprav končni izdelek vsekakor ni popoln, je zelo dobra prva različica, ki ljudem omogoča razumeti izdelek.


Da bi ob koncu dneva zagotovo imeli kaj pokazati, smo si delo razdelili. Po nekaj urah delno samostojnega dela smo seveda vsi imeli svoje lokalne veje s kopico sporov.
Namesto da bi čas, ki ga nismo imeli, porabili za skrbno pregledovanje in razreševanje sporov, smo Codexu prepustili proste roke v repozitorijih, da jih odpravi sam. Čeprav tega trenutno ne bi priporočali za razvoj programske opreme na ravni velikih podjetij, je bilo neverjetno videti, kako učinkovito je v okolju z majhnim tveganjem, poleg tega pa nam je prihranilo več ur.
Zadnji del hekatona je bilo snemanje predstavitve Callombie za žirijo. Po občutku bi za snemanje najraje odprli Loom, vendar smo pomislili, da bi bilo to lahko pravo preizkušanje Codexa in naloga nekoliko zunaj njegovih trenutnih zmožnosti. Zato smo … napisali poziv, mu posredovali povezavo do spletnega mesta Callombia, dodali posnetek mojega glasu na razvijalski platformi OpenAI in ga prosili, naj opravi vse drugo.
Že prvi poskus je bil zelo prepričljiv: napisal je scenarij predstavitve, posnel zaslon, dodal moj govor in skoraj povsem izpolnil navodila. Edino, s čimer sprva nismo bili zadovoljni, je bila usklajenost govora s posnetkom predstavitve, zato smo mu naročili: “MANDATORY: align the voiceover exactly with what is being shown in the demo. There was misalignment (e.g. on the chat page). Triple check alignment of voiceover and the screen-recorded demo at the end. Match it up through whichever means possible.”
Codex je v odgovor na to zahtevo govor in posnetek razdelil na krajše dele ter nalogo opravil skoraj brezhibno, ravno še pravočasno za pivo in pico ob 17.30.
Vemo, da Callombia rešuje težavo, s katero se srečuje večina podjetij. V hitro rastočem podjetju se je težko udeležiti vsakega klica, vendar so drobci modrosti, ki si jih sodelavci izmenjajo na njih, neprecenljivi. Zdaj jo moramo le še prenesti v produkcijsko okolje.
Toda tu se skriva tudi pomembnejši nauk o delovanju, ki že v osnovi temelji na UI, ter o koristih združevanja inženirskega in produktnega znanja pri reševanju skupnih težav. Ko smo izstopili iz običajnega delovnega ritma in začeli sodelovati med ekipami v delno tekmovalnem okolju, smo dobili več rešitev, ki bi jih bilo mogoče z nekaj prilagoditvami prenesti v produkcijsko okolje. Če bomo to redno ponavljali, bomo lahko poskrbeli, da bodo naši interni procesi enako dovršeni kot rešitve, ki jih izdelujemo za stranke.