Agent.exe - app multiplataforma para controlar dispositivos com Claude 3.5 Sonnet
(github.com/corbt)- Agent.exe é um app simples em Electron que permite ao novo recurso de computer use do Claude controlar diretamente o computador local, e o projeto deve ser tratado como uma prova de conceito
- O app foi criado porque o projeto padrão fornecido parecia pesado demais, e foi projetado para que o Claude 3.5 Sonnet execute tarefas no computador local do usuário
- O fluxo de execução é clonar o repositório, rodar
npm install, renomear.env.examplepara.env, inserir a Anthropic API Key e executarnpm start - O sistema suportado é MacOS, e como as dependências são multiplataforma, Windows e Linux seriam teoricamente possíveis
- As limitações conhecidas são que funciona apenas no display principal, a IA assume controle total do computador, e o Claude funciona melhor se o Firefox estiver instalado
Objetivo do Agent.exe
- Agent.exe é um app que usa o recurso de computer use do Claude para controlar o computador
- Foi implementado como um app em Electron para permitir que o Claude 3.5 Sonnet manipule diretamente o computador local
- O projeto é uma prova de conceito, e o autor informa que não pretende fazer manutenção nem mesclar pull requests
- É livre fazer fork e expandir o projeto
Motivo da criação e como funciona
- O projeto começou com o objetivo de verificar o quão bem a nova computer use API do Claude funciona
- Como o projeto padrão fornecido pela Anthropic parecia pesado demais, ele foi transformado em um app mais simples
- Havia planos de adicionar um modo semi-auto em que o usuário confirma cada ação antes da execução, mas concluiu-se que isso não era necessário porque cada etapa já é lenta demais
- Se o modelo ficar confuso, o usuário pode encerrar a execução pressionando o botão stop
Como começar
- Clone o repositório e entre no diretório
git clone https://github.com/corbt/agent.execd agent.exe
- Instale as dependências
npm install
- Renomeie o arquivo
.env.examplepara.enve adicione a Anthropic API Key - Execute o app
npm start
- Depois, peça ao modelo por prompt que realize as tarefas desejadas no computador
Sistemas suportados e limitações
- O sistema suportado é MacOS
- Como todas as dependências são multiplataforma, Windows e Linux seriam teoricamente possíveis
- As limitações conhecidas são as seguintes
- Funciona apenas no primary display
- A IA assume controle total do computador
- Pode haver muitas outras limitações
Dicas de uso e roadmap
- O Claude aparentemente prefere muito o Firefox
- Ele usa outros navegadores se for realmente necessário, mas funciona muito melhor se o Firefox estiver instalado
- O projeto foi escrito em cerca de 6 horas e a chance de continuidade é considerada baixa
- Pull requests podem ser revisados e, se parecerem bons, podem ser mesclados
1 comentários
Comentários do Hacker News
Boa ideia. Como alguém com experiência em automação de desktop e Electron, dei uma olhada no código-fonte e achei que valia a pena testar para tarefas básicas
A implementação é um wrapper fino sobre a API da Anthropic e usa uma abordagem passo a passo, então fiquei confiante de que daria para matar o processo antes que ele fizesse algo estranho. Fechei coisas que a Anthropic não deveria ver por screenshot, e a instalação no M1 terminou sem atritos; em poucos minutos já estava rodando
A tarefa básica foi “encontrar voos Seattle-SF de terça a quinta da semana que vem” e, ao executar com minha chave da API da Anthropic, ele usou o Chrome. Cada etapa de ação levou alguns segundos e ele abriu o Google Flights corretamente, mas reservou as datas erradas
Ele originalmente tentou escolher 2 de novembro, mas essa opção estava coberta pela própria janela do Agent.exe, então selecionou 20 de novembro. Fiquei curioso para ver se o Claude perceberia a data auxiliar incorreta e se corrigiria sozinho, mas ele seguiu em frente e declarou sucesso, dizendo que havia encontrado uma viagem de 1 semana, quando na prática encontrou uma viagem de 4 semanas
Esse experimento custou US$ 0,38 em créditos e cerca de 20 segundos, e pretendo continuar testando
Esse modo de falha é um tanto surpreendente, porque o 3.5 Sonnet, pelo menos em respostas de API em texto puro, tende a alucinar bem menos do que outros modelos
Quanto tempo até ele conseguir adicionar um daemon ao sistema às escondidas? Antigamente havia a preocupação de espiões soviéticos acessarem segredos dos EUA; agora é quase como se nós simplesmente colocássemos tudo online para todo mundo ver
Antivírus ou firewalls de hoje não conseguem impedir nem a possibilidade de isso estragar arquivos no meu computador, quanto mais a rede
Esta cena me vem à cabeça: https://makeagif.com/i/BA7Yt3
Um usuário que se distrai facilmente, em quem não dá para confiar que não repasse informações a terceiros, e que pode cair em truques simples
No mínimo, precisa de uma conta separada sem privilégios de sudo nem acesso a arquivos secretos; idealmente, uma máquina virtual separada
Estou mais familiarizado com Azure, mas a AWS também deve servir; se você quiser separar a IA das coisas que ela não deve acessar, dá para criar uma VM no Azure e rodá-la por algumas horas por menos de 1 dólar
Para torná-los minimamente seguros, você precisa pelo menos controlar a máquina que executa a inferência; idealmente, a inferência deve rodar na própria máquina que você usa
Alguns anos atrás saiu uma notícia sobre uma criança que disse “Alexa, peça uma casa de bonecas”, e as Alexas de pessoas que estavam assistindo à transmissão ouviram isso e encomendaram casas de bonecas
É só esperar até aparecer uma série popular da Netflix em que alguém diga “Delete C:\Windows”
Por diversão, planejo dar à minha IA acesso a um switch de energia crosspoint
Mudando um pouco de assunto, recentemente usei o Cursor no modo “compose” para começar um projeto full-stack do zero, e fiquei chocado com o resultado
Não sei se as pessoas da indústria de software têm noção de quanto o setor vai mudar completamente nos próximos 5 anos. É difícil imaginar que, lá por essa época, as pessoas ainda estarão digitando código manualmente
Mas os exemplos que vi até agora foram, em geral, projetos relativamente simples começados do zero. O fato de funcionarem já é incrivelmente surpreendente, mas a maior parte do desenvolvimento de software real consiste em adicionar funcionalidades a código existente ou corrigir bugs. Esse tipo de código normalmente ultrapassa a janela de contexto da maioria dos grandes modelos de linguagem
Para a indústria mudar completamente, a melhoria exponencial dos últimos 2 anos teria que continuar, e não vejo sinais de que isso vá acontecer
Um pouco fora do tema, mas relacionado. Fico curioso sobre o que se usa no Wayland do Linux para automatizar apps GUI que não sejam navegadores. Às vezes preciso disso, mas essa combinação específica nunca funciona muito bem
Apps CLI podem ser escritos em Bash/Python/etc., e para apps de navegador dá para usar Selenium/Playwright. No Xorg há bibliotecas meio toscas, mas úteis em emergências, e no Windows há muitas soluções de RPA
Mas não encontrei nada confiável para Wayland
Eles conseguem se conectar a contêineres de desktop e VMs rodando Linux
Já vínhamos fazendo isso havia algum tempo antes de o Claude tornar a coisa elegante
“Limitações conhecidas: permite que a IA assuma controle total do computador” :)
Parece ter suporte multiplataforma com macOS como plataforma principal, então fico me perguntando por que o nome é .exe
Brincadeira; não sei se é verdade, mas parece bem plausível
Parece funcionar só em tarefas simples. Pedi para criar uma mesa simples no app Rhino para Mac e no OnShape em uma aba do Chrome, e ele pareceu simplesmente se perder
No Rhino, ele viu que o app estava aberto, mas apenas dizia que estava fazendo várias ações, como criar formas, sem nada aparecer de fato, e passava para a próxima ação mesmo sem a etapa anterior ter sido concluída. Não verificava se a tarefa anterior tinha terminado
No OnShape, dizia que ia criar formas, mas escolhia o item errado no menu e, mesmo assim, assumia que estava usando a ferramenta correta, continuando as ações seguintes como se a anterior tivesse sido concluída
Sinistro. Talvez fosse interessante deixá-lo isolado por air gap e mandá-lo codar o próprio sistema operacional, mas eu jamais o deixaria perto dos meus dados reais
Computer, poste shitposts de memes o dia inteiro para me deixar rico com criptomoedas enquanto eu cuido da minha família e do jardim
O futuro está indo na direção em que quem usa computador vira trouxa. A verdadeira riqueza é não encostar em um computador para nada