Pular para o conteúdo principalAWS Startups
  1. Aprenda
  2. Da YC à AWS: a Tusk transforma o tráfego de produção em testes baseados em IA na AWS

Da YC à AWS: a Tusk transforma o tráfego de produção em testes baseados em IA na AWS

Como estava esse conteúdo?

O código gerado por IA está transformando rapidamente o desenvolvimento de software. O que antes levava dias agora leva horas, e o que era necessário para equipes agora pode ser feito por uma única pessoa. O problema? Está sendo gerado mais código do que nunca. Isso significa mais pull requests, mais casos extremos e mais demanda sobre as equipes de engenharia. A economia de tempo na programação vale pouco se for simplesmente consumida pelo aumento das exigências de garantia de qualidade — uma responsabilidade que recai cada vez mais sobre aqueles que desenvolvem o software.

A Tusk, uma startup pioneira e ex-participante do Y Combinator (YC), está ajudando as empresas a prevenir bugs que, de outra forma, passariam despercebidos tanto pelos agentes de programação quanto pelos seres humanos, por meio de testes baseados em IA e no tráfego real de produção. Ao utilizar modelos de base (FMs) de alto desempenho no Amazon Bedrock, a Tusk sinaliza automaticamente problemas como regressões inesperadas e desvios nos contratos de API antes da fusão do código, permitindo que as equipes de engenharia se concentrem em tarefas de maior valor agregado.

Testes de software baseados na realidade, não em suposições

Fundada em 2023 por dois ex-alunos da UC Berkeley, a Tusk ajuda as empresas a lançar código de qualidade por meio de testes gerados por IA generativa com base no comportamento real dos usuários. “A Tusk transforma o tráfego de produção em testes de unidade e de API realistas”, afirma Marcel Tan, CEO. “Fazemos isso registrando rastros à medida que os usuários interagem com sua aplicação no mundo real e reproduzimos esses rastros em relação às alterações no seu código para identificar e prevenir regressões.” Isso representa uma mudança significativa na forma como empresas de todos os tamanhos podem abordar os testes de código na era da IA.

“Se você observar todas as principais equipes de engenharia atualmente, as pessoas responsáveis pelo controle de qualidade (QA) são, em geral, as mesmas que desenvolvem o recurso”, afirma Tan. O raciocínio por trás dessa tendência é válido. Essas equipes têm um melhor entendimento do contexto para abordar os testes, pois são elas que, de fato, atualizam e otimizam o código. No entanto, à medida que o volume de código aumenta, a correção de bugs tem se tornado cada vez mais demorada. “No passado, o controle de qualidade representava cerca de metade do ciclo de lançamento. Com os agentes de programação de hoje, temos os melhores engenheiros dedicando 90% do tempo ao controle de qualidade, o que não é um bom uso do tempo deles”, diz Tan.

“A maioria dos testes escritos manualmente ou com IA não reflete, na verdade, como os usuários interagem com o seu produto no mundo real”, afirma Tan. “Como capturamos tráfego real, oferecemos cobertura para os casos extremos que, de outra forma, seriam ignorados.” Isso inclui falhas silenciosas resultantes de comportamentos semânticos indesejados. Nesses casos, um resultado parece válido, mas está funcionalmente incorreto. O Tusk executa e itera os testes que gera e, ao avaliá-los em relação ao tráfego real de produção, facilita a detecção de regressões que, de outra forma, seriam quase impossíveis de prever.

Cultivando o sucesso desde a primeira apresentação até o ajuste do produto ao mercado

A Tusk surgiu como um dos primeiros agentes de programação disponíveis ao público. “Queríamos criar um agente de programação que permitisse que gerentes de produto, engenheiros de software e até mesmo pessoas sem conhecimentos técnicos pudessem passar de um tíquete do JIRA até uma solicitação de pull”, diz Tan. “Fomos, sem dúvida, o primeiro agente capaz de fazer isso em uma base de código madura.” Após apresentar essa versão inicial do produto, a empresa foi aceita no lote YC W24, onde o Tusk de hoje começou a tomar forma.

“Os três meses na YC são superintensivos”, diz Tan. “É basicamente um bootcamp, e você não pensa em mais nada além da startup.” Para a Tusk, um dos aspectos mais valiosos da experiência na YC foi o contato com outros fundadores, incluindo um grupo menor e mais seleto dentro da turma. Esses grupos se reuniam regularmente para discutir suas metas e o progresso alcançado. “É realmente motivador porque dá para ver o quão rápido as pessoas conseguem avançar no espaço de três ou quatro dias. Esse senso de urgência se incorpora à startup — isso te dá um bom DNA”, diz Tan.

Uma lição duradoura aprendida na incubadora foi a importância do engajamento direto com os clientes. “Em vez de tentar adivinhar o que nossos clientes precisavam, fomos incentivados a simplesmente perguntar a eles diretamente”, diz Tan. “Parece tão óbvio, não é? Às vezes, o conselho mais simples é o melhor conselho.” Na verdade, foi depois do engajamento com os clientes que a equipe da Tusk começou a repensar a direção do seu negócio.

