Capacitando agentes verdadeiramente autônomos de IA através de um aprendizado de reforço evolutivo adversário
Site
Whitepaper
Papel de tecnologia
Documentos
Telegrama
Twitter/x
Visão geral
Características
Começando
Instalação
Componentes
Loop evolutivo
Passo a passo detalhado
Licença
Contribuindo
Citação
O Evolverl é uma estrutura inovadora que permite que os agentes da IA se auto-melhorem através de mecanismos evolutivos e adversários. Diferentemente das abordagens tradicionais que dependem fortemente da engenharia imediata manual, o Evolverl permite que os agentes gerem, testem e refinem sistematicamente suas próprias instruções e configurações, preenchendo a lacuna entre autonomia teórica e autoconfiança real.
Na emergente economia do agente de IA, muitos imaginam um futuro em que os agentes correm de forma autônoma com o mínimo de supervisão humana. No entanto, se os seres humanos devem atualizar constantemente solicitações de IA para lidar com novas tarefas ou casos de borda, os agentes não são realmente soberanos. O Evolverl resolve isso, permitindo o auto-aperfeiçoamento contínuo por meio de:
Evolução autônoma : os agentes detectam lacunas e atualizam seus próprios prompts
Teste adversário : validação robusta contra cenários desafiadores
Seleção baseada em desempenho : surgimento natural de configurações ideais
Adaptação contínua : resposta em tempo real às condições de mudança
Otimização evolutiva : evoluir instruções e comportamentos usando algoritmos genéticos
Domínio Agnóstico : Especialização para qualquer domínio
Avaliação robusta : julgamento e avaliação abrangentes
Teste adversário : gerar cenários desafiadores para garantir a robustez
Gerenciamento de estado : salvar e evoluir modelos evoluídos e seus estados
Suporte ao modelo múltiplo : use o GPT do OpenAI ou o Claude do Antrópico, ou Run Llama localmente (em breve)
Loop de auto-aperfeiçoamento : evolução contínua sem intervenção humana
# Basic InstallationPip Install Evolverl# Instale com todas as dependênciasPIP Install Evolverl [All]
De evolverl.evolution Import Evolution, evolutionConfigfrom evolverl.llm import llmconfigfrom evolverl.agent Import Agent, agentConfig # Configure llm backendllm_config = llmconfig (model_name = "gpt-4", model_type = " -Api-Key " # ou Anthropic_API_KEY para Claude) # Crie agente com o System PromptAgent_Config = AgentConfig (llm_config = llm_config) agente = agent (agent_config) agente.set_default_prompt (" "" Você é um especialista em um agente especializado em mathematics.you Problemas complexos passo a passo e mostram seu trabalho claramente. (config, experiment_id = "math_solver")# execute evolution processawait evolution.evolve (domain = "matemática", description = "resolver problemas de matemática complexos com explicações detalhadas")
Você também pode usar agentes diretamente sem a evolução:
# Crie e configure agenteGent = agent (agentConfig (llm_config = llm_config)) agent.set_default_prompt ("Você é um assistente útil da IA ...")# Enviar mensagens de forma = Await agent.send_message ("O que é 2+2?")) (resposta)
train_agent.py
é uma CLI de arquivo único que executa o processo de evolução. Certifique -se de atualizar primeiro o arquivo de configuração default_config.json
, além de manter sua chave de API OpenAI ou antropal como variáveis de ambiente ou no .env
.
# Uso básico com o OpenAipthy Train_agent.py -Domain Math -Description "Resolver Math Problems" -v# Use o claudepython de antropia. TRAIN_AGENT.PY-DOMAIN-FILE DOMINOS/MATH_SOLVER.JSON# DirectorypyThon de saída personalizado TRAIN_AGENT.PY -DOMAIN MATH -Description "..." -vvv
Os exemplos atuais de domínio estão em linguagem natural. Você pode adicionar mais detalhes ao criar seus próprios casos de uso. Além disso, você pode incluir todos os exemplos que acredita que são importantes para o agente conhecer.
agents/ ├── {experiment_id}_gen0.json # Best agent from generation 0 ├── {experiment_id}_gen0_full.json # All variants and scores from generation 0 ├── {experiment_id}_gen1.json # Best agent from generation 1 ├── {experiment_id}_gen1_full.json # All variants and scores from generation 1 └── {experiment_id}_best.json # Best agent overall
O indivíduo .json
(não o *_full.json
) contém o AgentConfig
para o melhor agente da geração ou em geral. Você pode iniciar um agente diretamente do seu arquivo AgentConfig
chamando agent.load_config(PATH_TO_CONFIG_FILE)
. Certifique -se de atualizar a chave da API, pois ela não será armazenada no arquivo AgentConfig
.
{"Population_size": 5, "Generations": 10, "mutation_rate": 0.1, "crossover_rate": 0.8, "min_score_threshold": 0.7, "torneio_size": 2, "max_interaction_attts": 5, "output_dir": "agentes" , "llm_config": {"model_name": "gpt-4o-mini", "model_type": "openai", "max_tokens": 500, "temperatura": 0,7} }
agents/ ├── {experiment_id}_gen0.json # Best agent from generation 0 ├── {experiment_id}_gen0_full.json # All variants from generation 0 ├── {experiment_id}_gen1.json # Best agent from generation 1 ├── {experiment_id}_gen1_full.json # All variants from generation 1 └── {experiment_id}_best.json # Best agent overall
O processo de evolução mostra o progresso em tempo real com as barras de progresso aninhadas:
Generation 2/10: 100%|██████████| 6/6 [00:15<00:00, best_score=0875, avg_score=0834] Overall Progress: 15%|██ | 12/80 [00:30<02:45, generation=2/10, best_overall=0875]
Isso pode demorar um pouco, dependendo do número de gerações e do tamanho da população por geração.
MIT Licença - consulte o arquivo de licença para obter detalhes
Fork o repositório
Crie uma filial de recursos
Cometer suas mudanças
Empurre para o ramo
Crie um pedido de tração
@software {evolverl2024, title = {evolverl: aprendizado de reforço evolutivo para llms}, autor = {thehandsomedev}, ano = {2025}, url = {https://www.evolverl.com/}}}}