Slik bygde vi et smart verktøy for å finne møter med Codex

Se hvordan Codex gjorde opptak av bedriftsmøter til søkbar kunnskap gjennom et raskt og praktisk internt utviklingsprosjekt.

Sammendrag

  • Møteopptak er en lite utnyttet kunnskapsressurs. De er vanskelige å søke i, tidkrevende å gå tilbake til og spredt på ulike teamdisker. Derfor går verdifull innsikt ofte under radaren.

  • På en éndags hackathon bygde et team på tre Callombia. Det er en intern plattform som automatisk transkriberer, merker, oppsummerer og klipper møteopptak til et søkbart, YouTube-lignende lager som er tilgjengelig på tvers av globale kontorer.

  • Løsningen er bygget i sin helhet med Codex og bruker semantisk søk basert på embeddings fra OpenAI og cosinuslikhet for å finne relevante øyeblikk selv uten eksakte søkeord. I tillegg har den en RAG-chatbot og et varslingssystem.

  • Det som tidligere ville tatt flere uker, ble levert på sju timer. Det viser hvordan KI-basert utvikling med kodeagenter som Codex kan korte ned produktutviklingen dramatisk og skape reell forretningsverdi gjennom interne hackathoner.

Hvis du er som meg, har du sjelden tid (eller tålmodighet) til å høre gjennom møteopptak. Det skyldes ofte at man må lete gjennom rotete teamdisker, spole forbi halvhjertet småprat og prøve å faktisk lytte mens man sender e-poster og meldinger.

Men kanskje det ikke trenger å være slik? Kanskje vi kunne bygge noe som fullstendig endrer hvordan vi bruker møteopptak? Det var tanken bak det siste hackathonprosjektet vårt.

På bare én dag tok 50 personer fra utviklings-, leveranse- og driftsteamene våre fatt på en rekke problemstillinger fra hele virksomheten: oppskalering av rekrutteringsdrift, enklere utarbeiding av SoW-er, forståelse av prosjektstatus, generering av prototyper i sanntid og uthenting av innsikt fra møteopptak.

På dette Codex-baserte hackathonet bygde vi Callombia. Callombia er virksomhetens YouTube og gjør hver samtale til en levende, søkbar ressurs. Hver samtale blir automatisk transkribert, merket og oppsummert før den deles opp i tematiske klipp og legges i et lager gruppert etter kanal (kunder) og emne (fagområder innen KI). Dermed kan alle teammedlemmer i London, Edinburgh, Singapore og Australia umiddelbart finne øyeblikkene de er interessert i.

Et velkjent brukergrensesnitt i tråd med merkevaren gjør det intuitivt å finne innhold, mens semantisk søk (og selvfølgelig en RAG-basert KI-chatbot) hjelper folk med å finne akkurat det de leter etter. Med et varslingssystem kan kollegene våre også abonnere på bestemte emner og få beskjed når det publiseres nye klipp som er relevante for dem.

Det kule med Callombia er imidlertid ikke produktet eller premien på 2000 pund for å vinne hackathonet (skryt), men at vi klarte å bygge alt dette på bare sju timer med to utviklere og en leveranseleder. Det var ikke mulig for ett år siden. Forbedringer i kodeagenter har gitt en enorm økning i tempoet gjennom hele produktutviklingen, og dette hackathonet ga oss en ypperlig testarena for å utforske teknologiens ujevne yttergrenser. Så hvordan brukte vi Codex?

Planlegging av løsningen

I stedet for bare å skrive en mengde krav begynte vi med å dele vårt felles syn på problemområdet og visjonen for Callombia i form av en prompt. Ved bevisst å holde beskrivelsen vag lot vi modellen gjøre jobben og tenke kreativt:

Etter ti minutters dialog slo vi på Plan Mode for å spisse kravene og legge føringer for den tekniske delen av utviklingen. Plan Mode føles som å svare på spørsmål fra den irriterende vennen som (heldigvis) har tenkt gjennom alle mulige scenarioer. Da vi var enige om blant annet antall videoer, semantisk søk eller nøkkelordsøk og hvilken arkitektur vi skulle bruke, opprettet Codex en Markdown-fil som dannet grunnlaget for resten av prosjektet.

Skjermbilde som viser planleggingen av løsningen.

Utvikling av kjernekomponentene

Da planen var klar, var neste steg å bygge kjernekomponentene som skulle få Callombia til å fungere i praksis. Det innebar å lage en arbeidsflyt fra opptak til søkbare ressurser:

  1. Importere videoer og transkripsjoner,

  2. dele dem inn i meningsfulle øyeblikk,

  3. berike dem med sammendrag og merkelapper,

  4. gjøre dem tilgjengelige gjennom API-er som frontenden kunne bruke.

Ed konsentrerte seg om å få råopptakene og transkripsjonsdataene over i et brukbart format, mens Nico fokuserte på søkelaget som skulle gjøre øyeblikkene lette å finne. Med Codex kunne begge sette opp datamodellene, uttrekksskriptene og infrastrukturen i backenden langt raskere enn vi kunne gjort manuelt. Det ga oss langt mer enn en transkripsjon knyttet til en video. Det ga oss øyeblikk: Tesco-delen, strategioppdateringen, diskusjonen om rekruttering og de konkrete 90 sekundene i en samtale som noen faktisk vil se.