Nossos clientes então apontaram repetidamente que gerar mais pull requests estava      criando mais trabalho para seus engenheiros”, diz Tan. Isso, aliado à crescente disponibilidade de assistentes de programação baseados em IA, deu um sinal claro de para onde o setor estava caminhando. “Escrever código estava se tornando uma atividade rotineira”, diz Tan. “Percebemos que, em 18     meses, o gargalo seria verificar se o código funcionava.” Como resultado, a equipe mudou o foco, reorientando a empresa para os testes e estabelecendo as bases para o produto que oferece hoje.

Liberdade para se concentrar no cliente, e não nos custos

Logo após sair do YC, a Tusk começou a colaborar com a AWS. A empresa participou do AWS Activate, um programa dedicado a apoiar startups com conhecimento técnico, oportunidades de entrada no mercado e financiamento na forma de créditos da AWS. “Tem sido incrível”, diz Sohil Kshirsagar, diretor de tecnologia. “A equipe da AWS tem sido muito receptiva, mesmo quando éramos muito menores. Além disso, a quantidade de créditos que recebemos tem sido realmente útil. É essencialmente um investimento que estamos recebendo sem precisar abrir o capital.” Isso é particularmente valioso para startups que dependem de infraestrutura de IA.

“Como uma startup pré-IA, seus custos com a nuvem se limitavam a itens como hospedagem e armazenamento, mas hoje os grandes modelos de linguagem (LLMs) se tornaram seu principal custo”, diz Kshirsagar. “Se não tivéssemos esses créditos, toda vez que lançássemos algo para o cliente, ficaríamos pensando: quanto isso vai custar? Isso vai afetar nossa autonomia financeira? Mas agora, podemos simplesmente resolver o problema e descobrir como otimizá-lo depois.”

Além da redução de custos, o AWS Activate permitiu que a equipe da Tusk concentrasse sua atenção no que realmente importa. “Já temos tantas coisas com as quais precisamos nos preocupar todos os dias que você realmente não quer que o uso ou os gastos com a nuvem sejam mais uma delas”, diz Kshirsagar. “O Activate nos permite manter o foco no cliente — qual é o problema que ele está enfrentando, como podemos resolvê-lo da melhor maneira — sem precisar nos preocupar necessariamente com as implicações de custo no futuro.”

A observabilidade em tempo real aliada à inteligência escalável

A Tusk utiliza uma combinação de serviços da AWS para inferência e monitoramento. “O Amazon Bedrock é nossa principal solução de inferência de LLM”, afirma Kshirsagar. “Uma das principais vantagens que ele nos oferece é a inferência escalável entre regiões, o que é importante na fase inicial, quando é possível passar de um para dez clientes em poucas semanas e é necessário aumentar os limites de taxa.”

Os modelos que a Tusk utiliza no Amazon Bedrock impulsionam a compreensão semântica e a classificação de regressão. “Quando a Tusk analisa as diferenças nos resultados de uma resposta de API, ela precisa levar em conta que você pode estar alterando a estrutura da API ou modificando ligeiramente a resposta”, afirma Kshirsagar. “Utilizamos modelos de raciocínio no Bedrock para determinar se essa alteração é uma regressão ou uma atualização intencional, com base no contexto da solicitação de pull.”

O Amazon Bedrock ajuda a Tusk a otimizar o uso de modelos e tokens. “Costumamos trocar de modelo dependendo da complexidade da tarefa”, diz Kshirsagar. Se for necessária uma mudança de modelo, o Amazon Bedrock facilita esse processo — muitas vezes, é tão simples quanto atualizar o ID do modelo.

Além do gargalo do controle de qualidade, rumo à garantia de ponta a ponta

À medida que a Tusk continua a crescer e evoluir, a mentalidade de colocar o cliente em primeiro lugar, cultivada durante sua passagem pela YC, continua sendo fundamental. “Estamos observando muitos casos de esgotamento entre os engenheiros”, diz Tan. “Queremos ajudá-los a dedicar menos tempo a tarefas rotineiras de testes e mais tempo às atividades mais interessantes, como projetar soluções para problemas complexos ou trabalhar em recursos que atendam aos usuários.”

Para concretizar essa ambição, a Tusk está aprofundando sua colaboração com a AWS por meio do uso do Amazon Bedrock. “À medida que continuamos a lançar novos recursos e a alcançar novos clientes, é provável que nosso uso do Amazon Bedrock escale exponencialmente”, afirma Kshirsagar. “Também conversamos com a AWS sobre a possibilidade de ajustar modelos ou criar e treinar nossos próprios modelos em instâncias do AWS Trainium do EC2.”

“Pretendemos nos tornar a plataforma de testes completa”, afirma Tan. “Cobriremos de forma inteligente todos os principais tipos de testes dos quais as empresas de software dependem: testes unitários, de integração (API) e de ponta a ponta. Isso permitiria que a Tusk funcionasse como um engenheiro de testes de IA que qualquer pessoa pudesse contratar — mesmo uma startup de um único funcionário — para realizar o controle de qualidade de qualquer alteração de código e solicitação de pull que você criar. Essa é a nossa visão final.”

Como estava esse conteúdo?