Empoderando a los agentes de IA verdaderamente autónomos a través del aprendizaje de refuerzo evolutivo adversario
Sitio web
Documento blanco
Papel técnico
Documento
Telegrama
Twitter/X
Descripción general
Características
Empezando
Instalación
Componentes
Bucle evolutivo
Tutorial detallado
Licencia
Que contribuye
Citación
Evolverl es un marco innovador que permite a los agentes de IA superar a través de mecanismos evolutivos y adversos. A diferencia de los enfoques tradicionales que dependen en gran medida de la ingeniería rápida manual, Evolverl permite a los agentes generar, probar y probar sistemáticamente sus propias indicaciones y configuraciones, cerrando la brecha entre la autonomía teórica y la autosuficiencia real.
En la emergente economía de agentes de IA, muchos imaginan un futuro donde los agentes funcionan de manera autónoma con una supervisión humana mínima. Sin embargo, si los humanos deben actualizar constantemente las indicaciones para manejar nuevas tareas o casos de borde, los agentes no son realmente soberanos. Evolverl resuelve esto al permitir la superación continua a través de:
Evolución autónoma : los agentes detectan brechas y actualizan sus propias indicaciones
Pruebas adversas : validación robusta contra escenarios desafiantes
Selección basada en el rendimiento : aparición natural de configuraciones óptimas
Adaptación continua : respuesta en tiempo real a condiciones cambiantes
Optimización evolutiva : evolucionar las indicaciones y comportamientos utilizando algoritmos genéticos
Dominio Agnóstico : Especialización para cualquier dominio
Evaluación robusta : juicio y evaluación integrales
Prueba de adversario : genere escenarios desafiantes para garantizar la robustez
Gestión del estado : guardar y carga modelos evolucionados y sus estados
Soporte de modelos múltiples : use el Claude de OpenAI's GPT o Anthrope, o ejecute Llama localmente (próximamente)
Bucle de superación personal : evolución continua sin intervención humana
# Instalación básica PIP Instalar Evolverl# Instalar con todas las dependencias PIP Instalar Evolverl [all]
de Evolverl.Evolution Import Evolution, EvolutionConfigFrom EvOlverl.lllM import llMConfigFrom EvOlverl.agent Import Agent, AgentConfig # configure LLM backendllm_config = llmconfig (model_name = "gpt-4", model_type = "opentei", # o "antthropa" Openi_api_api_api_api_api_api_key_pre -Api-Key " # o Anthrope_api_Key para Claude) # Crear agente con el sistema apidAgent_config = agentConfig (llm_config = llm_config) agente = agente (agente_config) agente.set_default_prompt (" "" Es un agente experto en Mathematics. Problemas complejos paso a paso y muestre su trabajo claramente. "" ")# Configurar evolución processConfig = EvolutionConfig (población_size = 5, generaciones = 10, mutation_rate = 0.1, crossover_rate = 0.8, output_dir =" agentes ")# crear instancia evolución = evolución = evolución = evolución = evolución (config, experiment_id = "math_solver")# ejecutar evolution ProcessAwait Evolution.evolve (Domain = "Mathematics", Descripción = "Resuelve problemas matemáticos complejos con explicaciones detalladas")
También puede usar agentes directamente sin evolución:
# Crear y configurar AgentAgent = Agent (agenteConfig (llm_config = llm_config)) agente.set_default_prompt ("Usted es un asistente de IA útil ...")# Enviar mensajes de mensajes = a espera agente.send_message ("¿Qué es 2+2?") (respuesta)
train_agent.py
es una CLI de un solo archivo que ejecuta el proceso de evolución. Asegúrese de actualizar primero el archivo de configuración default_config.json
, así como mantener su clave de API OpenAI o antrópica como variables de entorno o en el .env
.
# Uso básico con OpenAipython Train_agent.py -Domain Math -Descripción "Resolver problemas matemáticos" -V# Use Claudepython Train_agent.py de Anthrope --Provider Anthrópica -Dominio Math -Descripción "Solve Math Problems"# Carga de dominio de Filepython Train_agent.py-Domains-File Domains/Math_solver.json# Directora de salida personalizada Train_agent.py-Domain Math --Description "..." --output-dir ./my_agents# Aumente la verbosidad (hasta -vvvvv) Python Train_agent.py --Math Math -Descripción "..." -vvv
Los ejemplos de dominio actuales están en lenguaje natural. Puede agregar más detalles al construir sus propios casos de uso. Además, puede incluir cualquier ejemplo que crea que es importante que el agente sepa.
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
El individuo .json
(no el *_full.json
) contiene el AgentConfig
para el mejor agente de la generación o en general. Puede iniciar un agente directamente desde su archivo AgentConfig
llamando agent.load_config(PATH_TO_CONFIG_FILE)
. Asegúrese de actualizar la clave API, ya que no se almacenará en el archivo AgentConfig
.
{"POBLACION_SIZE": 5, "Generaciones": 10, "Mutation_Rate": 0.1, "CrossOver_Rate": 0.8, "Min_score_threshold": 0.7, "Tournament_Size": 2, "Max_interaction_Attempts": 5, "Output_dir": "Agents" , "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
El proceso de evolución muestra progreso en tiempo real con barras de progreso anidadas:
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]
Esto puede llevar un tiempo dependiendo del número de generaciones y el tamaño de la población por generación.
Licencia del MIT: consulte el archivo de licencia para obtener más detalles
Bifurca el repositorio
Crear una rama de características
Comprende tus cambios
Empujar a la rama
Crear una solicitud de extracción
@Software {EvolverL2024, title = {Evolverl: Evolutionary Refpleam Learning para LLMS}, autor = {theHandsomedev}, año = {2025}, url = {https://www.evolverl.com/}}