Pular para o conteúdo

Faça backtest do seu agent usando a web de ontem — Ryan Ahern, Exa

Ver no idioma original →

Autoria: AI Engineer · Assistir no YouTube

Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.

Idioma original: inglês

Vídeo original: Backtest Your Agent Against Yesterday’s Web — Ryan Ahern, Exa · Canal: AI Engineer · 26:11 · Assistir no YouTube

Tópicos: Agentes de IA, Avaliação e benchmarks de IA, RAG, busca e recuperação de informação

Ryan Ahern, engenheiro full stack da Exa, apresenta o Exa Snapshot, um recurso que permite pesquisar versões anteriores de páginas e simular buscas na web como elas seriam em uma data passada. Ele explica como isso ajuda a avaliar agentes e sistemas preditivos sem deixar que informações futuras contaminem os resultados do backtest. A palestra também aborda qualidade, custo e latência da busca, além de padrões para integrar buscas agentic a modelos tradicionais ou a sistemas totalmente agentic. Em uma atividade prática, os participantes criam recursos para prever aquisições de empresas, e o resultado ilustra tanto o valor do backtesting quanto o risco de overfitting sem um conjunto de holdout.

  • Agentes de IA fazem mais buscas do que pessoas, pois podem pesquisar repetidamente e consultar várias páginas para encontrar respostas.
  • A Exa oferece busca para agentes e aplicações de IA, com foco em qualidade, custo e latência.
  • O Exa Snapshot permite consultar o conteúdo de uma URL em uma data passada ou executar uma busca como teria sido feita naquele momento.
  • A busca em versões históricas ajuda a evitar vazamento de informações futuras em avaliações de sistemas preditivos.
  • O Snapshot pode fornecer dados históricos para modelos tradicionais ou permitir testar recursos de busca agentic isoladamente.
  • Sistemas totalmente agentic também podem ser avaliados com buscas limitadas às informações disponíveis na época.
  • A atividade prática usa buscas históricas para testar recursos que tentam prever aquisições de empresas.
  • Sem um conjunto de holdout, é fácil fazer overfitting aos exemplos usados no backtest.
Início Capítulo Resumo
00:01 Exa e o crescimento das buscas feitas por IA Ryan apresenta a Exa e explica por que agentes de IA fazem buscas frequentes para obter informações externas e atuais.
05:45 Exa Snapshot e busca em versões históricas A apresentação explica como consultar versões anteriores de páginas e executar buscas referentes a datas passadas.
11:34 Padrões de backtesting para sistemas preditivos Ryan descreve como usar dados históricos em modelos tradicionais, em recursos agentic e em sistemas totalmente agentic.
16:58 Atividade: prever aquisições de empresas Os participantes recebem a tarefa de criar recursos que prevejam aquisições usando buscas em datas anteriores aos eventos.
22:16 Resultados e risco de overfitting A análise das respostas vencedoras mostra como regras ajustadas aos exemplos conhecidos podem não funcionar fora deles.
25:39 Recapitulação e próximos passos Ryan indica recursos da Exa e reforça o valor do Snapshot e a importância de usar um conjunto de holdout.

Com o Exa Snapshot, você pode usar nossa busca como ela é hoje, mas ver como seria pesquisar em um momento do passado. — 05:45

Isso também traz para a avaliação do passado o conhecimento do futuro. — 10:27

Quero poder provar que isso agrega valor, não apenas confiar na intuição e torcer para que agregue. — 16:58

Esse é um bom exemplo de por que você precisa fazer backtesting com um conjunto de holdout. — 24:08

  • Exa (empresa): Empresa de busca na web que fornece resultados para agentes de IA e aplicações agentic.
  • Ryan Ahern (pessoa): Engenheiro full stack da Exa que apresenta o Exa Snapshot e conduz a atividade prática.
  • Exa Snapshot (ferramenta): Recurso da Exa que permite consultar versões anteriores de páginas e realizar buscas em datas passadas.
  • agentic web search (conceito): Busca na web realizada por sistemas de IA que podem pesquisar várias vezes e consultar diferentes páginas.
  • backtesting (conceito): Avaliação de um sistema usando dados históricos para verificar como teria se saído no passado.
  • holdout set (conceito): Conjunto de dados separado da avaliação usada para desenvolver um sistema, empregado para identificar overfitting.
  • overfitting (conceito): Ajuste excessivo a exemplos conhecidos, que pode fazer um sistema parecer eficaz sem generalizar para dados novos.
  • OpenAI (empresa): Empresa citada no exemplo sobre relatos de mercado a respeito de sua receita anualizada.
  • Ed Sheeran (pessoa): Cantor citado como exemplo de busca histórica por notícias adversas em uma análise de contraparte.

00:01 [música] >> Olá, pessoal. Primeiro de tudo, sou Ryan. Sou engenheiro full stack aqui na Exa. Estou muito animado para mostrar a vocês esse recurso muito legal. Em breve, basicamente teremos uma busca perfeita para agentes de IA, mas, pelo menos agora, vocês podem controlá-la por versão. Hoje vou apresentar algumas coisas. Primeiro, um pouco sobre o que é a Exa, o que é busca na web agentic

00:31 na web e por que eu deveria me importar com isso? Ao fim do ponto um, vocês vão pensar: preciso de busca na web agentic. Preciso disso no meu produto, independentemente de estarem fazendo algo relacionado a finanças ou não. Número dois: certo, sei que quero isso, mas por que deveria me importar com controle de versão? Ao fim do número dois, vocês vão saber por que isso importa. E isso será muito importante porque, no número três, haverá um pequeno exercício prático em que vocês talvez ganhem um prêmio, talvez não. Espero que isso motive vocês a prestar atenção aos pontos um e dois. Então, vou começar com uma rápida votação levantando as mãos, só para entender o cenário. Quem aqui já ouviu falar da Exa? Certo, temos algumas pessoas, mas há

01:04 algumas que não ouviram falar, o que é ótimo. Quantos de vocês já usaram um mecanismo de busca como o Google para fazer pesquisa de desktop em um cargo anterior? Tipo, usar o Google para pesquisar coisas, em casa, no trabalho, tanto faz. Espero que a maioria, ótimo. A última pergunta é: quantas vezes vocês já deixaram de usar o Google e passaram a usar o ChatGPT, o Claude ou algum outro agente e disseram: “Ei, você pode descobrir isso para mim?” Levantem a mão se agora fazem isso. Ótimo, muito bem. Certo, perfeito. Vamos conectar essas três coisas

01:35 porque é exatamente isso que tantas pessoas acabaram de indicar, e é o que estamos vendo agora. A IA está fazendo muito mais buscas do que as pessoas hoje em dia. Por quê? Porque ela consegue lidar com muito mais idas e vindas, certo? Pode pesquisar, fazer várias buscas, encontrar o que você realmente está procurando, consultar várias páginas e se esforçar bastante para encontrar a resposta de que você precisa. E estamos começando a ver muito mais pessoas usando IA para pesquisar, e a IA faz mais buscas e as faz com mais eficiência do que as pessoas. As pessoas são meio preguiçosas. Você pensa: “Certo, estou procurando isto. Vou digitar algumas palavras-chave. Espero que apareça na primeira página; senão, não

