Como Resolvemos a Criação de Agentes — Andrew Qu, Vercel

AAI Engineer
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Olá a todos, obrigado por virem. Sou o Andrew, sou o Diretor de Software na Vercel, e estou aqui para
00:00:20falar com vocês sobre como resolvemos a criação de agentes na Vercel. Sou o Diretor de Software, então trabalho em
00:00:26uma mistura de engenharia interna, experimentação externa e, geralmente, estar na
00:00:30fronteira, construindo novas bibliotecas, frameworks e tecnologias. Para aqueles de vocês que não
00:00:36conhecem a Vercel, a Vercel constrói infraestrutura para agentes para que as pessoas possam construir o que vem a seguir. Começamos
00:00:42no mundo da web, ajudando as pessoas a lançar sites e aplicativos web sem precisar se preocupar com a
00:00:47infraestrutura que não torna o aplicativo melhor. Ele pode escalar para um milhão e reduzir para
00:00:50zero sem esforço. Mas estamos vendo uma mudança no que as pessoas querem construir. As pessoas começaram
00:00:56construindo páginas, mas agora as vemos querendo construir agentes, e embarcamos em uma
00:01:01jornada semelhante para facilitar a construção de agentes e aplicativos baseados em agentes. Construímos
00:01:08esta ferramenta chamada AISCK, então, em vez de precisar trocar 300, 400 linhas de código específico de um provedor,
00:01:13você pode trocar uma linha de código, e temos a mesma interface de modelo subjacente para todos esses
00:01:19provedores diferentes. Construímos muitas outras ferramentas para facilitar fallbacks de modelos, execução de código segura,
00:01:25melhores preços quando inativo e aguardando respostas, bem como para durabilidade e
00:01:30capacidade de retomada. E estou aqui para falar com vocês sobre como embarquei nessa experiência maluca há aproximadamente um ano, que levou a
00:01:38uma explosão de agentes na Vercel e resultou em algo muito legal que construímos recentemente.
00:01:46Por volta de 1980, Bill Gates, antes do meu tempo, deu esta citação dizendo que imaginava que haveria um computador
00:01:53em cada mesa e em cada casa. Sabe, isso provavelmente era bem contrarianista na época, e hoje parece
00:01:59muito normal que isso aconteça. E eu e o CTO tivemos essa ideia: em vez de um computador em cada mesa, poderíamos
00:02:07potencialmente ter um agente em cada mesa? Sabe, hoje nós realmente só usamos agentes para programação e cargas de trabalho
00:02:15técnicas, mas estamos começando a ver a expansão para áreas como design, gestão de produtos e outras
00:02:20verticais. E isso foi há cerca de um ano, então diria que cheguei bem cedo a isso. Mas foi quando
00:02:27existia o Sonnet 4 e as coisas não eram tão sofisticadas quanto são hoje. E tentei explorar isso, ver o que poderíamos
00:02:33fazer a respeito. Fui a várias funções de trabalho na Vercel: marketing, vendas, finanças, jurídico. E perguntei a eles: o que vocês mais
00:02:42odeiam no seu trabalho? E o caso de uso mais convincente que ouvi foi na equipe de dados. Eles estavam crescendo, eram uma equipe muito enxuta,
00:02:50mas a Vercel estava crescendo mais rápido. Sabe, eles tinham muito mais dados de clientes, análises, métricas, vendas. Eles apenas precisavam continuar agregando e disponibilizando tudo para uso.
00:03:02E, nessa época, se você pensar no que o pessoal de ciência de dados precisa fazer, sempre que alguém do marketing ou de vendas tem uma
00:03:11pergunta sobre um cliente ou um produto, a equipe de ciência de dados precisa largar tudo o que está fazendo, escrever a consulta, processá-la, fazer uma análise e voltar com alguma
00:03:19recomendação sobre o que fazer. E isso era realmente prejudicial para a produtividade. Sabe, a equipe de dados não queria largar tudo e apenas escrever consultas o dia todo. E então trabalhei com o nosso VP de dados para tentar construir uma forma melhor de fazer.
00:03:31tentar construir um jeito melhor para eles operarem assim. E se você pensar na primeira coisa que faria se quisesse usar IA
00:03:40para resolver um problema, você talvez construísse um mega prompt enorme. Sabe, você tem uma pergunta, passa para um LLM, pede para responder e pronto. Sabe, foi assim que a primeira versão realmente se parecia, honestamente.
00:03:52Pedi a eles um dump do esquema do Snowflake. Colei em um prompt de sistema com uma pergunta. E então, quando gerou o SQL, eu mesma
00:04:01copiei e colejii aquilo e executei eu mesmo. Sabe, eu só queria ver se os modelos hoje são bons o suficiente para escrever SQL válido com uma estrutura
00:04:09decente. E diria que isso nos deu um pouco de confiança de que, sabe, os modelos de hoje não são tão bons, mas talvez possamos fazer engenharia de contexto ou melhorar o contexto ao redor e dar mais proteções para operar um pouco melhor.
00:04:21E se você realmente pensar no que um cientista de dados precisa fazer quando recebe uma pergunta, sabe, ele precisa processar a pergunta.
00:04:28Ele pode ter que explorar a camada semântica e descobrir quais são os padrões de junção. Ele realmente vai lá e executa o SQL.
00:04:35Ele pode voltar e fazer isso de novo se o SQL não foi executado ou se foi muito caro. E ele eventualmente relatará sobre isso, incluindo visualizar os
00:04:42dados, talvez escrever alguns parágrafos, talvez fazer uma retrospectiva, talvez fazer outras coisas. E se você pensar nessas diferentes fases, eu e o VP de dados
00:04:50tentamos sentar e mapeá-las em cargas de trabalho de agentes específicos. E assim, a segunda versão deste agente de ciência de dados
00:04:57chamado D0 — vou chamar de D0 daqui em diante —, é que você faz uma pergunta, temos um agente de consulta que passa uma consulta para o
00:05:05agente de planejamento que depois terá um agente de execução, e assim por diante. E se você encadear tudo isso, você obtém
00:05:11algo que se parece com isto, onde cada agente tem um prompt de sistema muito dedicado focado no que ele faz, com ferramentas voltadas exatamente para essa função.
00:05:20Portanto, um exemplo aqui, você pode ver que para o primeiro, o agente de planejamento tem uma ferramenta de leitura de entidade YAML e de busca de esquemas. E assim ele usará apenas essas
00:05:31capacidades até ter uma resposta para passar para o agente de planejamento e depois para o agente de SQL e, em seguida, para relatórios. E isso estava melhorando.
00:05:38Sabe, conseguimos nos afastar da necessidade de copiar e colar um SQL e ter que voltar e relatar
00:05:44sobre ele. Agora ele estava realmente fazendo o loop de ponta a ponta da pergunta à resposta. Mas começamos a bater em algumas paredes com esta
00:05:54arquitetura. E por volta dessa época, chegamos à conclusão de que, sabe, o que você realmente precisa é de um
00:06:01agente com todo o mega contexto dentro dele e para que ele gerencie sua própria memória. Sabe, isso foi por volta da
00:06:07época em que percebemos que você realmente quer que o agente seja capaz de olhar para trás no que fez, refletir
00:06:13e descobrir os passos que o trouxeram até aqui. E com o modelo anterior, você deve ter percebido que a única coisa que o
00:06:19próximo agente recebe é um resumo e um pequeno trecho da coisa anterior que foi feita. Agora, dessa forma, você pode
00:06:25imaginar que você tem um mega agente e internamente ele gerencia seu próprio estado. Em alguns pontos ele está planejando,
00:06:30em alguns pontos construindo, em alguns executando e em outros relatando. E é mais ou menos assim que
00:06:36ele se parecia. Sabe, você tem uma grande chamada de IA, talvez com o limite de 100 passos, e você dá a ela a capacidade de gerenciar seu próprio
00:06:43estado com base em onde ela está dentro de sua jornada de execução. E assim você pode ver que é semelhante ao que
00:06:48ferramentas, você pode ver uma forma semelhante. Mas a melhor parte disso é que se ela encontrasse um erro ao executar ou
00:06:54fazer junções, ela podia voltar e explorar mais, ou podia ir e ler mais e descobrir o que estava fazendo errado.
00:07:00E estava muito bom a esse ponto. Estávamos bem confiantes no sistema real em mãos, e nós realmente
00:07:06o espalhamos para alguns membros de confiança de nós mesmos. Sabe, essa era uma ferramenta muito poderosa e nós realmente não queríamos colocá-la nas
00:07:11mãos das pessoas erradas ou de pessoas que usavam cargas de trabalho muito críticas. Então colocamos nas mãos de algumas pessoas e a resposta imediata
00:07:17foi que era horrível. Sabe, achávamos que estábamos arrasando. Achávamos que isso estava, sabe, acertando 30% das nossas avaliações.
00:07:23Mas não podíamos ter antecipado algumas das perguntas que estavam sendo feitas. E para passarmos mais tempo
00:07:28mapeando manualmente alguns desses cenários, não parecia uma forma muito escalável de fazer isso.
00:07:33E então o Claude Code e o Opus 4.5 foram lançados, ou melhor, o Opus 4.5 foi lançado, e em conjunto com o Claude Code era simplesmente tão poderoso.
00:07:44Sabe, eles de certa forma desbloquearam o conceito de um agente de sistema de arquivos. E nós, paralelamente, pensamos: nossa, o Claude Code e o Opus 4.5 são basicamente AGI em comparação com o que tínhamos antes.
00:07:56Sabe, ele respondia à maioria das nossas perguntas sem hesitar, em comparação com o agente artesanal que tínhamos.
00:08:04E quando tentamos dar um passo atrás e nos perguntar o que estávamos fazendo de errado e por que isso era tão melhor, percebemos que o grande diferencial era que era apenas um sistema de arquivos.
00:08:13Sabe, nós... ele tinha um conjunto mínimo de ferramentas: listar arquivo, ler arquivo, executar bash, e demos mais algumas aqui para o nosso próprio caso de uso de agente de dados.
00:08:24Mas o maior diferencial era que ele conseguia usar as ferramentas para as quais os agentes são bem treinados e era capaz de explorar e escrever trabalho onde precisava.
00:08:32Sabe, nós não estábamos dando a ele — o Claude Code não estava dando a ele um conjunto muito prescritivo de ferramentas.
00:08:37Ele estava apenas deixando-o solto e explorando comportamento emergente.
00:08:41E assim, a partir disso, aprendemos que você realmente pode apenas usar o sistema de arquivos.
00:08:44Sabe, vimos os aprendizados do Claude Code e o quão poderoso ele era, dado que apenas executa localmente.
00:08:50E tentamos reconstruí-lo de uma forma que fosse muito parecida com o Claude Code.
00:08:54Sabe, ele agora rodaria em uma sandbox.
00:08:57Essa sandbox despejaria toda a camada semântica nele.
00:09:00Você poderia — o agente seria capaz de usar bash, ler arquivo, escrever arquivo por toda parte para descobrir o que precisa.
00:09:05E nós apenas salpicaríamos algumas ferramentas no topo para garantir que ele pudesse fazer tudo o que é específico da Vercel.
00:09:10E este foi realmente o maior avanço de todos.
00:09:14Sabe, o salto de um único agente para o SDK do Claude Code e, em seguida, do SDK do Claude Code para o agente de sistema de arquivos em geral, ajustado ou construído especificamente para o nosso caso de uso, foi um salto incrível.
00:09:27A esse ponto, estábamos começando a nos preparar para disponibilizá-lo para mais pessoas na Vercel.
00:09:31E a essa altura, a pontuação de avaliação basicamente dobrou.
00:09:36E eu escrevi isso — é basicamente assim que se parece.
00:09:39É muito simples.
00:09:40Você apenas dá a ele uma ferramenta de bash.
00:09:41Temos um helper legal chamado bash tool no NPM.
00:09:44E você o conecta a uma sandbox.
00:09:45E você pode anexar arquivos à sandbox para ele ler, escrever e executar.
00:09:50E depois dessa revelação, e depois de ver que estábamos passando por tantas das perguntas que antes falhávamos, escrevi este post de blog sensacional.
00:09:59Ele está no ar até hoje.
00:10:00E na semana em que o escrevi, ele foi responsável por 70% do nosso tráfego no Vercel.com.
00:10:05Então você sabe que é um sucesso.
00:10:07E depois disso, o próximo passo lógico foi querermos descobrir os casos de uso comuns que tínhamos.
00:10:14Então, a essa altura, já tínhamos de certa forma soltado a coleira dele em toda a Vercel.
00:10:18E estábamos recebendo milhares de consultas por dia de pessoas querendo desde métricas de clientes, métricas de vendas, métricas de números, até downloads do NPM.
00:10:27E acontece que muitas dessas consultas têm, na verdade, o mesmo formato.
00:10:30Sabe, há apenas um número limitado de maneiras de fazer uma agregação.
00:10:33Apenas um número limitado de maneiras de procurar um produto.
00:10:35Apenas um número limitado de maneiras de consultar informações de faturamento.
00:10:37E então criamos um trabalho recorrente que pega as consultas mais recentes e tenta destilá-las em uma habilidade.
00:10:43E agora, temos aproximadamente 100 habilidades que fazem uma mistura de agregação até a busca de dados específicos sobre certas pessoas.
00:10:50E nós achamos isso muito eficaz.
00:10:52Porque, se você pensar bem, cada nova execução de agente começa do zero.
00:10:56Sabe, não há nenhum contexto pré-estabelecido além, é claro, da camada semântica e do prompt do sistema.
00:11:01Mas, com uma habilidade, ele já começa com um grande conhecimento contextual que de outra forma já teria sido feito.
00:11:09E é mais ou menos assim que ele se parece.
00:11:11É muito parecido com o anterior.
00:11:12Mas a inclusão de uma pasta de habilidades é realmente muito poderosa.
00:11:15Também construímos essa ferramenta na Vercel chamada Skills SH.
00:11:18É a maneira mais popular de encontrar habilidades de agentes e executá-las você mesmo.
00:11:22E estou dizendo tudo isso porque essa jornada é algo que a maioria de vocês pode enfrentar de vez em quando.
00:11:28Em que você começa com algo simples, adiciona complexidade gradualmente e eventualmente chega a um sistema que pode colocar em produção.
00:11:34E digo isso porque, em cada etapa da construção deste agente, alguém na Vercel se interessou por agentes.
00:11:42E eles tentaram criar uma ramificação do meu agente D0 e construir o seu próprio.
00:11:46E a cada passo, tínhamos uma maneira melhor de fazer algo que antes era desconhecido.
00:11:50E ficamos pensando: e se as pessoas hoje pudessem começar a partir do último insight e nunca precisassem começar apenas com um prompt simples ou reinventar os princípios básicos do zero?
00:12:04E então pensamos: e se construíssemos o Next.js para agentes?
00:12:09Para quem não sabe, o Next.js é um framework web popular construído pela Vercel que inventou esse conceito de infraestrutura definida pelo sistema de arquivos.
00:12:18Você não precisa se preocupar para onde vão as coisas.
00:12:20Você só precisa escrever arquivos nas convenções corretas.
00:12:23E ele declara automaticamente para onde eles devem ir.
00:12:26Suas páginas vão para a CDN.
00:12:27Suas funções serverless vão para lá.
00:12:29Seu cache fica no meio.
00:12:31E pensamos: construir agentes deveria ser tão simples assim.
00:12:34Você só deveria precisar criar uma pasta de habilidades, uma pasta de ferramentas, uma pasta de canais.
00:12:38E você deveria conseguir declarar isso muito facilmente.
00:12:40E o framework deve saber exatamente como criar um agente a partir disso.
00:12:44E é por isso que há duas semanas lançamos o Eve.
00:12:47O Eve é um framework de agentes, como o Next.js para agentes, onde é muito fácil, desde começar com um modelo de exemplo até ter um agente totalmente pronto e poder adicionar seu próprio conhecimento personalizado, suas próprias ferramentas personalizadas,
00:12:59e até mesmo integrá-lo aos canais com os quais você já está familiarizado.
00:13:03Isto é mais ou menos como achamos que um agente realmente se parece.
00:13:06Sabe, um agente tem um ambiente de execução e tem canais.
00:13:09E nesse ambiente de execução, você vai ter durabilidade.
00:13:11Você vai querer executar coisas em um ambiente isolado.
00:13:13Você vai querer chamar diferentes modelos.
00:13:15E você vai querer ter conexões.
00:13:17E nós construímos isso pensando no código aberto.
00:13:19Sabe, construímos o Eve para que você possa conectar seus próprios adaptadores de código aberto para Postgres, a API de respostas da OpenAI, Docker e outros conectores.
00:13:29Mas também tornamos incrivelmente fácil implantar na Vercel.
00:13:31A única coisa diferente aqui é que tudo usa um produto da Vercel que construímos ao longo dos anos para facilitar a criação dessas experiências.
00:13:39Vercel workflows para durabilidade, Sandbox para execução segura e Vercel Connect, algo que acabamos de lançar para facilitar a geração de tokens OADC de curta duração para conexões.
00:13:51E nós reescrevemos todo o agente D0 no Eve enquanto construíamos o Eve.
00:13:55E a partir das estruturas complexas nos bastidores que você não via pelo código, é mais ou menos assim que o sistema de arquivos se parece.
00:14:01É muito simples.
00:14:02Você tem um monte de instruções de sistema, algumas habilidades, algumas ferramentas, e é muito fácil compor isso em um agente real.
00:14:09E é muito fácil iterar sobre ele.
00:14:11Nós o disponibilizamos para alguns clientes beta antes de lançá-lo totalmente há duas semanas em nosso evento em Londres.
00:14:17E esta empresa que faz parceria próxima conosco, a Aura, reconstruiu seu agente, que é como um miniclaw, para testar os serviços das pessoas.
00:14:26Ele vai a sites, instala-os e tenta usá-los.
00:14:29E eles obtiveram um sucesso incrível ao construir seu próprio agente do zero usando o Eve, em comparação com o uso de um código em nuvem pronto para uso.
00:14:38Menos etapas, melhores sucessos, além de melhores insights.
00:14:42E quando você implanta o Eve na Vercel, você obtém observabilidade nativa.
00:14:49Você pode ver aqui que obtém todas as execuções do agente, vê todas as chamadas de ferramentas, vê cada etapa que ele realiza, bem como algumas estimativas de custos e potenciais otimizações que você pode fazer.
00:15:00E você pode começar hoje mesmo em Eve.dev.
00:15:02Basta cloná-lo, iniciar um modelo, implantar facilmente e hospedar por conta própria, se precisar.
00:15:07E a razão pela qual trago isso à tona é porque espero que haja cada vez mais agentes para casos de uso específicos de negócios.
00:15:14Sabe, antes de construirmos o D-Zero, testamos bastante o mercado com startups bem financiadas que faziam esses agentes verticais.
00:15:23Que se dedicavam a pegar sua instância do Snowflake para que o agente pudesse executar consultas do Snowflake nela.
00:15:30Mas descobrimos que o que realmente torna este agente bom é o fato de ele possuir muito conhecimento específico da empresa.
00:15:38Sabe, do jeito que a Vercel é uma empresa baseada na web, temos muitos clientes que possuem sites e propriedades web.
00:15:45Isso vai muito mais fundo em quando você deve consultar o quê e quais coisas se conectam com o quê.
00:15:51E por isso, muitos desses agentes prontos são ótimos, bons para testar, mas acho que se você realmente quer extrair o máximo de proveito,
00:15:58você deve realmente tentar construir seu próprio agente e adicionar o máximo de conhecimento específico da empresa que puder.
00:16:03Hoje, sabe, tivemos cerca de 20 agentes com bom ajuste de produto para o mercado (PMF) na Vercel, variando desde retros de marketing para descobrir quem contatar,
00:16:14até a primeira revisão de contrato quando o jurídico vê uma nova negociação, passando pelo meu agente de ciência de dados que ajuda com consultas de dados.
00:16:24E isso mostra que nós na Vercel temos usado agentes em tudo.
00:16:28Sabe, tudo isso está realmente nos poupando muito tempo.
00:16:32A equipe de dados nunca esteve tão produtiva.
00:16:34Eles têm mais tempo para melhorar o desempenho do Snowflake, para adicionar novas fontes de dados que estavam faltando,
00:16:40para preencher as lacunas que antes não tinham tempo de preencher porque estavam muito ocupados escrevendo consultas.
00:16:46E acho que nunca foi tão fácil para você, em sua empresa grande, pequena ou média, automatizar algumas das coisas que você não quer fazer
00:16:55ou algumas das coisas em que você passa tempo demais trabalhando.
00:16:58Sabe, acho que grande parte de RH, finanças e vendas pode ser automatizada com agentes, e acho que o Eve é a melhor maneira de construir esses agentes hoje.
00:17:09E estas são minhas redes sociais.
00:17:11Obrigado a todos por virem e ouvirem.
00:17:13Eu sou o Andrew, e estarei por aqui se quiserem conversar lá fora.

