Navegação principal

Criar uma ferramenta inteligente para descobrir reuniões com o Codex

Veja como o Codex transformou reuniões gravadas em conhecimento pesquisável através de um projeto interno rápido e prático.

Resumo executivo

  • As reuniões gravadas são um recurso de conhecimento subutilizado. São difíceis de pesquisar, exigem tempo para rever e estão dispersas por unidades partilhadas das equipas, pelo que muitas informações valiosas passam despercebidas.

  • Numa maratona de programação de um só dia, uma equipa de três pessoas criou o Callombia. É uma plataforma interna que transcreve, etiqueta, resume e transforma automaticamente chamadas gravadas em clipes, reunindo-os num repositório pesquisável, ao estilo do YouTube, acessível a todos os escritórios internacionais.

  • A solução, totalmente criada com o Codex, recorre a pesquisa semântica baseada em embeddings da OpenAI e em semelhança de cosseno para encontrar momentos relevantes, mesmo sem usar palavras-chave exatas, e inclui ainda um chatbot RAG e um sistema de notificações.

  • O que antes teria demorado semanas foi concluído em sete horas, demonstrando como o desenvolvimento nativo de IA com agentes de programação como o Codex pode reduzir drasticamente o ciclo de desenvolvimento de produtos e gerar verdadeiro valor empresarial em maratonas de programação internas.

Se for como eu, raramente tem tempo (ou capacidade de concentração) para voltar a ouvir reuniões gravadas. Muitas vezes, isso implica procurar em unidades partilhadas desorganizadas, saltar conversas de circunstância pouco interessantes e tentar ouvir mesmo enquanto se enviam e-mails e mensagens.

Mas talvez não tenha de ser assim? E se criássemos algo que transformasse por completo as reuniões gravadas? Foi esta a ideia por detrás do nosso recente projeto de maratona de programação.

Em apenas um dia, 50 pessoas das nossas equipas de engenharia, entrega e operações abordaram vários desafios identificados em toda a empresa: aumentar a capacidade das operações de recrutamento, simplificar a criação de declarações de trabalho, compreender o estado dos projetos, gerar protótipos em direto e extrair informações de reuniões gravadas.

Nesta maratona de programação baseada no Codex, criámos o Callombia. O Callombia é o YouTube da nossa empresa: transforma cada chamada num recurso vivo e pesquisável. Cada chamada é automaticamente transcrita, etiquetada e resumida, antes de ser dividida em clipes temáticos e adicionada a um repositório organizado por canal (clientes) e tópicos (áreas de especialização em IA). Assim, qualquer membro da equipa em Londres, Edimburgo, Singapura ou na Austrália pode aceder de imediato aos momentos das chamadas que lhe interessam.

Uma interface familiar e alinhada com a marca torna intuitiva a descoberta de conteúdos, enquanto a pesquisa semântica (e, claro, um chatbot de IA com RAG) ajuda cada pessoa a encontrar exatamente o que procura. A inclusão de um sistema de notificações também permite que os nossos colegas subscrevam determinados tópicos e sejam avisados quando forem publicados novos clipes relevantes para si.

Mas o mais interessante no Callombia não é o produto, nem o prémio de 2000 libras por termos vencido a maratona de programação (só para exibir), mas o facto de termos conseguido criar tudo isto em apenas sete horas, com dois engenheiros e um responsável pela entrega. Há um ano, isso não era possível. A evolução dos agentes de programação acelerou enormemente todo o processo de desenvolvimento de produtos, e esta maratona foi um excelente campo de testes para compreendermos as suas fronteiras irregulares. Então, como utilizámos o Codex?

Planeamento da solução

Em vez de nos limitarmos a escrever uma série de requisitos, começámos por partilhar a nossa visão coletiva — sob a forma de um prompt — sobre o problema e a visão para o Callombia. Ao sermos deliberadamente pouco específicos, deixámos o modelo fazer o trabalho e pensar de forma criativa:

Após dez minutos de troca de ideias, ativámos o Modo de planeamento para definir melhor os requisitos e orientar a componente técnica do desenvolvimento. O Modo de planeamento é como responder às perguntas daquele amigo irritante que, muito prestavelmente, pensou em todos os cenários possíveis. Depois de definirmos aspetos como o número de vídeos, o uso de pesquisa semântica ou por palavras-chave e a arquitetura a adotar, o Codex criou um ficheiro Markdown que serviu de base ao resto do projeto.

Captura de ecrã que ilustra o planeamento da solução.

Criar os componentes essenciais

Depois de termos um plano, o passo seguinte foi criar os componentes essenciais para pôr o Callombia realmente a funcionar. Isso implicava criar um fluxo que transformasse chamadas gravadas em recursos pesquisáveis:

  1. Importar vídeos e transcrições,

  2. Dividi-los em momentos relevantes,

  3. Enriquecê-los com resumos e etiquetas,

  4. Disponibilizá-los através de APIs que o frontend pudesse utilizar.

O Ed concentrou-se sobretudo em converter as gravações e transcrições brutas num formato utilizável, enquanto o Nico se dedicou à camada de recuperação que permitiria encontrar esses momentos. Com o Codex, ambos conseguiram criar os modelos de dados, os scripts de extração e a infraestrutura do backend muito mais depressa do que seria possível manualmente. O resultado foi muito mais do que uma transcrição anexada a um vídeo. Passámos a ter momentos: a secção sobre a Tesco, a atualização estratégica, a conversa sobre recrutamento ou os 90 segundos específicos de uma chamada que alguém quer realmente ver.