02:08 me importo.” Já os sistemas de IA realmente querem satisfazer você. Eles tendem a ser bastante agradáveis. Não sei se vocês já perceberam. Por isso, continuam pesquisando até encontrar o que procuram. Tudo isso significa que há muitas buscas. E todas essas ferramentas, quando você faz uma pergunta, pensam: “Preciso ir além do que sei. Preciso consultar a internet.” Então, usam uma ferramenta como a Exa. E é isso que oferecemos. Na verdade, fornecemos busca para alguns dos maiores agentes de programação e aplicativos agentic do mundo. Então, quando você está usando o Cursor e ele pensa:

02:38 “Puxa, se ao menos eu soubesse onde está a documentação, poderia ajudar muito”, ele usa a Exa para procurar essa documentação e trazê-la de volta ao agente de orquestração, para que ele possa responder à pergunta. Ou você está usando o Gamma e pensa: “Caramba, se ao menos eu soubesse quais foram os retornos financeiros, sei lá, do Bank of America em 2019, este slide ficaria ótimo.” Ele pode usar a Exa para encontrar essa informação. Então, é mais ou menos essa a nossa atuação. Também vou falar rapidamente sobre finanças, porque este evento é Wall Street encontrando a IA. Espero que vocês trabalhem com finanças ou tenham interesse nisso. Mas atuamos

03:09 em muitas dessas áreas. É um tema que me interessa particularmente. Trabalho com alguns fundos de hedge, fundos soberanos, gestores de ativos e VCs nesses assuntos, porque eles querem informações. Alguns são fundos de hedge e procuram alfa para embasar decisões financeiras. Outros são gestores de ativos tentando prever riscos. Outros são VCs e pensam: “Ah, quero encontrar a startup mais promissora para meu pipeline e preciso encontrá-la antes que The Verge ou alguém publique um artigo sobre ela.” Todos usam a Exa. Então,

03:41 espero que, ao fim desta apresentação, vocês pensem: “Certo, sim. Este é um espaço muito, muito interessante.” Mas, por que a Exa? O que fazemos? O que nos diferencia um pouco é que nos vemos como um laboratório que faz pesquisa fundamental para realmente impulsionar essa área. Vou falar rapidamente sobre o triângulo central de qualidade, custo e latência, só para mostrar por que vocês realmente vão querer incluir a Exa no aplicativo de vocês. Depois, vamos falar sobre controle de versão, que permite pensar: “Ah, agora consigo ver como e onde isso poderia ser

04:11 usado para fazer backtest do meu aplicativo.” Primeiro, qualidade. Você quer que os resultados sejam bons. Nós nos importamos tanto com isso que criamos nosso próprio benchmark regenerativo. Por que fazer isso? Porque a busca muda muito rápido. Você publica um benchmark e todos os provedores de busca e, eventualmente, os laboratórios pensam: “Precisamos treinar com isso e subir essa montanha.” Então, o que você realmente quer, se é um mecanismo de busca que acredita no próprio produto, é criar benchmarks que as pessoas possam montar para seus próprios casos de uso e manter atualizados, para

04:41 que seu mecanismo de busca trabalhe a seu favor, porque você quer retornar as informações mais recentes. Esse é o motivo de usar um provedor de busca, em vez de simplesmente perguntar ao ChatGPT ou à OpenAI e obter uma resposta com base nos pesos do modelo. Mas você pensa: “Certo, quero qualidade, mas ao menor custo.” Nós nos importamos com isso não só na hora da busca, mas também porque, como vocês sabem, a busca gera muitos tokens, que entram em uma context window. E o que isso significa? Vocês pagam pelos custos de entrada. Por isso, desenvolvemos tecnologias para tentar retornar apenas os tokens de que vocês precisam, não só em um resultado, mas em todos os resultados, para que seu agente de programação ou qualquer

05:14 aplicativo possa responder à pergunta sem gastar muito com custos de tokens de entrada. Por último, latência. Dá para fazer isso muito rápido: temos buscas abaixo de 300 milissegundos e também podemos levar bastante tempo, como quando fiz uma busca por “todos os distribuidores de videogames”, porque eu estava tentando fazer alguns evals. Ela levou 20 minutos e encontrou 3.212 deles, além dos desenvolvedores com quem trabalham. Então, cobrimos todo o espectro, seja qual for o ponto em que vocês pretendam integrar isso à arquitetura. E agora vocês dizem: “Ryan, certo, isso é ótimo. Gostei muito da Exa, mas quero controlar isso por versão.”

05:45 Ou: “Por que eu deveria controlar isso por versão?” E esse será o foco desta conversa: falar sobre o novo recurso que lançamos, chamado Exa Snapshot, que permite usar nossa busca como ela é hoje, mas também ver como seria se você fizesse a busca em um momento do passado. Primeiro, vou explicar o que é e, depois, por que isso importa para vocês. Então, o que é isso? Somos um mecanismo de busca, por isso passamos muito tempo percorrendo a web. E, quando encontramos esse conteúdo, nós o colocamos no nosso índice. Quando encontramos uma nova versão de uma página, ou até mesmo quando descobrimos a mesma página com uma data anterior, armazenamos uma versão dela. Isso significa que agora vocês podem voltar no tempo para qualquer URL do nosso índice completo, que abrange toda a web, com cerca de 100 bilhões de documentos e o rastreamento de trilhões de URLs. E há duas maneiras de fazer isso. A primeira é: “Conheço uma URL, mas quero ver como ela era no passado.” Isso é o versionamento de conteúdo

06:15 ao nosso índice. E, quando encontramos uma nova versão da página, ou até quando simplesmente descobrimos a mesma página em uma data passada, armazenamos uma versão dela. E isso significa que agora você pode voltar no tempo para qualquer URL em todo o nosso índice, que abrange toda a web, com cerca de 100 bilhões de documentos e rastreia trilhões de URLs. E há duas maneiras de fazer isso. A primeira é: eu conheço uma URL, mas quero ver como ela era no passado. E existe o versionamento de conteúdo

06:46 para isso. Então, você pode acessar, fornecer uma data, e nós mostraremos o conteúdo daquela data ou da data mais próxima anterior que tivermos. Assim, você pode garantir que tem uma versão daquela página que teríamos apresentado naquela época. De forma mais ampla, você pode usar a busca por versões, que não é apenas encontrar uma URL, mas executar uma busca como faria agora, só que no passado. Vamos entrar em dois exemplos bem pequenos disso. E então posso dar uma ideia de alguns casos de uso. Então, o primeiro: digamos que você esteja

07:21 interessado nos mercados financeiros. Quem aqui teria interesse nos mercados financeiros? E uma coisa que talvez você esteja tentando fazer é descobrir: “Ei, como posso entender quais são as startups mais promissoras e recentes?” Talvez vocês já tenham ouvido falar da OpenAI. E houve algumas notícias interessantes recentemente: antes, a Axios e algumas outras pessoas estavam noticiando a receita anualizada da OpenAI, com estimativas de que ela poderia estar perto de 70 bilhões. Mais recentemente, surgiram muitas notícias questionando se são 70 bilhões ou 50 bilhões.