Key Takeaway

A Vercel resolveu a criação de agentes e escalou a produtividade interna ao desenvolver o framework Eve, substituindo arquiteturas fragmentadas por um sistema de arquivos padronizado e integrado a sandboxes.

Highlights

  • A Vercel criou a ferramenta AISCK para padronizar a interface de provedores de modelos de IA com a alteração de apenas uma linha de código.

  • O agente de ciência de dados D0 evoluiu de prompts únicos e cópias manuais de SQL para uma arquitetura baseada em sistema de arquivos e sandbox.

  • O uso de agentes automatizou tarefas repetitivas na Vercel, permitindo que a equipe de dados dedique mais tempo ao desempenho do Snowflake.

  • A Vercel lançou o framework Eve, estruturado com base em convenções de sistema de arquivos para simplificar a criação e implantação de agentes.

  • A empresa Aura reconstruiu seu agente miniclaw utilizando o framework Eve, obtendo menos etapas, execuções bem-sucedidas e melhores insights.

Timeline

Evolução inicial na criação de agentes

  • A Vercel construiu a ferramenta AISCK para unificar a interface de diferentes provedores de modelos de IA.
  • A equipe identificou que a equipe de dados gastava tempo excessivo respondendo a consultas manuais de marketing e vendas.
  • A primeira versão do agente de dados dependia de copiar e colar esquemas do Snowflake em prompts estáticos.

