敵対的な進化の強化学習を通じて、真に自律的なAIエージェントに力を与える
Webサイト
ホワイトペーパー
技術
ドキュメント
電報
Twitter/x
概要
特徴
はじめる
インストール
コンポーネント
進化ループ
詳細なウォークスルー
ライセンス
貢献
引用
Evolverlは、AIエージェントが進化的および敵対的なメカニズムを通じて自己改善できるようにする画期的なフレームワークです。マニュアルプロンプトエンジニアリングに大きく依存している従来のアプローチとは異なり、Evolverlはエージェントが独自のプロンプトと構成を体系的に生成、テスト、および改良することを可能にし、理論的自律性と実際の自立の間のギャップを埋めることができます。
新たなAIエージェント経済では、多くの人がエージェントが最小限の人間の監視で自律的に実行する未来を想像しています。ただし、人間が新しいタスクまたはエッジケースを処理するためにAIプロンプトを絶えず更新しなければならない場合、エージェントは本当に主権ではありません。 Evolverlは、以下を通じて継続的な自己改善を可能にすることでこれを解決します。
自律的進化:エージェントはギャップを検出し、独自のプロンプトを更新します
敵対的なテスト:挑戦的なシナリオに対する堅牢な検証
パフォーマンスベースの選択:最適な構成の自然な出現
継続的な適応:変化する条件に対するリアルタイムの対応
進化的最適化:遺伝的アルゴリズムを使用したプロンプトと行動の進化
ドメイン不可知論者:あらゆるドメインの専門化
堅牢な評価:包括的な審査と評価
敵対的なテスト:堅牢性を確保するための挑戦的なシナリオを生成します
国家管理:進化したモデルとその状態を保存してロードする
複数のモデルサポート:OpenaiのGPTまたはAnthropic's Claudeを使用するか、Llamaをローカルに実行します(近日公開)
自己改善ループ:人間の介入なしの継続的な進化
#basic installationpipインストールevolverl#すべてのdependenciespipインストールevolverl [all]をインストールする
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 = "openai_key =" anthropic " -api-key "#またはanthropic_api_key for claude)複雑な問題は段階的に作業を明確に見せてください。 "" "")#Evolution ProcessConfig = evolutionConfig(hopusting_size = 5、Generations = 10、mutation_rate = 0.1、crossover_rate = 0.8、output_dir = "agents") (config、experiment_id = "math_solver")
進化なしにエージェントを直接使用することもできます。
#agentagent = agent(agentconfig(llm_config = llm_config))agent.set_default_prompt( "あなたは役に立つAIアシスタント...") (応答)
train_agent.py
進化プロセスを実行する単一のファイルCLIです。最初に構成ファイルdefault_config.json
更新し、OpenAIまたは人類のAPIキーを環境変数または.env
に保ちます。
#Openaipyton Train_agent.pyでの基本的な使用 - ドメイン数学 - 説明 "数学の問題を解決する" -v#eanthropicのclaudepython train_agent.py - プロバイダー人類 - ドメイン数学 - description " train_agent.py - domain-file domains/math_solver.json#custom output directorypython train_agent.py - domain math - description "..." - output-dir ./my_agents#冗長性(-vvvvvまで)の増加train_agent.py - domain math - description "..." -vvv
現在のドメインの例は自然言語です。独自のユースケースを作成するときに、詳細を追加できます。さらに、エージェントが知ることが重要であると思われる例を含めることができます。
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
個々の.json
( *_full.json
ではありません)には、世代または全体の最高のエージェントのためのAgentConfig
が含まれています。 agent.load_config(PATH_TO_CONFIG_FILE)
を呼び出して、 AgentConfig
ファイルからエージェントを直接開始できます。 AgentConfig
ファイルに保存されないため、APIキーを更新してください。
{"Hoppules_size":5、 "Generations":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、 "温度":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
進化プロセスは、ネストされた進行状況バーでリアルタイムの進行を示しています。
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]
これには、世代あたりの世代数と人口規模に応じて時間がかかる場合があります。
MITライセンス - 詳細については、ライセンスファイルを参照してください
リポジトリをフォークします
機能ブランチを作成します
あなたの変更をコミットします
枝に押します
プルリクエストを作成します
@software {evolverl2024、title = {evolverl:evolverl:llmsの進化補強学習}、著者= {handsomedev}、year = {2025}、url = {https://www.evolverl.com/}}}