4 pontos por GN⁺ 2024-10-25 | 1 comentários | Compartilhar no WhatsApp
  • O Skyvern automatiza fluxos de trabalho manuais baseados em sites com LLMs e visão computacional, oferecendo junto um SDK compatível com Playwright e um construtor de workflows no-code
  • Ao contrário da automação de navegador tradicional, que dependia de parsing de DOM e XPath e era frágil a mudanças de layout, o Skyvern usa um Vision LLM para entender os elementos na tela e planejar/executar as ações necessárias
  • O Skyvern afirma que consegue mapear elementos visuais para ações mesmo em sites nunca vistos antes e aplicar o mesmo workflow a vários sites sem XPath ou seletores pré-definidos
  • O SDK oferece os comandos page.act, page.extract, page.validate, page.prompt e page.agent, adicionando descoberta de elementos baseada em prompt em linguagem natural às ações existentes do Playwright
  • São apresentados execução local, Docker Compose, Skyvern Cloud, controle de Chrome já existente, tunelamento de navegador, 64,4% de acurácia no WebBench, licença AGPL-3.0 e a exceção dos recursos antibot na nuvem gerenciada

O problema que o Skyvern quer resolver

  • Skyvern é um projeto que automatiza workflows baseados em navegador com LLMs e visão computacional
  • Ele oferece um SDK compatível com Playwright que adiciona recursos de IA sobre o Playwright
  • Também oferece um construtor de workflows no-code para que usuários técnicos e não técnicos possam automatizar fluxos de trabalho manuais em qualquer site
  • A automação de navegador tradicional muitas vezes dependia de scripts customizados por site, parsing de DOM e interações baseadas em XPath, e podia quebrar quando o layout do site mudava
  • O Skyvern não usa apenas interações XPath definidas em código, mas aprende e interage com sites usando um Vision LLM

Como funciona e seu design

  • O Skyvern foi inspirado no design de agentes autônomos orientados por tarefas popularizado por BabyAGI e AutoGPT
  • A isso, ele adiciona a capacidade de interagir com sites usando bibliotecas de automação de navegador como o Playwright
  • Ele usa um enxame de múltiplos agentes para entender o site, planejar ações e executá-las
  • As vantagens dessa abordagem são resumidas em três pontos
    • Pode funcionar em sites nunca vistos antes, mapeando elementos visuais para as ações necessárias sem código customizado
    • Como não depende de XPath ou seletores pré-definidos durante a navegação, é mais resistente a mudanças de layout do site
    • Pode aplicar um mesmo workflow a vários sites e inferir as interações necessárias em cada um deles
  • O relatório técnico do Skyvern 2.0 pode ser visto em Skyvern 2.0: State-of-the-art web navigation with 85.8 on WebVoyager eval

Formas de execução

  • O Skyvern Cloud é a versão em nuvem gerenciada para executar o Skyvern sem administrar a infraestrutura diretamente
  • O Skyvern Cloud pode executar várias instâncias do Skyvern em paralelo e inclui mecanismos para lidar com detecção antibot, rede de proxies e CAPTCHA solver
  • A execução local pode ser iniciada com pip install "skyvern[all]" seguido de skyvern quickstart
  • skyvern quickstart e skyvern run server usam por padrão um banco de dados SQLite em ~/.skyvern/data.db
    • Para usar um contêiner Postgres local, passe --postgres
    • Para usar um banco de dados existente, passe --database-string
    • O Docker Compose usa um serviço Postgres incluído
  • A execução com Docker Compose coloca Postgres, API e UI em contêineres, e começa com docker compose up -d após configurar a chave de API do LLM em .env
  • A UI fica acessível por padrão em http://localhost:8080

