Aprendizagem pessoal com IA
e orientação prática
豆包Marscode1

[Transferência] Desmontando uma inteligência de automação de navegador quente do zero, aprenda a projetar agentes autônomos de tomada de decisão em 4 etapas

Anteriormente, a maioria das inteligências que desenvolvemos estava em um modo de fluxo de trabalho fixo, e muito poucas delas seguiam a estrutura abaixo, desenvolvendo inteligências com umautodeterminaçãoresponder cantandoUso autodirigido de ferramentasA Intelligentsia.

 


 

Há dois dias, compartilhei um agente de código aberto que automatiza tarefas simples usando um navegador - ouso do navegador.

Como demonstrado acima, ele procurou automaticamente por "ferry code" e abriu meu blog.uso do navegador É um agente de código aberto com 1,5w estrelas no GitHub e pode ser instalado localmente com um único comando, o que é um limite muito baixo.

 

Desde a última vez que compartilhei isso, tenho tido o risco ocupacional de sempre querer desmontá-lo para ver como é feito, portanto, aqui está a postagem de hoje.uso do navegador Os quatro módulos do agente - Memória, Planejamento, Ferramentas e Ação - no primeiro diagrama acima são completados com um único prompt, que está no arquivo de origem prompts.py, linha 130.

 

Os prompts são um pouco longos, mas não se preocupe, é muito claro e simples seguir os quatro módulos acima e dividi-los.

O prompt acima define os quatro módulos, portanto, vamos examiná-los um de cada vez.

 

Memória - Registre as tarefas que foram concluídas e as que devem ser executadas em seguida.

"memory": "Description of what has been done and what you need to remember until the end of the task",

Eu documentei a execução do caso do "blog aberto" acima, e você pode ver a verdadeira castanha da memória

'memory': "Baidu is open, ready to search for '渡码'."

Planejamento)- Determinar se a execução anterior foi bem-sucedida ou não com base na página atual (página da Web) e gerar as tarefas que devem ser executadas em seguida.

"evaluation_previous_goal": "Success|Failed|Unknown - Analyze the current elements and the image to check if the previous goals/actions are successful like intended by the task. Ignore the action result. The website is the ground truth. Also mention if something unexpected happened like new suggestions in an input field. Shortly state why/why not","next_goal": "What needs to be done with the next actions"

Há duas partes aqui: a primeira etapa é evaluation_previous_goal, que determina se a tarefa anterior foi bem-sucedida ou não; a tarefa anterior pode ser encontrada emmemorizaçãoIsso explica por que a Memória tem uma linha pontilhada apontando para o Planejamento na primeira figura.

O status da tarefa anterior determina o planejamento da próxima tarefa, tentando novamente se a tarefa anterior falhar e planejando uma nova tarefa se ela for bem-sucedida.
Castanhas de verdade:

'evaluation_previous_goal': 'Success - Baidu was successfully opened in a new tab.',

'next_goal': "Input '渡码' into the search box and submit the search."

 

Ferramentas- browser-use define 15 ferramentas que podem ser usadas para manipular uma página da Web.

As definições das ferramentas são colocadas na palavra-chave para a seleção de modelos grandes. Cada ferramenta tem um código correspondente para a conclusão de uma tarefa específica.

Ação- A geração de uma série de ações específicas com base no planejamento é um processo direto:

'action': [{'input_text': {'index': 12, 'text': '渡码'}}, {'click_element': {'index': 13}}]

Neste exemplo, há duas ações: a primeira etapa é digitar "ferry code" no local onde o elemento da página está identificado como 12 (a caixa de pesquisa); a segunda etapa é clicar no local onde o elemento da página está identificado como 13 (o botão de pesquisa) para concluir a pesquisa.

Por coincidência, todas as ações no uso do navegador são feitas com o Tools.

Alguns de vocês podem estar se perguntando de onde vêm esses marcadores.

O uso do navegador analisa o código HTML de uma página, identifica os componentes (elementos) da página e atribui uma tag a cada componente.

Nesta página, você pode ver as caixas marcadas coloridas e os marcadores nas caixas, que são identificados pelo uso do navegador.

Eventualmente, essas informações são convertidas em "1[:]<a name="tj_settingicon">configurar</a>Texto nesse formato, anexado à palavra-chave, alimentado no modelo grande

Dessa forma, o big model sabe qual é a aparência da página para poder planejar a tarefa.

Acho que vale a pena aprender com essa ideia, e é justamente por causa do entendimento poderoso que os modelos grandes têm que eles podem substituir uma página complexa por apenas algumas linhas de texto, simplificando muito uma coisa aparentemente complexa.

O browser-use tem alguns outros detalhes de implementação que valem a pena aprender, como o fato de que algumas ações podem fazer com que a página seja alterada após a execução, o que interromperá a tarefa e gerará novamente uma nova ação.

Outro exemplo é o suporte a macromodelos visuais. O upload de uma captura de tela de toda a página da Web permite que os macromodelos entendam melhor a página e, assim, planejem melhor a tarefa. As partes interessadas podem fazer o download do código-fonte para continuar suas pesquisas.

Além disso, uma nova tendência em inteligências foi observada recentemente: o aprendizado ativo. Contando com esse recurso, as inteligências Genius superaram os melhores jogadores humanos e outros modelos de IA no clássico jogo Pong usando apenas 101 TP3T de dados e 2 horas de treinamento.

Como o trabalho é um cenário privado, o corpo inteligente não entende o seu negócio, portanto não pode fazer o planejamento certo para você, e é nesse momento que a capacidade do corpo inteligente de aprender de forma autônoma é necessária.

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " [Transferência] Desmontando uma inteligência de automação de navegador quente do zero, aprenda a projetar agentes autônomos de tomada de decisão em 4 etapas
pt_BRPortuguês do Brasil