07:51 Acontece que há algumas questões de contabilidade e gestão relacionadas a se isso é receita bruta ou líquida, se os custos de certos provedores de nuvem são repassados a você e se essa receita é reconhecida ou não. Mas, se você trabalha entendendo esse tipo de coisa, seria muito útil poder dizer: “Ei, quero garantir que estou projetando um sistema capaz de analisar essas informações, certo? Um sistema que, no momento em que você teria feito aquela busca e obtido aquelas informações, estivesse ajustado de tal forma que revelasse essa

08:25 nota de rodapé contábil, que poderia ser muito valiosa para operar no mercado. Digamos que você esteja tentando fazer algo talvez ainda mais ou menos importante: entender notícias negativas sobre pessoas muito importantes, ou talvez menos importantes. Ed Sheeran, por exemplo, teve algumas notícias negativas a seu respeito há relativamente pouco tempo. Mas, se você voltar um pouco antes daquele acontecimento, pode ver algumas outras coisas que já existiam. Ele não era muito bom com seguros, por exemplo, então talvez você não quisesse

08:55 patrociná-lo para algum produto de seguro. Mas o principal aqui é que, no momento atual, você pode dizer: “Ei, talvez eu seja uma seguradora e queira fazer uma diligência prévia da contraparte, como KYB ou KYC; ou talvez eu trabalhe em qualquer tipo de empresa e esteja tentando estabelecer parcerias, e uma parte do meu fluxo de trabalho seja entender outra parte.” Seria bom poder voltar no tempo e dizer: “Ei, projetei este sistema para fazer várias buscas na web e descobrir quem é essa pessoa, o que é essa empresa, como ela pode ser classificada e se nós faríamos um seguro

09:25 contra ela ou não.” E agora você pode projetar esse sistema e depois usar o Hexo para testá-lo voltando no tempo. Isso dá alguns exemplos de como e onde o snapshot pode ser útil para fazer backtest desses sistemas. Então, aqui vai um exemplo disso. Uma observação: é importante ter isso em mente, pois pode ajudar você a alcançar ótimos resultados mais adiante. Digamos que você esteja tentando

09:57 entender algo relacionado à aquisição de empresas. Você pode dizer: “Ei, estou tentando projetar meu sistema. Se eu fizer uma busca agora, vou ver que esta empresa já foi adquirida, mas talvez eu queira voltar no tempo e perguntar: ‘E um dia antes da aquisição? Uma semana antes? Um mês antes? Eu conseguiria encontrar informações para prever isso?’” Qualquer busca ao vivo necessariamente está atualizada. É isso que você está pagando, certo? Se fizer uma busca agora, terá as informações mais recentes.

10:27 Mas isso também acaba vazando para uma avaliação do passado o conhecimento sobre o futuro. Se você está criando um sistema preditivo e tudo o que ele faz é dizer: “Certo, olho as notícias e elas dizem que esta empresa foi adquirida, então marco que ela foi adquirida. Taxa de verdadeiros positivos de 100%, sucesso total.”, ele está supondo que a busca é boa o suficiente, como você espera que seja. O que é útil no snapshot e na busca com controle de versões é que você pode restringir quais informações ficam expostas em cada momento. Então, neste pequeno exemplo, eu poderia

11:01 definir a data do snapshot para pouco antes de o resultado ser anunciado. Assim, sei que a única coisa que vai informar esse sistema são informações que não revelam a confirmação exata daquele acontecimento, certo? Aí você pode ajustá-lo para fazer coisas diferentes. Talvez eu tenha um recurso que se preocupa muito com contratações. Quero garantir que encontre os sinais certos de contratação. Talvez eu tenha um recurso que se preocupe com a análise de teleconferências de resultados, transcrições ou entrevistas em podcast com o CEO. Seja o que for importante para você, você pode

11:34 ajustar esse sistema e ver: “Ei, isso teria melhorado minha previsão ou não?” Vou compartilhar algumas coisas e dedicar só um pouquinho de tempo a falar sobre alguns padrões que temos visto recentemente na área de backtesting. O primeiro tem a ver com a ideia de um modelo tradicional. A ideia é simplesmente reunir os dados necessários para fazer backtest do modelo que você já tem. Você pode pensar nisso assim: “Ei, talvez eu tenha um sistema que opera no

12:07 mundo. Não preciso de toda essa busca agentic na web. Adoro meu sistema. Ele é incrível.” Certo? Mas talvez uma coisa que você não consiga fazer seja voltar no tempo e reunir hoje os recursos que tinha no passado. Pode ser que eles se baseiem em páginas da web que simplesmente não armazenam uma versão à qual você possa voltar. Ou pode ser que você esteja tentando criar algum tipo de sistema que use páginas de jornais ou outros artigos e não consiga confiar na data de publicação. Uma pequena digressão aqui, mas

12:39 as datas de publicação dos artigos mudam o tempo todo. Tanto porque, por exemplo, atualizamos o artigo de verdade, quanto porque o SEO gosta muito de artigos atualizados. Então, talvez a gente simplesmente atualize o artigo mais uma vez. Isso significa que você não pode confiar muito nesse recurso de data de publicação, e é muito importante, especialmente se você estiver tomando decisões bem relevantes com base nisso, poder confiar nesse recurso. Então, talvez você simplesmente decida: “Ei, vou usar o snapshot. Conheço algumas URLs ou alguns sites que me

13:10 interessam. Vou voltar no tempo, reunir os dados de que preciso e colocá-los em qualquer recurso de que eu precise, como um array de números etc.” O X nem participa da previsão, mas essa é uma maneira perfeitamente válida e relativamente simples de usar alguns tipos de dados de versões para fazer backtest do seu sistema. Certo, esse é o cenário atual. E quanto ao futuro? O futuro da busca perfeita. Há dois padrões aqui. O primeiro é adicionar um recurso agentic a um

13:41 modelo tradicional. É parecido com o que estávamos falando antes, mas a ideia é que, no modelo ao vivo, ele vai usar o X para acessar a web, fazer buscas, transformar todas essas informações não estruturadas em um sinal estruturado e então operar com base nele. Você pode pensar em algo como a análise de notícias negativas sobre nosso amigo Ed Sheeran, que mencionei antes. Talvez você esteja projetando seu sistema para fazer algum tipo de diligência prévia da contraparte e, no sistema de produção ao vivo,

14:13 Isso pode ser só um braço, certo? O próprio sistema talvez não tenha nenhuma agência; ele só vai coletar um monte de características, e então talvez você tenha treinado um modelo, como um modelo tradicional de ML, para dizer: “Sim, vamos investir” ou “Não, não vamos investir”. Você pode voltar e fazer backtest dessas características agentic uma por uma com a Exa, e dizer: “Ei, em relação a uma correspondência verdadeiramente positiva, em que algo — não sei — aquilo que importa para você aconteceu,”