Det var i dette søkelaget at det virkelig begynte å bli interessant. Vi ville at noen skulle kunne skrive noe som “financial performance,” “Tesco roadmap,” eller “conversation evals” og bli sendt til de mest relevante klippene, selv om akkurat disse ordene aldri ble sagt. For å få til dette opprettet vi tekstbiter med tidsstempler, sammendrag, transkripsjonstekst og metadata. Med en tydelig arkitektur i tankene og mye hjelp fra Codex kombinerte vi emnet, sammendraget og transkripsjonen i én inndata og brukte OpenAIs text-embedding-3-small-modell til å generere embeddings for hver tekstbit. Vi lagret disse embeddingsene i databasen og brukte cosinuslikhet til å sammenligne et brukersøk med hver tekstbit. Dermed fikk vi et semantisk søkelag i stedet for et enkelt nøkkelordsøk.

Dette ga svært presise resultater og skapte den «magiske» følelsen i produktet under hackathondemoen. Samtidig visste vi at denne tilnærmingen ikke ville kunne skaleres i det uendelige dersom antallet videoer fortsatte å vokse, fordi det etter hvert ville bli for kostbart å sammenligne hvert søk med hver tekstbit. Det naturlige neste steget ville være å innføre mer effektive søkestrategier, som Hierarchical Navigable Small World, for å redusere antallet sammenligninger og holde ventetiden lav etter hvert som materialet vokser. Da denne funksjonen var på plass, begynte Callombia å føles mindre som et mediebibliotek og mer som et kunnskapssystem.

Som i alle gode hackathoner krevde også denne delen flere runder: De første inndelingene var for grove, noen tidsstempler måtte finjusteres, enkelte merkelapper var for brede, og transkripsjons- og opptaksfilene samsvarte ikke alltid helt. Men det var også her verdien ble tydelig. Med Codex kunne vi raskt forbedre systemet i stedet for å bli sittende fast i oppsett og omarbeiding. Til slutt hadde vi en backend som kunne drive klipp, utdrag og et virkelig nyttig semantisk søk. Da begynte Callombia å føles som et ekte produkt, ikke bare en hackathondemo.

Utvikling av frontend og brukergrensesnitt

Mens Ed og Nico bygde import- og intelligenslaget, bygde jeg frontenden. Ved hjelp av fullstack-malen vår kunne jeg raskt få opp en første versjon av nettstedet uten å skrive én eneste linje med kode. Etter å ha bedt Codex åpne nettstedet lokalt i nettleseren min ga jeg enkle tilbakemeldinger i punktform for å utvikle designet i ønsket retning.

Etter omtrent en times frem og tilbake hadde jeg noe jeg var ganske fornøyd med – helt uten erfaring med brukergrensesnitt eller design. Sluttproduktet er definitivt ikke perfekt, men det er en ganske god førsteversjon som gjør det mulig å forstå produktet.

Skjermbilde som viser utviklingen av frontend og brukergrensesnitt.

Slik samlet vi all koden

For å sikre at vi hadde noe å vise frem ved dagens slutt, fordelte vi arbeidet mellom oss. Etter noen timer med delvis selvstendig arbeid satt vi naturligvis alle med lokale grener fulle av konflikter.

I stedet for å bruke tid vi ikke hadde på å gå grundig gjennom og løse konfliktene, slapp vi Codex løs på lagrene og lot det rette opp konfliktene på egen hånd. Vi vil foreløpig ikke anbefale denne metoden for programvareutvikling på virksomhetsnivå, men i et miljø med lav risiko var det utrolig å se hvor effektivt det var – og det sparte oss for mange timer.

Hele demoen

Den siste delen av hackathonet var å spille inn en Callombia-demo for dommerne. Instinktet var å åpne Loom og ta opptaket der, men vi tenkte at dette kunne bli en skikkelig test for Codex – og noe som lå litt utenfor dets nåværende egenskaper. Så … Vi skrev en prompt, ga Codex en lenke til Callombia-nettstedet, la ved et opptak av stemmen min på utviklerplattformen til OpenAI og ba det gjøre resten.

Det første forsøket var svært imponerende: Codex hadde skrevet et demomanus, tatt opp skjermen, lagt til stemmen min og stort sett levert akkurat det vi ba om. Det eneste vi ikke var helt fornøyde med med én gang, var synkroniseringen av fortellerstemmen og demoopptaket. Derfor ba vi det: “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.”

Som svar på forespørselen delte Codex fortellerstemmen og opptaket i mindre deler og utførte oppgaven så godt som feilfritt – akkurat tidsnok til øl og pizza klokken 17.30 for å feire.

Å bli mer KI-drevet

Vi vet at Callombia løser et problem de fleste virksomheter har. Det er vanskelig å delta i alle samtaler i et selskap som vokser raskt, men gullkornene som deles i disse samtalene, er uvurderlige. Nå må vi bare få løsningen i produksjon.

Men her ligger det også en større lærdom om å jobbe KI-drevet og om verdien av å bruke teknisk kompetanse og produktforståelse til å løse felles problemer. Ved å bryte ut av den vanlige arbeidssyklusen, samarbeide på tvers av team og gjøre alt i et delvis konkurransepreget miljø endte vi opp med flere løsninger som kunne settes i produksjon med noen få justeringer. Gjør vi dette regelmessig, kan vi sikre at de interne løsningene våre er like smidige som dem vi bygger for kundene.

Forfatter

George Montagu, Ed Jeffery og Nicolas Franco Gonzalez