Navegação na web com GPT-4 Vision e Vimium
(github.com/ishan0102)- É um projeto que experimenta se a navegação na web é possível usando apenas os recursos de visão do GPT-4V, fornecendo ao modelo multimodal uma interface para interagir com a web
- Aborda o problema de que, sem fornecer o DOM do navegador em texto, fica difícil para o modelo determinar no que ele deve clicar
- Usa a extensão Vimium para Chrome para permitir navegação apenas por teclado e, com isso, experimentar como o modelo interage com a web
- O fluxo de execução consiste em instalar os requisitos de Python, baixar o Vimium localmente, carregar manualmente a extensão ao executar o Playwright e rodar
python main.py - É possível executar o Voice Mode com
python main.py --voice, dizer o objetivo por comando de voz e fazer o navegador agir em tempo real - Atualmente, a Vision API não oferece suporte a modo JSON nem a function calling, o que impõe a limitação de depender de uma abordagem de prompt mais bruta
- Em baixa resolução, às vezes o modelo não consegue detectar nada; usar imagens em resolução mais alta pode melhorar isso, mas exige mais tokens
1 comentários
Opiniões no Hacker News
É realmente impressionante que algo assim já seja possível: https://github.com/ishan0102/vimGPT/blob/682b5e539541cd6d710...
O prompt manda o navegador ser controlado mais ou menos assim: “para ajudar no objetivo do usuário, escolha qual ação executar entre navigate, type, click e done, especifique o alvo do clique por meio de uma sequência de letras amarelas e retorne apenas JSON”
No trabalho, há bastante gente que só faz cópia manual de dados entre programas legados. É no setor público, então a dívida técnica é tão grande que não estão encontrando uma forma de conectar os sistemas entre si
Fico animado se um dia uma ferramenta dessas puder se tornar uma camada que rode por cima desse problema. Do ponto de vista de recursos computacionais, é uma solução meio esquisita
Perguntei por curiosidade como era o processo existente, e me levaram a um computador no fundo do escritório; no papel de parede havia dois retângulos escritos MS EXCEL e INTERNET EXPLORER. A pessoa responsável abria os dois apps, alinhava as janelas exatamente dentro daqueles retângulos e então rodava um autoclicker do tipo que trapaceiros de RuneScape usariam para copiar valores do Excel para formulários no site. Era impressionante
Nome de usuário, senha, endereço de e-mail, endereço físico, dados de cartão de crédito, tudo isso entra nessa categoria; existem extensões que tentam ajudar no preenchimento, mas nada funciona bem de forma consistente. Nem dá para esperar que preencham nome de usuário e senha de maneira confiável. É a maior irritação no uso da internet, acima até de anúncios, e é surpreendente que, com ou sem LLMs, isso ainda não tenha sido resolvido. Eu pagaria uma assinatura mensal por um software que resolvesse isso por completo
Até agora esses produtos eram bem frágeis, mas a explosão recente das tecnologias de IA parece uma ótima notícia para essa área
Mesmo que integrem algo como ChatGPT, alguém que realmente entenda do assunto teria que revisar, e eu não ficaria surpreso se o primeiro conselho dessas pessoas fosse “não usem ChatGPT para isso”
O vim parece estar virando, sem querer, um excelente corpo implementado para o ChatGPT. Não há quase nada que não dê para fazer com um fluxo de texto, e a internet já está cheia de vimscript
Comecei um experimento parecido, então, se alguém estiver pensando na mesma direção, pode servir de referência: https://github.com/LachlanGray/vim-agent
Sou o criador. Se tiverem perguntas, podem mandar, e contribuições são bem-vindas. Deixei no README algumas possíveis próximas etapas
De uma forma ou de outra, a World Wide Web pública está se transformando em sua própria sobreposição dinâmica de servidores de API
Mexi com uma ideia parecida de navegar usando screenshots e ações com o GPT-4 Vision; depois de falhar tentando sobrepor informações em cima do screenshot, acabei pegando a árvore de acessibilidade no Playwright e enviando junto como texto
Assim o modelo conseguia saber quais opções eram interativas, e no meu caso funcionou melhor. Como o criador está por aqui e há uma lista de ideias futuras, se não houver problema, acho que valeria adicionar isso à lista
Nas últimas semanas, brinquei com isso pela interface do ChatGPT. Tenho algumas dicas
Alterar o CSS para remover gradientes e cantos arredondados ajudou; texto branco em negrito sobre vermelho foi o que funcionou de forma mais consistente. É bom aumentar o tamanho da fonte e, se dois rótulos se sobrepuserem, afastá-los um do outro e adicionar setas apontando para o elemento. Para a API, foi melhor enviar as duas imagens: a imagem anotada e a sem anotações
Dá para criar um piloto automático para o navegador
Se isso for implantado em larga escala, vai ficar extremamente difícil distinguir tráfego de bots daqui para frente. Mas, no curto prazo, vejo o problema de que dificilmente será barato ou terá um custo administrável
Que impacto ferramentas assim podem ter no rastreamento na web ou na publicidade na internet como um todo? Se um agente puder navegar pela web em nosso lugar e trazer exatamente o que estamos procurando, sem ver anúncios ou pop-ups e evitando rastreamento, isso pode ser um excelente bloqueador de anúncios.
Talvez até possa melhorar a qualidade da internet ao tornar SEO inútil. Por outro lado, fico curioso se também poderia surgir o efeito colateral de a publicidade de algum modo acabar “misturada” no conteúdo trazido.
Muitas empresas na Holanda pagam salários assim: 1) recebem do contador os holerites, 2) iniciam manualmente uma transferência bancária para cada funcionário no valor indicado no respectivo holerite, e 3) também iniciam manualmente uma transferência bancária para enviar à autoridade fiscal o imposto sobre a folha retido na fonte.
É um trabalho manual completamente inútil, e não há motivo para o procedimento ser manual. Só que automatizar é quase impossível. Os portais contábeis não têm API ou, quando têm, fazem você baixar os dados em PDF, ou a API custa caro. Os bancos também não têm API ou exigem cadastro em conta de desenvolvedor como se você fosse lançar um app público, quando a intenção é apenas automatizar um procedimento interno. Por isso, a forma mais fácil de pagar salários e impostos ainda é contratar uma pessoa para fazer tudo manualmente. Eu não confiaria em uma IA para iniciar transferências bancárias de verdade, mas talvez seja possível ela deixar as transações preparadas e um humano apenas aprovar o envio.
É muito parecido com o conceito da Adept? Só que o produto parece ainda não estar pronto: https://www.adept.ai/
Parece que a Adept mudou de direção no meio do caminho, mas o conceito original era muito parecido com isso.