14:44 seja porque a empresa teve sucesso ou porque não teve, você pode testar e ver se conseguimos prever isso corretamente ou não. E, o mais importante, você pode então ajustar esse sistema. Porque, com todos esses sistemas não determinísticos, a maneira como você os ajusta é muito, muito importante. Então, se você o ajustar para pesquisar de determinada maneira, talvez ele tenha mais sucesso. Se escolher pesquisar de outra maneira, talvez tenha menos sucesso. E você pode controlar esse experimento e depois adicioná-lo ao seu sistema, uma característica de cada vez. Então, mais à direita, a ideia é que existe esse

15:18 futuro em que há algumas previsões, startups e outras pessoas trabalhando, e em que potencialmente o sistema inteiro é agentic. O próprio sistema pode ou não decidir pesquisar na web por meio de uma chamada de ferramenta. Ele poderia combinar conhecimento interno. Poderia combinar conhecimento externo estruturado. E poderia fazer isso em tempo de execução. A ideia é: “Ei, é mais ou menos isso que os humanos fazem quando saem para fazer uma previsão. Eles têm alguma agência. Vão pesquisar isto ou aquilo.” E, essencialmente, você pode fundamentar essa interface do seu modelo

15:52 no mundo exterior. E então você pode garantir que, quando o sistema estava operando, ele só conseguia pesquisar as informações disponíveis naquele momento. Um exemplo prático disso: digamos que você esteja tentando melhorar seu modelo de programação. E uma parte desse modelo seria verificar se ele consegue resolver um PR ou não. Você poderia dizer: “Ei, vou congelar tudo pouco antes de aquele PR ser resolvido em um repo externo e então deixar o sistema funcionar. E, com sorte, se ele

16:25 conseguir resolver a tarefa, você pode ter mais confiança de que isso se deve a uma mudança nos pesos do modelo ou em qualquer componente do sistema que você está de fato pagando para melhorar por meio do seu processo de treinamento, e não apenas a informações futuras vazando para o presente. Certo. Então, essa foi só uma visão geral do Snapshot e de algumas maneiras como ele está sendo usado para fazer backtest. Vou recapitular um pouco o que vimos até agora. Primeiro, gostamos muito da Exa. Por que gostamos da Exa? Porque ela oferece uma busca muito boa. E a busca é muito importante para os modelos, porque eles precisam conhecer o que está acontecendo agora, e essa busca precisa ser de alta

16:58 qualidade. Precisa ser econômica. E precisa ter uma latência adequada para o meu sistema. Certo, todos aprendemos isso. E então pensamos: “Ei, eu realmente quero isso. E uma parte importante de colocar isso no meu modelo é poder controlar a versão, para que eu possa provar que isso agrega valor, em vez de confiar só em impressões e torcer para que agregue valor.” O que vamos fazer agora é a parte divertida deste workshop: vamos dar a todos vocês um tempo para experimentar essa ferramenta na prática. Há um pequeno QR code na tela; vocês podem escaneá-lo com um celular. Também podem simplesmente digitar este pequeno URL no computador; a interface no laptop provavelmente será mais adequada. E vou dar uma breve visão geral do que estamos tentando fazer aqui. A ideia é que, se vocês lembrarem do exemplo que vimos antes, vão tentar prever quais empresas serão adquiridas pouco antes de isso acontecer. Para explicar um pouco o cenário, vamos supor que você esteja

17:29 também basta inserir esta pequena URL no seu computador, e a interface do seu laptop provavelmente será mais adequada. E agora vou dar uma breve visão geral do que estamos tentando fazer aqui. A ideia é que, se você pensar no exemplo que vimos antes, vai tentar prever quais empresas serão adquiridas pouco antes de isso acontecer. Para contar um pouco a história aqui, vamos supor que você

18:00 trabalhando em alguma instituição financeira. O chefe do chefe do chefe do seu chefe foi a um workshop de engenharia de IA e disse: “Ei, ouvi falar desse recurso de busca na web muito, muito legal. Acho que deveríamos apresentá-lo ao nosso gestor de portfólio.” E o gestor de portfólio diz: “Certo, quero ver. Você tem 20 minutos. Tente ver se consegue deixá-lo bom.” E a variável de confusão mais importante aqui é que você não tem um coding agent. Então, precisa fazer tudo manualmente, porque seu uso acabou ou algo assim. Esse é o contexto em que estamos. Sua tarefa será encontrar os

18:31 dois melhores recursos que prevejam com precisão a aquisição de uma empresa. O Access Snapshot vai usá-los para voltar no tempo e testar seu recurso 1 dia, 7 dias e 30 dias antes da aquisição. Ou numa data aleatória, se a empresa não tiver sido adquirida; então há algumas variáveis de confusão aí. Um recurso é simplesmente uma pergunta de sim ou não que você acredita que poderia prever uma aquisição. Você pode testar quantos quiser; há alguns exemplos, e vou passar por aí para conversar com vocês e ajudar no que for possível. E vocês podem

19:05 testar quantos quiserem. Quanto à pontuação, vocês ganham um ponto se o recurso indicar que a empresa será adquirida 1, 7 ou 30 dias antes de isso acontecer. Perdem um ponto se disserem que ela foi adquirida, mas isso não aconteceu. E não há impacto para falsos negativos ou abstenções, porque somos muito generosos. A melhor pontuação é registrada automaticamente; vocês podem tentar quantas vezes quiserem. Vou reservar, digamos, uns 30 minutos. Então

19:36 vamos começar agora. Vocês têm 30 minutos para criar o melhor recurso possível. Vou passar por aí. Talvez possamos colocar uma música ambiente que dê às pessoas a sensação de estar trabalhando numa empresa de gestão de portfólio e ouvindo batidas lo-fi. Vou passar por aí e conversar com vocês. Certo, vou fazer um exemplo bem rápido só para mostrar como funciona. Se vocês já começaram e estão mandando bem, fiquem à vontade para continuar. Mas vou inserir um exemplo aqui. Vocês vão ver esta interface à sua frente. Há várias opções; ela vai pedir

20:09 que vocês adicionem um novo recurso. Podem escolher um dos exemplos ou digitar o que quiserem e clicar em executar. O que ela vai fazer é pesquisar um monte de empresas usando o Snapshot da Exa. Este foi rápido porque estava em cache; isso mostra uma melhoria de desempenho e que testamos tudo isso antes. Depois, ela vai executar a consulta para este conjunto de 10 empresas. Nesse conjunto, algumas foram adquiridas e outras não. Elas são variáveis de confusão. A ideia é que vamos usar esta consulta específica: “Esta empresa perdeu o CEO ou o CFO, ou nomeou uma liderança interina?” E, para todas elas, vamos voltar no tempo e fazer essa busca com controle de versão. Então, no caso da Delivery Hero, vemos: “Ei, houve uma mudança na liderança executiva. Sim.” E a empresa acabou sendo adquirida. Então, talvez isso seja preditivo. Só que a Quagen — não sei se estou pronunciando corretamente — também teve uma mudança na liderança executiva, mas não acabou sendo adquirida. Ah, não, essa é uma variável de confusão. Então, a tarefa de vocês é tentar descobrir: “Ei, quais são um ou dois recursos que posso adicionar a isso e que serão os

