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": "Descrição do que foi feito e do que você precisa lembrar até o final da tarefa",
Eu documentei a execução do caso do "blog aberto" acima, e você pode ver a verdadeira castanha da memória
'memory': "O Baidu está aberto, pronto para pesquisar o 'código da balsa'".
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 - Analise os elementos atuais e a imagem para verificar se as metas/ações anteriores foram bem-sucedidas, como pretendido pela tarefa. Analise os elementos atuais e a imagem para verificar se as metas/ações anteriores foram bem-sucedidas como pretendido pela tarefa. Ignore o resultado da ação. Também mencione se algo inesperado aconteceu, como novas sugestões em um campo de entrada.
"next_goal": "O que precisa ser feito com as próximas ações"
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': 'Sucesso - o Baidu foi aberto com sucesso em uma nova guia',
'next_goal': "Insira 'ferry code' na caixa de pesquisa e envie a pesquisa."
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': 'ferry code'}}, {'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.