A necessidade de otimizar o fluxo de trabalho da equipe de dados motivou a criação de soluções automatizadas. As abordagens iniciais testaram a capacidade dos modelos de gerar comandos SQL válidos. A partir daí, estruturou-se uma cadeia de múltiplos agentes especializados para planejar, executar e relatar consultas.

A transição para a arquitetura de sistema de arquivos

  • A arquitetura multiagente original apresentou limitações complexas na gestão de estado e correção de erros.
  • O lançamento do Claude Code inspirou a adoção de um sistema de arquivos mínimo com ferramentas básicas como bash e leitura de arquivos.
  • A Vercel criou cerca de 100 habilidades recorrentes para padronizar consultas frequentes de clientes, vendas e downloads.

Testes iniciais com usuários internos revelaram falhas em cenários imprevistos. O desempenho superior do Claude Code demonstrou que conceder acesso a um sistema de arquivos flexível superava prompts altamente prescritivos. Essa revelação dobrou as pontuações de avaliação do sistema e impulsionou o tráfego web da empresa.

O lançamento do framework Eve e impactos operacionais

  • A Vercel lançou o Eve, um framework de código aberto inspirado no Next.js para simplificar a construção de agentes baseados em sistema de arquivos.
  • O Eve integra Vercel workflows, Sandboxes e Vercel Connect para garantir durabilidade e execução segura.
  • A adoção de agentes em áreas como jurídico, marketing e dados reduziu o tempo gasto em tarefas repetitivas em toda a empresa.

O framework Eve padroniza a criação de agentes através de pastas dedicadas a habilidades, ferramentas e canais. Empresas parceiras como a Aura utilizaram a ferramenta para construir agentes com maior taxa de sucesso. A automação permitiu que equipes internas focassem em melhorias estruturais de infraestrutura em vez de demandas operacionais cotidianas.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video