Takimet e regjistruara janë një burim njohurish që shfrytëzohet pak. Është e vështirë të kërkosh në to, rikthimi te përmbajtja kërkon kohë dhe ato janë të shpërndara në disqet e ekipeve, ndaj njohuri të vlefshme shpesh kalojnë pa u vënë re.
Në një maratonë programimi njëditore, një ekip prej tre vetash krijoi Callombia-n. Është një platformë e brendshme që transkripton, etiketon, përmbledh dhe ndan automatikisht telefonatat e regjistruara në klipe, duke i vendosur në një depo të kërkueshme, të ngjashme me YouTube, të qasshme nga zyrat në mbarë botën.
Zgjidhja, e ndërtuar tërësisht me Codex, përdor kërkim semantik të mundësuar nga embeddings të OpenAI dhe ngjashmërinë kosinus për të nxjerrë në pah momentet përkatëse edhe kur nuk përdoren fjalët kyçe të sakta, ndërsa sipër kësaj shtohen një chatbot RAG dhe një sistem njoftimesh.
Ajo që dikur do të kërkonte javë, u realizua në shtatë orë, duke treguar se zhvillimi i orientuar nga IA-ja me agjentë programimi si Codex mund ta shkurtojë ndjeshëm ciklin e zhvillimit të produktit dhe të krijojë vlerë të mirëfilltë biznesi nga maratonat e brendshme të programimit.
Nëse jeni si unë, rrallë keni kohë (ose durim) t’i ridëgjoni takimet e regjistruara. Shpesh kjo ndodh sepse duhet të kërkosh nëpër disqet e çorganizuara të ekipeve, të kapërcesh muhabetet e rëndomta dhe të përpiqesh të dëgjosh vërtet, ndërkohë që dërgon email-e dhe mesazhe.
Por ndoshta nuk ka pse të jetë kështu? Po sikur të ndërtonim diçka që i transformon plotësisht takimet e regjistruara? Kjo ishte ideja pas projektit tonë të fundit në maratonën e programimit.
Brenda vetëm një dite, 50 anëtarë të ekipeve tona të inxhinierisë, realizimit dhe operacioneve trajtuan disa probleme të mbledhura nga e gjithë kompania: nga zgjerimi i operacioneve të rekrutimit dhe thjeshtimi i hartimit të SoW-ve, deri te kuptimi i ecurisë së projekteve, krijimi i drejtpërdrejtë i prototipeve dhe nxjerrja e njohurive nga takimet e regjistruara.
Në këtë maratonë programimi të bazuar në Codex, ndërtuam Callombia-n. Callombia është YouTube-i i kompanisë sonë, që e kthen çdo telefonatë në një burim të gjallë e të kërkueshëm. Çdo telefonatë transkriptohet, etiketohet dhe përmblidhet automatikisht, pastaj ndahet në klipe tematike dhe shtohet në një depo të organizuar sipas kanaleve (klientëve) dhe temave (fushave të specializimit në IA). Kjo i mundëson çdo anëtari të ekipit në Londër, Edinburg, Singapor dhe Australi të hapë menjëherë momentet e telefonatave që i interesojnë.
Një ndërfaqe e njohur dhe në përputhje me identitetin e markës e bën zbulimin e përmbajtjes intuitiv, ndërsa kërkimi semantik (dhe, sigurisht, chatbot-i RAG me IA) i ndihmon njerëzit të gjejnë pikërisht atë që kërkojnë. Shtimi i një sistemi njoftimesh u mundëson gjithashtu kolegëve tanë të abonohen në tema të caktuara dhe të njoftohen sa herë publikohet një klip i ri që u intereson.
Por ajo që është interesante te Callombia nuk është produkti apo çmimi prej 2 mijë £ për fitoren e maratonës (po mburremi pak), por fakti se arritëm ta ndërtonim të gjithë këtë në vetëm shtatë orë, me dy inxhinierë dhe një drejtues realizimi. Një vit më parë, kjo nuk ishte e mundur. Përmirësimet e agjentëve të programimit e kanë përshpejtuar jashtëzakonisht procesin e plotë të zhvillimit të produktit dhe kjo maratonë shërbeu si një terren i shkëlqyer prove për të kuptuar kufijtë e tyre të pabarabartë. Pra, si e përdorëm Codex?
Në vend që thjesht të shkruanim një mori kërkesash, filluam duke paraqitur këndvështrimin tonë të përbashkët (si kërkesë) për problemin dhe vizionin e Callombia-s. Duke mos dhënë qëllimisht shumë hollësi, e lamë modelin të bënte punën dhe të mendonte në mënyrë krijuese:
Pas 10 minutash diskutimi, aktivizuam Modalitetin e planifikimit për të përcaktuar më mirë kërkesat dhe për të orientuar pjesën teknike të ndërtimit. Modaliteti i planifikimit të jep ndjesinë sikur po u përgjigjesh pyetjeve të atij shokut bezdisës që, për fat të mirë, e ka menduar çdo skenar të mundshëm. Pasi ramë dakord për çështje si numri i videove, kërkimi semantik apo me fjalë kyçe dhe arkitektura që do të përdornim, ai krijoi një skedar markdown që u bë baza e projektit në vazhdim.