20:39 essa empresa perdeu o CEO ou o CFO, ou nomeou uma liderança interina. E, para tudo isso, vamos voltar e fazer essa busca por versões. No caso da Delivery Hero, podemos ver: “Ei, houve uma mudança na liderança executiva. Sim.” E a empresa acabou sendo adquirida. Então, talvez isso seja preditivo. Só que a Quagen — não sei se estou pronunciando corretamente — também teve uma mudança na liderança executiva, mas não acabou sendo adquirida. Ah, não, essa é uma variável de confusão. Então, sua tarefa é tentar dizer: “Ei, quais são um ou dois recursos que posso adicionar a isso para que seja”

21:11 mais preditivo?” Então, aqui vou adicionar mais um. Este é tipo: “Ei, foi noticiado que a empresa está explorando uma venda?” Adicionar isso melhora ou piora o resultado? E, neste caso, dá para ver: “Ei, identificamos muitas aquisições, então estamos indo muito bem em encontrar coisas, mas também estamos detectando muitos alarmes falsos.” Então talvez precisemos ser mais restritivos na forma como combinamos esses dois recursos. Aqui, coloquei uma combinação bem simples, tipo

21:42 uma combinação. Você pode escolher “ou”: se qualquer um dos dois recursos indicar sim, vamos contar o resultado como: “Sim, você está prevendo que a empresa será adquirida a partir daquele dia.” Você também pode escolher “e”. E, se eu escolher “e” aqui, a pontuação melhora um pouco, o que significa que os dois recursos precisam ser verdadeiros. Se os dois recursos forem verdadeiros para aquela empresa naquele dia, o resultado será sim. Isso é só um aviso. Vou voltar ao placar, mas fiquem à vontade para levantar a mão se tiverem alguma pergunta enquanto avançamos. Certo, faltam 10 segundos. Se ainda não clicou em executar,

22:16 talvez seja tarde demais. Fiquem à vontade para mexer na combinação de “e” e “ou” e tentar conseguir seus últimos resultados. Ufa. Certo, parabéns. Zane, John e Ree, poderiam vir ao palco se ganharam um prêmio? Se não, vamos chamar alguém mais abaixo na lista. Uma salva de palmas, por favor! Podem subir, não sejam tímidos. Não sejam tímidos. Prêmios incríveis e caixas-surpresa esperam por vocês.

22:47 Ei, parabéns. Parabéns, John. Um terreno muito valioso. Ei, parabéns. Então, vou entregar os prêmios. >> Obrigado. Vocês vão se alinhar perfeitamente para tirarmos uma foto.

23:38 Certo, depois vamos extrair uma imagem estática desse vídeo. Então vamos dar uma olhada, ser curiosos e ver o que a pessoa em primeiro lugar fez. Zane: “Esta empresa é de capital aberto?” Um recurso muito interessante. Número dois: “Esta empresa é uma empresa diferente de Qiagen, Vitris, Bank of Cryptos e American Electric Power?” Parabéns. Você é o motivo pelo qual eu queria ter um conjunto de holdout. >> [risos] >> Eu o removi porque queria que fosse simples, mas este é um bom exemplo de por que precisamos fazer backtesting e por que precisamos fazer backtesting com um

24:08 conjunto de holdout. Então, vou considerar isso um recurso, não um bug, >> [risos] >> por não incluir um conjunto de holdout, e um exemplo de por que o overfitting é muito perigoso, porque não acho que esse algoritmo específico teria sucesso no futuro, mas quem sabe? >> [risos] >> Número dois, Ree. Então, certo, ele roubou o lugar de Zane. [risos] Talvez tivesse ficado perto. E, por último, John. “Nos últimos 12 meses, um investidor ativo ou acionista significativo pediu publicamente uma venda apoiada da empresa como um todo, ou o preço atual das ações da empresa está

24:39 pelo menos 60% abaixo do preço máximo dos últimos 5 anos, ou a empresa se chama Dominion?” Também há um pouco de overfitting aí, mas eu diria que provavelmente teve um desempenho melhor. Então, isso é um exemplo de por que é importante fazer backtesting, certo? Porque este é um exemplo um pouco restrito. Estou começando a me arrepender de ter removido meu conjunto de holdout, embora ache que as pessoas teriam ficado muito mais confusas se eu o tivesse mantido. Mas isso dá uma ideia do valor disso, certo? Porque, se você conhece o conjunto existente, pode ajustá-lo demais, mas a ideia é que,

25:09 como você tem essa capacidade, pode verificar isso, certo? Pode voltar e dizer: “Vou consultar minhas anotações e restringir o modelo a estas 10 empresas, nas quais sei que aconteceu algo, e a estas 20 empresas, nas quais não aconteceu, e treinar e iterar no meu modelo, certo?” E garantir que ele continue tendo um bom desempenho, não apenas nos conjuntos visíveis publicamente. Então, vamos recapitular os destaques. Também vou… Meu Deus, tem muita gente aqui. Preciso rolar bastante a página. Vou colocar todos vocês numa página de agradecimentos. Eu já deveria estar

25:39 na página de agradecimentos. Nela, há um link para nossa documentação. Adoramos documentação. Há um link para nosso blog. É mais fácil de ler do que a documentação >> [fungada] >> e é mais voltado para as pessoas. E, por último, há a possibilidade de me enviar um e-mail. Agora estou me arrependendo disso, porque há 100 pessoas na sala, então espero receber muitos e-mails. Mas isso também é um recurso empresarial. Temos algum uso público, mas, se tiver interesse em acessar isso para sua equipe, envie-me um e-mail e vou fazer contato com nossa equipe empresarial. Vamos recapitular os destaques. Número um: adoramos Exa. Por quê? Porque

26:11 é uma ótima ferramenta de busca na web para agents. Tem um bom custo-benefício. É muito econômica. Tem a latência de que eu precisar. Quero isso no meu modelo. Número dois: snapshot. Ele me permite fazer backtesting do meu modelo. Permite ver o quanto Exa é boa em melhorar seu modelo. E, número três, considere mesmo adicionar um conjunto de holdout à sua competição, porque, caso contrário, você pode acabar fazendo overfitting. Obrigado a todos.

Transcrição original

[00:01] [music] >> Hello everyone. First of all, I’m Ryan. I’m a full stack engineer here at Exa. Very excited to walk you all through this very cool capability. Um we basically have perfect search for AI agents coming soon, but at least now you can version control it. Um what I’m going to take you through today is a few things. So, first off, just a little bit like what is Exa, what is agentic web

[00:31] search, why do I even care about this thing? At the end of point one, you’re going to be like, I need agentic web search. I need it in my thing, regardless of you’re doing anything financial or not. Number two, okay, I know I want this thing, but why do I care about version control? At the end of number two, you’ll know why you care. And it’ll be very important cuz on number three, there’ll be a little hands-on exercise where you may or may not win a prize. Hopefully that motivates you to pay attention through points one and two. So, um I’m going to start off a little bit with like a show of hands just to situate. So, who here has heard of Exa before? Okay, we have a good few people, but a