SDK e extensão Playwright com IA

  • O SDK do Skyvern é uma extensão que adiciona automação de navegador com IA ao Playwright
  • As formas de instalação variam conforme o uso
    • Python SDK / cloud API: pip install skyvern
    • Servidor local e UI empacotada: pip install "skyvern[all]" seguido de skyvern quickstart
    • Servidor local e UI com Postgres: pip install "skyvern[all]" seguido de skyvern quickstart --postgres
    • UI empacotada conectando-se a uma API existente: pip install "skyvern[ui]" seguido de skyvern run ui --api-url <api-url> --api-key <api-key>
    • TypeScript: npm install @skyvern/client
  • Quatro comandos de IA são adicionados ao objeto de página
    • page.act(prompt): executa ações em linguagem natural, como “clicar no botão de login”
    • page.extract(prompt, schema): extrai dados estruturados com schema JSON opcional
    • page.validate(prompt): valida o estado da página e retorna bool
    • page.prompt(prompt, schema): envia um prompt arbitrário ao LLM com schema de resposta opcional
  • page.agent oferece comandos de workflow de nível mais alto
    • page.agent.run_task(prompt): executa tarefas complexas de múltiplas etapas
    • page.agent.login(credential_type, credential_id): autentica com credenciais armazenadas no Skyvern, Bitwarden ou 1Password
    • page.agent.download_files(prompt): baixa arquivos após navegar
    • page.agent.run_workflow(workflow_id): executa um workflow criado previamente
  • As ações existentes do Playwright passam a suportar descoberta de elementos com IA por meio de um parâmetro prompt opcional
    • Em vez de page.click("#btn"), usar page.click(prompt="Click login button")
    • Em vez de page.fill("#email", "a@b.com"), usar page.fill(prompt="Email field", value="a@b.com")
    • Em vez de page.select_option("#country", "US"), usar page.select_option(prompt="Country dropdown", value="US")
    • Em vez de page.upload_file("#file", "doc.pdf"), usar page.upload_file(prompt="Upload area", files="doc.pdf")
  • Há três modos de interação
    • Playwright tradicional: usa seletores CSS/XPath
    • Baseado em IA: usa linguagem natural
    • AI fallback: tenta primeiro o seletor e, se falhar, usa IA

Controle avançado de navegador

  • O Skyvern pode controlar o navegador Chrome já existente do usuário
  • Esse modo reutiliza um navegador com cookies, login e extensões já presentes
  • A depuração remota do Chrome pode ser ativada em chrome://inspect/#remote-debugging
  • O comando skyvern init browser abre a página de depuração remota, espera até que o usuário a ative e então pode salvar a configuração
  • O Skyvern Cloud também pode controlar o Chrome em execução na máquina local
    • O comando skyvern browser serve --tunnel faz ao mesmo tempo a inicialização do Chrome e a criação de um túnel para o Skyvern Cloud
    • Isso é útil para automatizar sites em que o usuário já está logado ou que estão atrás de uma VPN
  • Ao expor o navegador via túnel, deve-se sempre usar --api-key

Desempenho e avaliação

  • O Skyvern afirma ter alcançado desempenho SOTA no benchmark WebBench com 64,4% de acurácia
  • O relatório técnico e a avaliação podem ser vistos em Web Bench: A new way to compare AI browser agents
  • Também afirma ser o agente de maior desempenho em tarefas WRITE
    • Exemplos de tarefas WRITE incluem preenchimento de formulários, login e download de arquivos
    • Essa categoria é usada principalmente para tarefas próximas de RPA

Tasks e Workflows

  • Task é a unidade básica de composição dentro do Skyvern
  • Cada Task é uma solicitação única para navegar por um site e atingir um objetivo específico
  • Uma Task exige url e prompt
  • Opcionalmente, pode incluir data schema e error codes
    • data schema é usado quando a saída precisa seguir um schema específico
    • error codes são usados quando se quer interromper a execução do Skyvern em situações específicas
  • Workflow é a forma de conectar várias Tasks em uma única unidade de trabalho
  • Exemplos de workflow
    • Para baixar todas as faturas após 1º de janeiro, pode-se montar uma sequência com ir para a página de faturas, filtrar por data, extrair a lista de faturas alvo e baixar cada uma delas
    • A automação de compras em e-commerce pode ser composta por navegar até o produto, adicionar ao carrinho, validar o estado do carrinho e seguir para o checkout
  • Entre os recursos de workflow suportados estão Browser Task, Browser Action, Data Extraction, Validation, For Loops, File parsing, Sending emails, Text Prompts, HTTP Request Block, Custom Code Block e upload de arquivos para block storage
  • Conditionals aparece como “Coming soon”

