Agente Zero
Estrutura de IA pessoal e orgânica
- Agent Zero não é uma estrutura de agente predefinida. Ele foi projetado para ser dinâmico, crescer organicamente e aprender à medida que você o usa.
- O Agent Zero é totalmente transparente, legível, compreensível, personalizável e interativo.
- O Agente Zero usa o computador como ferramenta para realizar suas (suas) tarefas.
Agora com UI responsiva, memória automática e reflexão:
Conceitos-chave
- Assistente de uso geral
- O Agente Zero não está pré-programado para tarefas específicas (mas pode ser). Destina-se a ser um assistente pessoal de uso geral. Dê-lhe uma tarefa e ele coletará informações, executará comandos e códigos, cooperará com outras instâncias de agentes e fará o melhor para realizá-la.
- Possui uma memória persistente, permitindo memorizar soluções anteriores, códigos, fatos, instruções, etc., para resolver tarefas de forma mais rápida e confiável no futuro.
- Computador como ferramenta
- O Agente Zero usa o sistema operacional como ferramenta para realizar suas tarefas. Não possui ferramentas de propósito único pré-programadas. Em vez disso, ele pode escrever seu próprio código e usar o terminal para criar e usar suas próprias ferramentas conforme necessário.
- As únicas ferramentas padrão em seu arsenal são pesquisa online, recursos de memória, comunicação (com o usuário e outros agentes) e execução de código/terminal. Todo o resto é criado pelo próprio agente ou pode ser estendido pelo usuário.
- A funcionalidade de uso da ferramenta foi desenvolvida do zero para ser a mais compatível e confiável, mesmo com modelos muito pequenos.
- Ferramentas padrão: o Agent Zero inclui ferramentas como conhecimento, conteúdo de página da web, execução de código e comunicação.
- Criando ferramentas personalizadas: Amplie a funcionalidade do Agent Zero criando suas próprias ferramentas personalizadas.
- Instrumentos: Instrumentos são um novo tipo de ferramenta que permite criar funções e procedimentos personalizados que podem ser chamados pelo Agente Zero.
- Cooperação multiagente
- Cada agente tem um agente superior que lhe atribui tarefas e instruções. Cada agente então reporta ao seu superior.
- No caso do primeiro agente da cadeia (Agente 0), o superior é o usuário humano; o agente não vê diferença.
- Cada agente pode criar seu agente subordinado para ajudar a dividir e resolver subtarefas. Isso ajuda todos os agentes a manterem seu contexto limpo e focado.
- Totalmente personalizável e extensível
- Quase nada nesta estrutura é codificado. Nada está escondido. Tudo pode ser ampliado ou alterado pelo usuário.
- Todo o comportamento é definido por um prompt do sistema no arquivo prompts/default/agent.system.md . Altere este prompt e mude drasticamente a estrutura.
- A estrutura não orienta nem limita o agente de forma alguma. Não existem trilhos codificados que os agentes devam seguir.
- Cada prompt, cada pequeno modelo de mensagem enviado ao agente em seu loop de comunicação, pode ser encontrado na pasta prompts/ e alterado.
- Cada ferramenta padrão pode ser encontrada na pasta python/tools/ e alterada ou copiada para criar novas ferramentas predefinidas.
- Claro, é de código aberto (exceto algumas ferramentas como o Perplexity, mas que também será substituída por uma alternativa de código aberto no futuro).
- A comunicação é fundamental
- Dê ao seu agente instruções e avisos de sistema adequados e ele poderá fazer milagres.
- Os agentes podem se comunicar com seus superiores e subordinados, fazendo perguntas, dando instruções e orientando. Instrua seus agentes no prompt do sistema sobre como se comunicar de maneira eficaz.
- A interface do terminal é transmitida em tempo real e interativa. Você pode parar e intervir a qualquer momento. Se você vir seu agente indo na direção errada, pare e avise imediatamente.
- Há muita liberdade neste quadro. Você pode instruir seus agentes a reportar regularmente aos superiores pedindo permissão para continuar. Você pode instruí-los a usar sistemas de pontuação ao decidir quando delegar subtarefas. Os superiores podem verificar novamente os resultados e disputas dos subordinados. As possibilidades são infinitas.
Recursos interessantes para ter
- O resultado é muito limpo, colorido, legível e interativo; nada está escondido.
- A mesma saída colorida que você vê no terminal é salva automaticamente em um arquivo HTML na pasta logs/ para cada sessão.
- A saída do agente é transmitida em tempo real, permitindo que o usuário leia e intervenha a qualquer momento.
- Nenhuma codificação é necessária, apenas habilidades de estímulo e comunicação.
- Com um prompt de sistema sólido, a estrutura é confiável mesmo com modelos pequenos, incluindo o uso preciso da ferramenta.
Ter em mente
Agente Zero pode ser perigoso! Com instruções adequadas, o Agente Zero é capaz de muitas coisas, até mesmo potencialmente perigosas para o seu computador, dados ou contas. Sempre execute o Agent Zero em um ambiente isolado (como o contêiner docker integrado) e tenha cuidado com o que deseja.
O Agente Zero não está pré-programado; é baseado em prompt. Toda a estrutura contém apenas uma quantidade mínima de código e não orienta o agente de forma alguma. Tudo está no prompt do sistema na pasta prompts/ . Aqui você pode reescrever todo o comportamento da estrutura de acordo com suas necessidades. Se o seu agente não consegue se comunicar adequadamente, use ferramentas, raciocine, use memória, encontre respostas - apenas instrua-o melhor.
Se você não puder fornecer o ambiente ideal, informe seu agente. O Agent Zero foi feito para ser utilizado em um ambiente virtual isolado (por segurança) com algumas ferramentas pré-instaladas e configuradas. Caso você não consiga fornecer todas as condições ou chaves de API necessárias, basta alterar o prompt do sistema e informar ao seu agente qual sistema operacional e ferramentas estão à sua disposição. Nada está codificado; se você não contar ao seu agente sobre uma determinada ferramenta, ele não saberá e não tentará usá-la.
Problemas conhecidos
- O prompt do sistema é uma merda. Você pode fazer melhor. Se você fizer isso, me ajude por favor :)
- A comunicação entre agentes e terminal no Docker Container via SSH às vezes pode ser interrompida e parar de produzir saídas. Às vezes é porque o agente executa algo como "server.serve_forever()" que faz com que o terminal trave, às vezes pode ocorrer um erro aleatório. Reiniciar o agente e/ou o contêiner do docker ajuda.
- O agente pode quebrar seu sistema operacional. Às vezes, o agente pode desativar o ambiente virtual, desinstalar pacotes, alterar configurações, etc. Novamente, remover o contêiner do docker e limpar o work_dir/ é suficiente para corrigir isso.
Ambiente ideal
- Contêiner Docker : O ambiente perfeito para executar o Agent Zero é o contêiner docker integrado. O agente pode baixar a imagem frdel/agent-zero-exe por conta própria e iniciar o contêiner, você só precisa ter o docker em execução (como o aplicativo Docker Desktop).
- Python : Python deve estar instalado no sistema para executar o framework.
- Acesso à Internet : O agente precisará de acesso à Internet para usar sua ferramenta de conhecimento on-line e executar comandos e scripts que exigem conexão. Se você não precisa que seu agente esteja online, você pode alterar seus prompts na pasta prompts/ e torná-lo totalmente local.
Configurar
Um guia de configuração detalhado para Windows, macOS e Linux com vídeo pode ser encontrado na nova documentação do Agent Zero nesta página.
Consulte a Documentação
A documentação se aprofunda na estrutura e em seus recursos. É um bom lugar para começar se você for novo no Agente Zero. Clique aqui para ver a Documentação.
Chegando
- Binários pré-instalados e scripts de bundler
- Ferramenta de conhecimento de código aberto e ferramenta de web scraping
- Refinamentos de interação do usuário
- LLMs comutáveis no contexto
Log de alterações [desde a versão 0.7]
v0.7.1
- Bate-papos persistentes - serializados em /tmp/chats e carregados automaticamente em run_ui.py na inicialização
- Pilha de documentação mesclada no repositório
- Correções de bugs
v0.7
- Memória automática
- Melhorias na interface do usuário
- Instrumentos
- Estrutura de extensões
- Solicitações de reflexão
- Correções de bugs
Observação
Mudanças nos arquivos de inicialização desde a v0.6:
- O arquivo main.py foi substituído pelos arquivos de inicialização run_ui.py (webui) e run_cli.py (terminal).
- a configuração foi movida para inicializar.py para arquivos de inicialização do webui e do terminal.