Pasi hartuam planin, hapi tjetër ishte ndërtimi i komponentëve bazë që do ta bënin Callombia-n të funksiononte realisht. Kjo nënkuptonte krijimin e një procesi që i kthente telefonatat e regjistruara në burime të kërkueshme:
Importimin e videove dhe transkripteve,
Ndarjen e tyre në momente domethënëse,
Pasurimin e tyre me përmbledhje dhe etiketa,
Vënien e tyre në dispozicion përmes API-ve që mund të përdorte frontend-i.
Ed u përqendrua më shumë në kthimin e regjistrimeve dhe të dhënave të papërpunuara të transkripteve në një format të përdorshëm, ndërsa Nico u mor më shumë me shtresën e gjetjes që do t’i bënte ato momente të zbulueshme. Me Codex, të dy arritën të ngrinin modelet e të dhënave, skriptet e nxjerrjes dhe infrastrukturën e backend-it shumë më shpejt nga sa do të mundnim manualisht. Kjo na dha shumë më tepër se një transkript të bashkëngjitur te një video. Na dha momente: pjesën për Tesco-n, përditësimin e strategjisë, diskutimin për rekrutimin, pra 90 sekondat e veçanta të një telefonate që dikush dëshiron vërtet të shohë.
Pikërisht te kjo shtresë gjetjeje gjërat u bënë veçanërisht interesante. Donim që dikush të shkruante diçka si “financial performance,” “Tesco roadmap,” ose “conversation evals” dhe të dërgohej te klipet më përkatëse, edhe nëse ato fjalë të sakta nuk ishin thënë kurrë. Për këtë, krijuam segmente me vula kohore, përmbledhje, tekstin e transkriptit dhe metadata. Me një arkitekturë të qartë në mendje dhe me shumë ndihmë nga Codex, bashkuam temën, përmbledhjen dhe transkriptin në një hyrje të vetme dhe përdorëm modelin text-embedding-3-small të OpenAI për të krijuar embeddings për çdo segment. I ruajtëm këto embeddings në bazën tonë të të dhënave dhe përdorëm ngjashmërinë kosinus për të krahasuar kërkesën e përdoruesit me çdo segment, duke krijuar një shtresë kërkimi semantik në vend të një kërkimi të thjeshtë me fjalë kyçe.
Kjo funksionoi jashtëzakonisht mirë për sa i përket saktësisë dhe i dha produktit ndjesinë e «magjisë» gjatë demonstrimit në maratonë. Në të njëjtën kohë, e dinim se kjo qasje nuk do të shkallëzohej pafundësisht nëse numri i videove vazhdonte të rritej, sepse krahasimi i çdo kërkese me çdo segment do të bëhej përfundimisht tepër i kushtueshëm. Hapi i natyrshëm vijues do të ishte përdorimi i strategjive më efikase të gjetjes, si Hierarchical Navigable Small World, për të zvogëluar numrin e krahasimeve dhe për ta mbajtur të ulët vonesën ndërsa korpusi zgjerohet. Pasi kjo veçori nisi të funksiononte, Callombia filloi të ngjante më pak me një bibliotekë mediatike dhe më shumë me një sistem njohurish.
Si në çdo maratonë të mirë programimi, edhe kjo pjesë kërkoi përmirësime: kufijtë fillestarë të segmenteve ishin tepër të përafërt, disa vula kohore duheshin saktësuar, disa etiketa ishin tepër të përgjithshme dhe skedarët e transkripteve e të regjistrimeve jo gjithmonë përputheshin mirë. Por pikërisht aty u shfaq edhe vlera. Codex na mundësoi ta përmirësonim shpejt sistemin, në vend që të ngecnim te konfigurimi dhe ripunimi. Në fund kishim një backend që mund të mbështeste klipe, fragmente dhe një kërkim semantik vërtet të dobishëm. Pikërisht atëherë Callombia nisi të dukej si një produkt i mirëfilltë, jo thjesht si demonstrim për maratonën.
Ndërsa Ed dhe Nico ndërtuan shtresën e importimit dhe të inteligjencës, unë ndërtova frontend-in. Duke përdorur shabllonin tonë full-stack, arrita të ngrija shpejt versionin e parë të faqes pa shkruar asnjë rresht kodi. Pasi i kërkoja ta hapte faqen lokalisht në shfletuesin tim, jepja komente të thjeshta me pika për ta përmirësuar dizajnin derisa të arrija atë që kërkoja.
Pas rreth një ore diskutimesh dhe përmirësimesh, kisha diçka me të cilën isha mjaft i kënaqur, edhe pse nuk kisha aspak përvojë me ndërfaqet apo dizajnin. Edhe pse produkti përfundimtar sigurisht nuk është i përsosur, është një version i parë mjaft i mirë që i ndihmon njerëzit ta kuptojnë produktin.