[01:04] few people that haven’t heard, which is perfect. How many of you have used like a search engine like a Google to do desktop research in a prior prior role? Like using Google just to search things around, at home, at work, whatever. Hopefully like most people, sweet. Then the last piece is going to be, hey, how many times have you now stopped using Google and instead use ChatGPT or Claude or some other agent and say, hey, can you find this thing out for me? Raise your hands if like now you do that. Sweet, great. Okay, perfect. We’re going to tie all of those three things

[01:35] together because um the exact same thing that so many people just put their hands up, that’s what we’re seeing right now. So, AI is actually searching a lot more than humans do nowadays. Why? Cuz it can handle so much like back and forth, right? It can go out, it can do multiple searches, it can find what you’re really looking for, can search through multiple pages, and work really hard to get you the answer you need. And we’re starting seeing way more people are using AI to search and AI searches more and it searches more efficiently than humans. Humans are kind of lazy. You’ll be like, all right, I’m looking for this thing. I’ll put in a few keywords. Hopefully it’s on page one, otherwise I don’t

[02:08] care. Whereas AI systems, they really want to satisfy. These are the tend to be quite agreeable. I don’t know if you found that out. And so they’ll continue to searching until they find the thing. It’s like all of these things mean there’s a lot of search. And all of those tools, when you ask it a question, it’s like, I need to look outside my knowledge window. I need to consult the internet. It will use a tool like Exa. And that’s what we provide. So we actually provide search for some of the largest like coding agents and agentic applications in the world. So whenever you’re using Cursor, and Cursor’s like,

[02:38] gosh, if only I knew what the docs were, I could really help. It will use Exa to go out and find that doc and bring it back to its orchestration agent so it can answer the question. Or you’re using Gamma and you’re like, gee, if only I knew like what the financial returns were of like I don’t know, Bank of America in 2019. This slide would pop. It’s able to use Exa to go out and find that information. So that’s kind of where we sit. I’m also just going to like do like a quick thing on finance cuz this is like Wall Street meets AI. So hopefully you’re either in finance or you’re interested in this. But we work

[03:09] across a lot of these areas. It’s a particular area of interest to me. I work with some hedge funds and sovereign wealth funds and asset managers and VCs across these topics because they want information. Either they’re like, you know, hedge fund and they’re looking for alpha to to make financial decisions against. They’re an asset manager, they’re trying to forecast risk. They’re a VC and they’re like, oh, I want the hottest new startup in my pipeline and I got to find them before like The Verge or someone like in um um like puts up an article about it. They all leverage Exa. Um so

[03:41] hopefully by the end of this you’re like, okay, yes. Um this is a really, really interesting space. But like kind of like why Exa? Like what do we do? Where we’re a little bit different is that like we we of see ourselves as a lab and doing fundamental research to really push this forward. So, I’m going to touch on like the core triangle of like quality, cost, and latency really quick just so you know that you really want to put Exa in your application, and then we’ll talk about versioning, um which would be like, “Ah, now I can actually see how and where this would be

[04:11] used to back test my application.” So, first, quality. You want your results to be good. We care about that so much that we built our own regenerative benchmark. Why do you want to do that? Because search moves very quickly. You publish a benchmark and all of the search um providers and eventually the labs would be like, “We’ve got to train on that and climb the hill.” So, what you really really care about, if you’re a search engine that really believes in your stuff, is you want to create the uh you want to create the benchmarks that people can make for themselves against their use case and keep it up-to-date so

[04:41] that your search engine is working for you because you want to return the latest information. That’s what the whole uh that’s the whole reason why you’re using a search provider and not just asking uh ChatGPT or OpenAI and answering from its weights. But, you’re like, “Okay, I want quality, but I want it the lowest cost.” We care about that not just at like the search time, but also, you know, search is a lot of tokens and tokens goes into a context window. And what does that mean? You’re paying input costs. So, we developed technologies to try and return just the tokens that you need, not just across one result, but because all the results, so that your coding agent or whatever

[05:14] application can answer the question without having to pay a lot on input token costs. Lastly, latency. Really quickly, you can go very fast, so we have like sub-300 millisecond search all the way up to like, “Hey, work for like um I think I did one with like, ‘Find me all the video game publishers’ cuz I was trying to do some eval.” It worked for 20 minutes and it found 3,212 of them and the developers that they work with. So, across the full spectrum, we’ve got you, no matter what point you’re trying to implement it into your architecture. And now you’re saying, “Ryan, okay, that’s great. I really like Exa, but I want to version control it.”

[05:45] Or, “Why do I want to version control it? Um and that’s going to be the uh kind of focus of this discussion today to talk about this new capability we released called Exa Snapshot, which allows you to take our search as it is today, um but actually see what it would look like if you searched at a point in the past. I’m going to motivate like firstly what this is and then why you care about it. So, firstly, what is this? So, uh we’re a search engine, so we spend a lot of time looking over the web. Uh and whenever we find this content, what we’ve been doing has been putting it

[06:15] into our index. And when we find like a new version of the page, or even when we just discover the same page at a date in the past, we store a version of that. Um and that means that like every URL across our full index, which is an index of the entire web with um everything around 100 billion documents tracking trillions of URLs, uh you can now go back in time. Um and there’s two ways you can do that. The first one is like I know a URL, but I want to see what was that like in the past. Um and there’s content versioning

[06:46] for that. So, you can go in, you can provide a date, and we will show you the content as of that date or the nearest date that we had before. So, you can guarantee that you have a version of that page that we would have served at that time. More broadly, you can use version search, which is not just like finding a URL, but executing a search as you would have done now, but in the past. Let’s like dive into just like two very very small examples around this. Um and then like can kind of give like a vibe of some use cases. So, first one, let’s say you’re

[07:21] uh interested in financial markets. Who would be interested in financial financial markets around here? Um and one thing you might be trying to do is figure out like, “Hey, how can I understand the hottest and latest startups?” Maybe you guys would have heard of OpenAI. And there was some interesting news happening recently where um previously Axios and a few other people were reporting around uh OpenAI’s uh annualized um like revenue and there’s ideas like oh it might be up near like sort of 70 billion. And then more recently there’s a lot of news about is it 70 billion or 50 billion?

[07:51] Turns out to be some like you know accounting management about whether it’s gross revenue or net revenue, whether you’re passing through certain cloud providers costs to you, do you recognize that revenue or not? But if you’re a person who is in the business of understanding these things, it would be really helpful if you can be like hey I want to make sure that I’m designing a system that is able to look at these things, right? That is able to like at the point where you would have done that search, when you would have had that information, like is it tuned in such a way that it would reveal this like

[08:25] accounting footnote that could actually be very valuable to trade against. Let’s say you’re trying to do something arguably even more or less important, which is to understand the adverse media for like very important folks or maybe less important folks. And so like Ed Sheeran he had some like adverse media against him relatively recently. But if you look back a little bit before that event, you can see like hey what are a few other things that existed or you know he was he was not really good at insurance, maybe you wouldn’t want to

[08:55] sponsor him for some insurance product. But the main thing here is that like at the point now where you’re like hey I’m maybe I’m an insurance provider and I wanted to do some like counterparty due diligence or KYB or KYC or you’re working like any business and you’re trying to do partnerships and part of your flow is understanding another party. It would be good to be able to go back and be like hey I’ve designed this system to go out and do a bunch of web search and figure out what this person is, what this business is, how they could be classified, what whether we would insure