Principais recursos

  • Livestreaming transmite em tempo real o viewport do navegador para a máquina local, para que seja possível ver o que o Skyvern está fazendo na web
    • Útil para depuração, compreensão da interação e intervenção quando necessário
  • Form Filling permite preencher por padrão inputs de formulários em sites
    • Ao passar informações em navigation_goal, o Skyvern entende o conteúdo e preenche o formulário
  • Data Extraction extrai dados de sites
    • Se data_extraction_schema for especificado no prompt principal em formato jsonc, a saída seguirá a estrutura desse schema
  • File Downloading baixa arquivos de sites
    • Os arquivos baixados são enviados automaticamente se o block storage estiver configurado, e podem ser acessados pela UI
  • Authentication oferece suporte a vários métodos de autenticação para facilitar a automação de tarefas após o login
  • O suporte a 2FA é fornecido de várias formas
    • 2FA baseado em QR, como Google Authenticator e Authy
    • 2FA baseado em e-mail
    • 2FA baseado em SMS
    • A documentação relacionada está em 2FA support
  • Estado da integração com gerenciadores de senha
    • Suportado: Bitwarden
    • Suportado: Custom Credential Service, HTTP API
    • Não suportado: 1Password
    • Não suportado: LastPass

Integrações e LLMs suportados

  • O Skyvern oferece suporte a Model Context Protocol (MCP), permitindo usar LLMs compatíveis com MCP
  • A documentação de MCP está em MCP server documentation
  • Há suporte a integrações com Zapier, Make.com e N8N
  • Os provedores de LLM suportados são os seguintes
    • OpenAI: GPT-5.5, GPT-5.4, GPT-5, GPT-4.1, o3, o4-mini
    • Anthropic: Claude 4.7 Opus, Claude 4.6 Sonnet/Opus, Claude 4.5 Haiku/Sonnet/Opus
    • Azure OpenAI: todos os modelos GPT implantados na assinatura Azure
    • AWS Bedrock: Claude 4.7, Claude 4.6 Sonnet/Opus, Claude 4.5 Sonnet/Opus
    • Gemini: Gemini 3.1 Pro, Gemini 3 Flash, Gemini 2.5 Pro/Flash
    • Ollama: modelos hospedados localmente via Ollama
    • OpenRouter: acesso a modelos via OpenRouter
    • OpenAI-compatible: endpoints de API customizados que seguem o formato da API da OpenAI via liteLLM
  • Mais detalhes sobre configuração de LLM estão em LLM Configuration docs

Exemplos de uso real

  • Automação de download de faturas em vários sites
  • Automação de processos de candidatura a vagas
  • Automação de aquisição de materiais para empresas de manufatura
  • Cadastro de contas ou preenchimento de formulários em sites governamentais
  • Preenchimento de formulários aleatórios de contact us
  • Busca de cotações de seguro em sites de seguradoras em vários idiomas

Solução de problemas e comandos operacionais

  • Há um bug conhecido em pip install skyvern==1.0.31 que pode causar (sqlite3.OperationalError) table organizations already exists
    • Apague o arquivo SQLite remanescente ~/.skyvern/data.db, atualize para 1.0.32 ou superior com pip install --upgrade skyvern e então execute skyvern quickstart
    • Se for necessário manter a versão 1.0.31, é possível usar uv pip install skyvern
  • Se pip install skyvern falhar com ResolutionImpossible, isso pode ser um conflito de resolução de dependências de litellm / fastmcp na versão 1.0.31
    • Atualize para 1.0.32 ou superior ou use uv pip install skyvern
  • Comandos úteis para depuração
    • skyvern run server: executa o servidor Skyvern separadamente
    • skyvern run ui: executa a UI do Skyvern
    • skyvern status: verifica o estado dos serviços
    • skyvern stop all: interrompe todos os serviços
    • skyvern stop ui: interrompe a UI
    • skyvern stop server: interrompe o servidor

Licença e telemetria

  • O Skyvern coleta estatísticas de uso por padrão para entender como ele é usado
  • Para desativar a telemetria, defina a variável de ambiente SKYVERN_TELEMETRY como false
  • O repositório open source do Skyvern é sustentado pela nuvem gerenciada
  • A lógica principal é fornecida neste repositório open source sob a licença AGPL-3.0
  • As medidas antibot incluídas na oferta de nuvem gerenciada são explicitamente indicadas como exceção à lógica principal do repositório open source