Foi na camada de recuperação que tudo se tornou especialmente interessante. Queríamos que alguém pudesse escrever algo como “financial performance”, “Tesco roadmap” ou “conversation evals” e fosse encaminhado para os clipes mais relevantes, mesmo que essas palavras exatas nunca tivessem sido ditas. Para isso, criámos segmentos com marcas temporais, resumos, texto das transcrições e metadados. Com uma arquitetura bem definida e muita ajuda do Codex, combinámos o tópico, o resumo e a transcrição numa única entrada e utilizámos o modelo text-embedding-3-small da OpenAI para gerar embeddings para cada segmento. Armazenámos esses embeddings na nossa base de dados e utilizámos a semelhança de cosseno para comparar a consulta do utilizador com cada segmento, criando assim uma camada de recuperação semântica em vez de uma simples pesquisa por palavras-chave.

Esta abordagem proporcionou uma precisão excelente e deu ao produto aquele toque «mágico» durante a demonstração da maratona. Ao mesmo tempo, sabíamos que esta abordagem deixaria de ser escalável se o número de vídeos continuasse a aumentar, pois comparar cada consulta com todos os segmentos acabaria por se tornar demasiado dispendioso. O passo seguinte seria introduzir estratégias de recuperação mais eficientes, como Hierarchical Navigable Small World, para reduzir o número de comparações e manter uma latência baixa à medida que o acervo cresce. Quando esta funcionalidade começou a funcionar, o Callombia passou a parecer menos uma biblioteca multimédia e mais um sistema de conhecimento.

Como em todas as boas maratonas de programação, esta parte também exigiu várias iterações: os limites iniciais dos segmentos eram demasiado imprecisos, algumas marcas temporais precisavam de ajustes, certas etiquetas eram demasiado abrangentes e os ficheiros de transcrição nem sempre coincidiam devidamente com as gravações. Mas foi também aí que o valor se tornou evidente. O Codex permitiu-nos aperfeiçoar rapidamente o sistema, em vez de ficarmos presos à configuração e ao retrabalho. No final, tínhamos um backend capaz de suportar clipes, excertos e uma pesquisa semântica verdadeiramente útil. Foi então que o Callombia começou a parecer um produto real, e não apenas uma demonstração de uma maratona de programação.

Desenvolvimento do frontend e da interface

Enquanto o Ed e o Nico criavam a camada de importação e Inteligência, eu desenvolvia o frontend. Utilizando o nosso modelo de full stack, consegui criar rapidamente uma primeira versão do site sem escrever uma única linha de código. Depois de lhe pedir que abrisse o site localmente no meu navegador, dava-lhe feedback simples, por pontos, para ir ajustando o design ao que pretendia.

Após cerca de uma hora de troca de ideias, tinha algo com que estava bastante satisfeito — tudo isto sem qualquer experiência em interfaces ou design. Embora o produto final esteja longe de ser perfeito, é uma primeira versão bastante boa que permite compreender o produto.

Captura de ecrã que ilustra o desenvolvimento do frontend e da interface.

Juntar todo o código

Para garantirmos que teríamos algo pronto no final do dia, dividimos o trabalho entre nós. Naturalmente, após algumas horas de trabalho semiautónomo, todos tínhamos ramos locais próprios e imensos conflitos.

Em vez de gastarmos o tempo que não tínhamos a analisar e resolver cuidadosamente os conflitos, decidimos dar rédea solta ao Codex nos repositórios e deixá-lo resolvê-los sozinho. Embora, por enquanto, não recomendemos esta abordagem para desenvolver software de nível empresarial, foi incrível ver a sua eficácia num contexto de baixo risco — e poupou-nos muitas horas.

A demonstração completa

A última parte da maratona de programação consistia em gravar a demonstração do Callombia para o júri. Embora o nosso primeiro impulso fosse abrir o Loom para tratar da gravação, pensámos que este seria um verdadeiro teste para o Codex e algo um pouco além das suas capacidades atuais. Então… Escrevemos um prompt, fornecemos-lhe uma ligação para o site do Callombia, anexámos uma gravação da minha voz na plataforma para programadores da OpenAI e pedimos-lhe que tratasse do resto.

A primeira tentativa foi impressionante: tinha escrito um guião para a demonstração, gravado o ecrã, adicionado a minha narração e cumprido praticamente todos os requisitos. A única coisa que não nos agradou logo foi a sincronização da narração com a gravação da demonstração, pelo que lhe pedimos: “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.”

Em resposta, o Codex dividiu a narração e a gravação em secções mais pequenas e executou a tarefa praticamente na perfeição, mesmo a tempo das 17h30 e da cerveja e piza para celebrar.

Tornarmo-nos mais nativos de IA

Sabemos que o Callombia resolve um problema comum à maioria das empresas. É difícil participar em todas as chamadas de uma empresa em rápido crescimento, mas os conhecimentos valiosos nelas partilhados são inestimáveis. Agora, só precisamos de o colocar em produção.

Mas há aqui uma lição mais abrangente sobre ser nativo de IA e sobre as vantagens de aplicar a experiência das equipas de engenharia e produto à resolução de problemas comuns. Ao sairmos do nosso ciclo de trabalho habitual e colaborarmos entre equipas num ambiente semicompetitivo, acabámos por criar várias soluções que, com alguns ajustes, poderiam ser colocadas em produção. Se o fizermos regularmente, podemos garantir que os nossos processos internos são tão eficientes como as soluções que criamos para os clientes.

Autor

George Montagu, Ed Jeffery, Nicolas Franco Gonzalez