[09:25] against them or not. And now you’re able to design that system and then with Hexo go back and test it. Um So that just gives like a few examples of sort of how and where uh, like snapshot can be useful in order to to kind of like backtest these systems. So, um, here’s just like an an example of this. Um, as a note, this is important to take in some some awareness of because it may help with uh, you achieving some some some great excellence later. Um, but let’s say you’re like trying to

[09:57] understand something around like acquiring companies. So, you may be like, “Hey, I’m trying to design my system. If you do a search right now, I could see that this company is already acquired, but I might want to go back in the past and be like, “Hey, what about 1 day before the acquisition, 1 week before the acquisition, a month before the acquisition? Would I be able to find the information to predict that?” So, any live search necessarily is kept up to date. That’s what you’re kind of paying for, right? That if you did a search now, you’d have the latest information.

[10:27] But, um, that also leaks kind of the future knowledge of that into an evaluation of the past. If you’re creating some predictive system, and all it does is goes like, “Okay, I look at the news and it says that this thing was acquired, so tick, it was acquired. 100% successful true positive rate.” It’s assuming the search is good enough, which you hope it would be. Um, what’s what’s helpful with with snapshot and and kind of version version control search, you can constrain like what particular information is exposed at which time. So, here in this little example, I might

[11:01] set the snapshot date to like just before the outcome was announced. So, I know that the only thing that’s going to be informing this system is uh, information that um, doesn’t actually leak the exact confirmation of that thing, right? And then you could tune it to do different things. Like, maybe I have a feature that I really care about hiring. I want to make sure I find the right hiring signals. Maybe I have a feature that cares about like analyzing earning calls or or transcripts or or podcast interviews with the CEO. Whatever it is that’s important to you, um, you’re able to

[11:34] kind of tune that system and see, “Hey, would that have actually improved my prediction or would it not have improved my prediction?” I’m going to share just like and I’ll spend like a tiny bit of time here but just talking about like a couple of patterns that we’ve seen in the backtesting space recently. So, the first one is around this idea of like a traditional model. So, the idea is here is you’re just going to gather data that you need to backtest the model that you already have. You can kind of think of this is like, “Hey, maybe I have some system and it operates in the

[12:07] world. I don’t need I don’t need all that agentic web search. I love my system. It’s amazing.” Right? But maybe one thing that you can’t do is actually go back and gather the features that you had in the past today. Right? Could be that they’re based on web pages and those web pages just don’t store a version that you can go back to. It could be that you’re trying to have some sort of system that like takes like newspaper pages or some other articles and you can’t really trust the publish date. Very small digression here but

[12:39] like publish dates of articles actually update all of the time. Both for like hey, like we’ve legitimately updated it all the way down to like hey, like SEO really likes up-to-date articles. So, maybe we just like update it one more time. So, that means that like you can’t really trust that like publish date feature feature and is really important especially if you’re making quite like substantial decisions around this that you’re able to trust what that feature is. So, you may just decide, “Hey, I’m going to use snapshot. I know some URLs or some websites that I

[13:10] care about. I’m going to like jump back and just gather the data that I need and then put it in whatever feature I need, some array of numbers etc.” X is not even involved in the prediction but this is like a perfectly valid and like relatively straightforward way that you might already be using some kinds of version data to backtest your system. Okay, that’s the that’s the existing space. Um what about the future? The future of perfect search. Okay, so there’s two sort of patterns here. The first one is like I’m going to add an agentic feature to a traditional

[13:41] model. It’s kind of similar to what we were talking about before, but the idea is in the live model, it’s actually going to be using X or to like X to go out, search the web, turn all of that unstructured information into a structured signal, and then trade against it. So you could think about something like the adverse media scan like against our friend Ed Sheeran before. Um you you might be designing your system to be able to do some like counterparty due diligence, um and in the live production system,

[14:13] that might just be like one arm, right? It’s uh the system itself may not have any agency, it’s just going to collect a bunch of features, and then maybe you’ve like trained a model um um just like a traditional ML model to say like yes, we’re going to invest, or no, we’re not going to invest. You can uh go back and back test those agentic features one by one with X or and be like hey, uh against like a true positive match where something um like >> [clears throat] >> either like I don’t know, the the the the thing that you care about happened,

[14:44] either like that business succeeded or it didn’t succeed, you can test and be like were we able to correctly predict that, um or did we not? And most importantly, you can then tune that system. Because the way that with all of these non-deterministic systems, the way that you tune them is like really really important. So if you tune it to search a certain way, maybe it succeeds more often. If you choose to search another way, succeeds less often. And that is you can control that experiment and then add it into your system like one feature at a time. Um then like uh on the far would be right hand side, the idea is like there’s this

[15:18] like future where there’s some like predictions, startups, and other folks operating where potentially like the full system is agentic. Um so the system itself may or may not choose to search the web through some tool call. Um it could be uh combining internal knowledge. It could be combining like structured external knowledge. And it can kind of do that at run time. The idea is be like, “Hey, this is kind of what humans do when they go out and do some prediction. They have some agency. They’re going to search for this or search for that.” And essentially you can ground that uh like interface for

[15:52] your model into the outside world into the outside world. And then you can uh ensure that when that system was operating, it was able to search um only the information that it had at that time. So one like practical example of this is like let’s say you’re trying to improve your coding model. And hey, one part of that coding model would be uh whether it can solve a PR or not. You could be like, “Hey, I’m going to freeze right before that PR was solved uh in an in an external repo and then let the system run. And then hopefully, if it’s

[16:25] able to resolve the task, you can have more confidence that that’s a change in the model weights or whatever component in the system that you’re actually paying to improve through your training process, then it is just like future information sort of like leaking into the current. Okay. So that’s just like a little bit of like an overview of like snapshot and a few of the ways that it’s being used to backtest. I’m just going to like uh recap what we’ve seen so far. So first, we really like Exa. Why do we like Exa? Because it’s very good search. And search is very important for models because they need to know about uh the current uh and it needs to be high

[16:58] quality. It needs to be like uh cost effective. And it needs to be at the latency that makes sense for my system. Okay, we’ve all learned that. And then we’re like, “Hey, I really want that. And a big part about putting that into my model is being able to version control it so I can prove that it adds value, not just like vibes and hope that it adds value. Um what we’re going to do now is like the fun part of this workshop, which is we’re going to give you all time to kind of go hands-on with this tool. So, there’s a little QR code on the screen, you can scan it with a mobile. You can

[17:29] also just like enter this [clears throat] little URL into your computer and the uh interface on your laptop will probably be uh more amenable. Um and then I’m just going to give you like a little bit of an overview about what we’re trying to do here. So, the idea is, if you think back to the example that we had before, um you’re going to be trying to uh predict like what are company acquisitions right before they happen. Um to tell like a little bit of the story here. So, let’s assume that you’re