1 comentários

 
GN⁺ 2024-10-25
Opiniões no Hacker News
  • Fico curioso para saber como vocês veem o recurso computer use do Claude, anunciado recentemente pela Anthropic
    Agora que o computer use do Claude é relativamente novo, quero entender qual é o principal diferencial do Skyvern

    • Trabalho nessa área, e a capacidade do Claude de contar pixels e interagir com a tela por coordenadas exatas parece uma inovação bastante útil que pode melhorar as abordagens existentes
      O método tradicional geralmente desenha caixas delimitadoras ao redor de elementos interativos, faz o LLM emitir uma chamada de ferramenta como click('A12') e então mapeia A12 para um elemento HTML real para executar uma ação via Selenium/JS. Desenhar essas caixas delimitadoras por heurísticas já é complicado, e também pode ser difícil executar a ação correta quando o manipulador de clique está anexado a outro elemento do DOM
      Em casos de automação, provavelmente é mais eficaz executar ações de alto nível como click(x, y) ou type("foo") diretamente na tela, sem remapear elementos visuais de volta para elementos HTML. Ainda assim, hoje fornecer HTML ao LLM como contexto tende a melhorar o desempenho em comparação com usar apenas raciocínio visual. Por isso sou mais otimista com a abordagem do Claude e estou bem animado, especialmente se o raciocínio visual continuar melhorando
    • O produto e o lançamento da Anthropic são realmente muito legais, e é impressionante ver que, apenas com uso de ferramentas + microagentes + capturas de tela + coordenadas, dá para interagir com sites e realizar muita coisa
      Mas me pergunto se os concorrentes vão ficar parados sem criar algo parecido. As equipes da xAI, Gemini, OpenAI, Mistral e MetaAI não vão simplesmente esperar, e essa área provavelmente será um grande eixo no futuro, então não parece que uma única empresa vá levar tudo
      Também é importante entender de onde vem o valor real nesses sistemas. Demos e produtos legais e utilizáveis provavelmente não bastam; a maioria das pessoas quer automatização de workflows reais. Para uso pessoal, isso pode ser suficiente, mas empresas provavelmente vão querer algo mais complexo
      Por fim, também é central saber se isso ficará otimizado apenas para o Claude. Se você quiser rodar com seu próprio LLM open source ou continuar trocando para o melhor modelo disponível no mercado, talvez seja difícil obter essa flexibilidade em uma solução fornecida por uma grande empresa. A Anthropic tem incentivo para fazer você usar o Claude internamente
      Esse último ponto é promissor. Usuários do Skyvern open source podem escolher o modelo que quiserem e não ficam presos ao Claude. Ele pode rodar também com Gemini, GPT-4O e modelos open source como Llama 3.2
  • Não deve ser o primeiro wrapper de IA sobre o Playwright que saiu esta semana, e acho que nem o primeiro deste mês
    O uso sob a ótica de automação de processos de trabalho parece mais convincente do que automação de testes. Automação de testes dá muito mais importância à precisão e à repetibilidade do processo, enquanto, na automação de trabalho, muitas vezes não importa muito se o caminho para chegar lá foi estranho, desde que o resultado esteja correto
    Ainda assim, no vídeo de exemplo, foi preciso escrever um prompt bem grande para fazê-lo funcionar, e alguns KB de dados de payload também tiveram que ser inseridos em formato de texto puro, não em CSV. Se a expectativa é substituir pessoas que acham o gerador de código do Playwright técnico demais para usar diretamente, não tenho certeza de que existam tantas pessoas que conseguem fazer uma dessas coisas, mas não a outra
    Além disso, parece que o usuário precisa entregar credenciais de login de sites e até informações de cartão de crédito em texto puro. Se a conta Skyvern do usuário for comprometida, a forma de lidar com dados sensíveis precisa ser muito robusta para evitar consequências graves
    Também acho que quem cria wrappers do Playwright baseados em LLM tende a exagerar a frequência de reformulação de sites. Especialmente quando se trata de sites antigos ou governamentais. Por exemplo, operamos há anos um conjunto longo de automações de navegador com Playwright que interagem com um site governamental, e só fizemos manutenção uma vez, quando o procedimento de trabalho da agência mudou. Mesmo que tivéssemos usado o Skyvern, como o procedimento mudou, o prompt e o payload também teriam que ser alterados
    A diferença em relação à automação com Playwright é que dá para validar, com assertions, o sucesso/falha de cada etapa e a precisão do registro dos dados, então você sabe quando o procedimento precisa ser atualizado. No Skyvern, não vejo essa opção, e me preocupa que ele deixe passar mudanças de procedimento e comece a inserir dados incorretos ou pular etapas

    • É verdade que a estrutura atual de prompts e payloads está no lado mais complexo, mas conseguimos usar LLMs para ajudar a gerar esse payload para o usuário
      Usuários técnicos querem aprender mais e criar payloads por conta própria; usuários não técnicos começam pedindo a um LLM que os ajude a gerar o prompt final do Skyvern. Foi inesperado, mas acabou sendo um fluxo surpreendentemente natural
      A etapa 1 é criar isso de forma complexa, ou seja, Playwright; a etapa 2 é a etapa atual, criar o equivalente ao Playwright com prompts complexos; e a etapa 3 é criar algo que gere o equivalente ao Playwright com prompts mais simples. Cada etapa reduz a barreira técnica necessária para criar automações
      Vejo a frequência de mudanças em sites como uma proposta de valor menor da automação baseada em LLM. O maior valor está em lidar com situações muito dinâmicas. Por exemplo, ao automatizar um site de e-commerce em que a oferta em pop-up muda toda semana, o Skyvern quase não se importa com isso, enquanto um script Playwright pode quebrar
      Gosto do exemplo da Geico porque ele mostra bem algo que antes era muito difícil de automatizar. O formulário muda a cada execução, e o Skyvern passa por ele com facilidade
      Em termos de precisão dos dados, estamos lançando um recurso de workflows que encadeia várias tarefas. O interessante desse recurso é que ele permite adicionar uma etapa em que o próprio Skyvern verifica o resultado antes de continuar. Por exemplo, depois de adicionar n produtos ao carrinho, ele pode ir até o carrinho e verificar o estado do carrinho
      Como era de se esperar, isso se torna a base para que outro agente use essas ferramentas e crie workflows por conta própria com prompts mais simples. Em resumo, é o primeiro passo de uma longa jornada para tornar a automação de processos de trabalho cada vez mais fácil com LLMs
  • Neste momento, construir uma startup em cima de um LLM de terceiros parece exigir muita coragem, ou então um modelo de negócio focado em receita de curto prazo
    Se o horizonte de tempo for de anos, e não de alguns meses, o risco é grande. A Anthropic entrou nessa área ontem, e é bem provável que OpenAI e Google sigam em breve

    • Muitas empresas como Vercel e Supabase criaram grandes negócios “envolvendo” a AWS
      Elas literalmente competem com a AWS e, ao mesmo tempo, usam a AWS para oferecer seus próprios produtos. Esse mercado é grande e há espaço para várias abordagens
      É claro que OpenAI, Anthropic e Google vão construir grandes negócios nessa área, mas não vejo motivo para descartar que outra pessoa tenha uma boa ideia e a concretize dependendo de grandes provedores de infraestrutura
    • Não sei o que significa “entrou”. Não sei bem o que aconteceu
  • É interessante que tenham aberto o código sob AGPL
    Talvez a resposta já esteja na documentação, mas, fazendo uma busca rápida no código-fonte, parece que eles não usam LangChain e planejam uma integração para poder contribuir com aquela comunidade no futuro. Fiquei curioso sobre o que a Skyvern usou para criar a lógica de cadeia de pensamento/ação e se, começando do zero hoje, consideraria seguir na direção de LangChain/Graph

    • No começo, usamos o framework AutoGPT
      Muitos vestígios disso ainda aparecem em coisas como tarefas e etapas, mas, ao tentar escalar e fazer coisas mais complexas, percebemos que o framework era muito limitado
      Por exemplo, hoje usamos uma arquitetura multiagente em que são executados microagentes para analisar SVGs ou preencher autocompletes dinâmicos; esse tipo de estrutura teria sido realmente difícil com os frameworks existentes
      Frameworks como LangChain são bons para prototipagem inicial, mas, quando você quer forçar os limites, impõem restrições demais
  • Se “automação de navegador” parece confuso, é algo como Selenium: fazer um programa manipular o site-alvo
    Normalmente, isso significa inserir eventos de teclado e eventos de movimento/clique do mouse em um site-alvo pertencente a outra pessoa para fazer esse site executar alguma ação. Sabendo disso, o restante da explicação fica compreensível

  • Sempre que vejo essas ferramentas de automação de workflows com LLM, surgem algumas perguntas sobre cada caso de uso e seus efeitos de longo prazo
    Primeiro, fico pensando se elas estão contornando um atrito causado pela falta de interoperabilidade entre ferramentas. Por exemplo, seria algo mais eficiente se o dono do site oferecesse um serviço REST? A existência dessas ferramentas pode fazer com que empresas deixem de oferecer endpoints de serviço mesmo quando faria sentido oferecê-los?
    Segundo, se houver uma razão legítima para não existir um endpoint de serviço, como motivos de segurança, um workflow automatizado pode ser usado para contornar essas medidas de segurança. Um agente malicioso poderia usar a ferramenta para desativar serviços importantes? Quem cria a ferramenta poderia ser esse agente? Revendedores poderiam usá-la para impedir que consumidores comuns comprem produtos de alta demanda?
    Terceiro, se forem usadas para contornar manutenção adiada de ferramentas e processos internos, a existência dessas ferramentas pode dar à gestão uma justificativa para adiar ainda mais a manutenção. No fim, elas podem virar uma dependência crítica no workflow da equipe de suporte
    Quarto, se forem usadas de boa-fé para contornar antipadrões de design de sites, o dono do site passará a ter incentivo para quebrar esse workflow? No fim, isso é apenas mais uma etapa de uma corrida armamentista?
    Penso nisso sempre que vejo software sendo colocado sobre processos complexos, adicionando mais uma camada de complexidade para encobri-los em vez de simplificar o processo subjacente. É claro que o projeto deve ser útil, mas fico curioso sobre seus efeitos de longo prazo

    • Sites sem API normalmente existem por um de dois motivos. Um é querer proteger os dados, como o LinkedIn; o outro é não ter recursos ou disposição para criar uma API, como sites pequenos ou portais governamentais
      A Skyvern resolve esse problema, mas, se o custo dos LLMs cair, também pode fazer com que esses sites deixem de precisar criar APIs
      Não queremos que a Skyvern seja usada em sites que proíbem esse comportamento. O LinkedIn é um exemplo típico. Em especial, o motivo de não termos tornado open source o código relacionado a antibot ou captcha é que recebemos pedidos como “manipulação de recomendações no Reddit”. Não queremos apoiar esse tipo de agente malicioso
      No geral, vejo a automação de navegador com IA como tendo um efeito líquido positivo. Se a necessidade de APIs diminuir, também diminui a necessidade de manter API e UI ao mesmo tempo; a experiência fica mais simples, há menos código e o sistema se torna mais simples
      Não tenho 100% de certeza sobre a última parte. Em geral, assumo que as empresas não criam APIs porque não têm orçamento. Ou seja, não vejo isso como uma razão maliciosa. Empresas como o LinkedIn vão tentar bloquear tentativas de automação, mas não queremos participar desse jogo de gato e rato
  • Fico curioso se a Skyvern consegue coletar dados de vários sites com estruturas diferentes e combinar dados estruturados em um único arquivo CSV ou JSON
    Por exemplo, ela poderia coletar as taxas de contas de depósito em vários sites de bancos, extrair o nome do banco, o logotipo do banco, o nome do produto e a taxa de cada conta, e executar uma consulta salva em uma agenda diária ou semanal?

    • Em teoria, é possível. Seria preciso configurar isso usando a funcionalidade de workflow e encadear várias tarefas para reunir as informações
  • Fico curioso se alguém já testou a Skyvern em sites de companhias aéreas
    Por exemplo, para extrair a disponibilidade de assentos-prêmio em passagens com milhas do ponto A ao ponto B. As companhias aéreas parecem mudar as telas o tempo todo e também têm medidas fortes contra scraping

    • Ainda não ajudamos exatamente nesse caso de uso, mas estamos integrando com uma empresa para automatizar a compra de passagens da Alaska e da Southwest em nome de pessoas reais
      Isso será uma forma de testar transações com cartão de crédito em beta e validar a confiabilidade
  • Estou criando algo parecido em menor escala, e essa área parece bem promissora
    Ao limitar o escopo do problema a interação/scraping em uma única página, isso se mostrou muito estável e útil na empresa. Ainda assim, automação no estilo agente também parece interessante

    • Foi especialmente útil em situações muito dinâmicas
      Por exemplo, preencher formulários de contato em centenas de sites é algo cuja diversidade é realmente difícil de lidar com código comum, mas não é um grande problema para um agente de IA
  • Fico curioso se há números do WebArena(https://webarena.dev) ou do VisualWebArena(https://jykoh.com/vwa)

    • Ainda não. Nosso conjunto de dados interno é enviesado demais, então não o compartilhamos publicamente, mas isso deve sair em algumas semanas