Për t’u siguruar se në fund të ditës do të kishim diçka gati, e kishim ndarë punën mes nesh. Sigurisht, pas disa orësh pune thuajse të pavarur, secili kishte degën e vet lokale me një mori konfliktesh.
Në vend që të shpenzonim kohën që nuk e kishim për t’i shqyrtuar e zgjidhur me kujdes konfliktet, vendosëm ta linim Codex të vepronte lirshëm në depot tona dhe t’i rregullonte vetë. Edhe pse për momentin nuk do ta rekomandonim këtë për zhvillimin e softuerëve në nivel ndërmarrjeje, ishte e pabesueshme të shihnim sa efektive ishte në një mjedis me rrezik të ulët; për më tepër, na kurseu shumë orë.
Pjesa e fundit e maratonës së programimit ishte regjistrimi i demonstrimit të Callombia-s për jurinë. Edhe pse instinkti na shtynte të hapnim Loom për regjistrimin, menduam se kjo mund të ishte një provë e vërtetë për Codex dhe diçka disi përtej aftësive të tij aktuale. Kështu që… shkruam një kërkesë, i dhamë lidhjen e faqes së Callombia-s, shtuam një regjistrim të zërit tim në platformën e zhvilluesve të OpenAI dhe i kërkuam të bënte pjesën tjetër.
Përpjekja e parë ishte shumë mbresëlënëse: kishte shkruar skenarin e demonstrimit, kishte regjistruar ekranin, kishte shtuar zërin tim dhe, në përgjithësi, e kishte përmbushur detyrën. E vetmja gjë me të cilën nuk ishim menjëherë të kënaqur ishte sinkronizimi i narracionit me regjistrimin e demonstrimit, ndaj i kërkuam: “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.”
Në përgjigje të asaj kërkese, Codex e ndau narracionin dhe regjistrimin në pjesë më të vogla, duke e kryer detyrën pothuajse pa asnjë të metë, tamam në orën 17:30, kur erdhi koha për birrë dhe picë për të festuar.
E dimë se Callombia zgjidh një problem që e kanë shumica e bizneseve. Është e vështirë të marrësh pjesë në çdo telefonatë të një kompanie që po zgjerohet me shpejtësi, por grimcat e urtësisë që ndahen në to janë të paçmueshme. Tani na mbetet vetëm ta kalojmë në prodhim.
Por këtu ka edhe një mësim më të madh rreth orientimit nga IA-ja dhe përfitimit që sjell angazhimi i ekspertizës inxhinierike dhe të produktit për zgjidhjen e problemeve të përbashkëta. Duke dalë nga cikli ynë i zakonshëm i punës dhe duke bashkëpunuar mes ekipeve në një mjedis gjysmë konkurrues, arritëm të krijonim disa zgjidhje që, me disa përmirësime, mund të kalonin në prodhim. Nëse e bëjmë këtë rregullisht, mund të sigurohemi se proceset tona të brendshme janë po aq efikase sa zgjidhjet që ndërtojmë për klientët.