[18:00] working in some financial institution. Uh your boss’s boss’s boss’s boss like went to some AI engineer workshop and they’re like, “Hey, I heard this like really, really cool web search feature. I think we should present it to our portfolio manager.” And portfolio manager’s like, “Okay, I want to see it. You’ve got 20 minutes. Um try and see if you can make it good.” Um and the most confounding variable here is you don’t have like a coding agent. So, you have to do it by hand because your usage just ran out or something. Um so, that’s the kind of context of where we’re sitting ourselves at. Your task is going to be to find the

[18:31] best two features that like accurately predict a company acquisition. Uh and then Access Snapshot is going to use that to go back in time uh 1 day, 7 days, and 30 days before the acquisition and test your feature. Um or a random date if they weren’t acquired, so there’s a few confounding ones in there. Um feature is just like a yes/no question um that you believe would predict an acquisition. You can test as many as you like, there’s a few examples in there, and I’m going to be coming around just to talk with you all um and kind of like help you along the way. Um and you can

[19:05] test as many as you like. Scoring, you get plus one point if you uh uh if your feature declares that this company would be an acquired uh on 170 30 days before it did. You get minus one if you say that it got acquired, uh but it didn’t. And then, no impact for misses or passes cuz we’re very friendly. Best score automatically captured, you can try as many as you want. I’m going to set us up for let’s say like 30 minutes. Um so

[19:36] uh we’ll kick that off now. And you have 30 minutes to try and put in the absolute best feature that you want. I’ll be coming around. Maybe we can put on like a little bit of soft music that kind of gives people the vibe of working in [music] a portfolio manager company uh and listening to like low-fi beats. Uh and I’ll come around and talk with you all. Okay, I’m just going to do like one like real quick example just to kind of show people how it works. If you’re already going away and and and winning, keep feel free to keep grinding. Um but I’m just going to put one example in here. So, you’ll see this interface in front of you. You have a bunch of um it’ll ask

[20:09] you to put in a new feature. You can pick one of the examples or type whatever you want and hit run. Um and what it’ll do is it’ll go out, it’ll use excess snapshot and search a bunch of them. This one was fast because it was cached, so uh that’s a performance improvement to show you that we did test this beforehand. Um but it’ll go down and it’ll run that against this set of 10 companies. So, within this set of companies, some of them were acquired. Some of them were not acquired. They’re confounding variables. Um and the idea is that like we’re going to take this particular query, so has

[20:39] this company lost its CEO or CFO or appointed interim leadership. And for all of this, we’re going to go back and do that version search. So, Delivery Hero, we can see, “Hey, um there was an executive leadership turnover. Yes.” And the company did end up being acquired. So, hey, maybe this is predictive. Except, Quagen, I don’t know if I’m pronouncing that correctly, they also had like executive leadership turnover, but they didn’t end up being acquired. Oh, no, that’s a confounding variable. So, your task is to try and be like, “Hey, what are the one or two features that I can add to this that will be the

[21:11] most predictive?” So, here I’m going to like add one more. So, this one is like, “Hey, has it been reported to be exploring a sale?” Does adding that improve it or make it worse? And in this case, you can see, “Hey, we’ve picked up a lot of the um uh we’ve picked up like a lot of the acquisitions, so we’re doing pretty well in terms of finding stuff, but also like, “Hey, we’re picking up like a lot of false alarms here.” So, we might need to be more uh constraining in the way that we’re combining these two features. So, here I’ve put a very simple like

[21:42] combined thing. You can either choose or, which is if either of your two features trigger yes, then we will count that whole thing as being like, “Yeah, you’re predicting that it is going to be acquired as of that day.” You can go and, and if I see if I go and here, the score improves a little bit, which means both of these two features need to be true. And if both of those two features are true for that company on that day, then you’ll trigger yes. Um that’s just like a PSA. I’ll go back to the kind of like leadership board there, but feel free to chuck up your hands with any questions as we come through. Okay, 10 seconds left. If you haven’t

[22:16] already hit run, it may be too late. Feel free to nobble over the combined and or to try and get your last few results. Phew. Okay, congratulations. So, Zane, John, and Ree, could you come and join me on stage if you won a prize? If not, we’ll go further down in the list. Can we have a big round of applause? Come up, don’t be shy. Don’t be shy. Brilliant goods and mystery boxes await you.

[22:47] Hey, congratulations. Congratulations, John. Very valuable land. Hey, congratulations. Um so, yeah, let me hand these out. >> Thank You’re going to line up brilliantly so we can do a photo.

[23:38] Okay, we’ll take a still out of that video later. So, let’s just like poke around and be nosy and see like what did our number one person did. So, Zane Is this company a publicly listed company? Very interesting feature. Number two, is this company a company other than Qiagen, Vitris, Bank of Cryptos, and American Electric Power? Congratulations. You are the reason why I wanted to have a holdout >> [laughter] >> I removed it because I wanted it to be simple, but this is a good example of why you need to do backtesting and why you need to do backtesting with a

[24:08] holdout set. Um so, I’m going to take this as a feature, not a bug, >> [laughter] >> of not including a holdout set and why overfitting is very dangerous because I do not think that this particular algorithm would be successful in the future, but who knows? >> [laughter] >> Number two, Ree. So, okay, he stole Zane. [laughter] Maybe it would have been seated nearby. And lastly, with John. So, within the past 12 months, has an active investor or significant shareholder publicly called for a supported sale of companies as a whole or is company’s current share price at

[24:39] least 60% below its high price during the past 5 years or is it named Dominion? Also, a little bit of overfitting there, but I would argue it probably performed better. Um so, this gives like an example of just like hey, how and why it’s important to do backtesting, right? Because, you know, this is like a little constrained example. I I feel like I’m regretting removing my holdout set, although I do feel like people would have been way more confused if I did do that. Um but this gives you an idea of like why it’s valuable, right? Because if you know what the existing set is, you can you can overfit it, but the idea is like

[25:09] because you have this capability, you can check for that, right? You can go back and be like, “Hey, I’m going to go back in my book and be like, hey, I’m going to constrain like these 10 companies that I know something had happened to them, 20 companies that didn’t, and train and iterate on my model, right?” And make sure that it continues to perform beyond just like the publicly visible sets. Um so, let’s like recap the highlights. I’m also going to Oh my god, there’s a lot of people in here. I have to scroll very far. I’m going to put you all on a uh thank you page. I should already be

[25:39] on the thank you page. On the thank you page, you’ve got a link to our docs. We love documentation. You have a link to our blog. It’s more readable than the docs >> [snorts] >> and is more like human-facing. Uh and lastly, there’s a chance to send me an email. I really regret that now because there are 100 people in the room, so I’m expecting a lot of emails. Um but this is an enterprise feature as well. We have some public usage, but if you’re interested in having access to this for your team, send me an email and I’ll connect you to our enterprise team. Um let’s just like recap the highlights. Number one, we love Exa. Why? Because

[26:11] it’s great agentic web search. It’s good value. It’s very cost-effective. It’s at whatever latency I need. I want it in my model. Number two, snapshot. It lets me backtest my model. It lets me see just how good Exa is at improving your model. And number three, um consider really adding the holdout set to your competition because otherwise you may overfit. Thank you, everyone.