imbue-ai/darwinian_evolver

Framework for evolving code and prompts inspired by Darwinian evolution

解決する課題

Darwinian-evolver は、進化に着想を得た反復プロセスを通じて、コードやプロンプトテンプレートを自動的に改善するためのフレームワークを提供します。変異、テスト、選択のサイクルを自動化することで、プロンプトの手動調整や複雑なロジックの記述といった問題を解決します。これにより、変更を生成するツール(ミューテーター)が信頼できない場合であっても、解決策をより高いパフォーマンスへと進化させることが可能です。

仕組み

このフレームワークは、解決策(生物)の集団を維持し、以下の3つのコアコンポーネントを通じて進化させます。

  1. 初期生物 (Initial Organism):Python 関数やプロンプトテンプレートなどの出発点。
  2. 評価器 (Evaluator):生物のパフォーマンスをスコアリングし、特定の失敗ケース(解決策が失敗した入力)を特定するシステム。
  3. ミューテーター (Mutator):生物とその失敗ケースを受け取り、改善されたバージョンを生成する LLM ベースのエージェントまたはプロンプト。

各反復において、フレームワークは(パフォーマンススコアと新規性の両方を考慮した)加重サンプリング手法に基づいて有望な親を選択し、変異を適用して、新しい子孫を評価します。これには、一度に複数の失敗を処理する バッチ変異 (Batch Mutations)、完全な評価の前に不適切な変更をフィルタリングする 変異後検証 (Post-Mutation Verification)、ミューテーターが過去の試行の成功や失敗を参照できるようにする 学習ログ (Learning Log) といった高度な機能が含まれています。

対象ユーザー

LLM プロンプトの最適化、AI コーディングエージェントの進化、あるいは手動の試行錯誤なしで複雑な推論タスク(ARC-AGI など)を解決したい開発者や AI 研究者。

ハイライト

  • レジリエントな最適化 (Resilient Optimization):ミューテーターがわずかな割合でしか改善を生み出せない場合でも効果的に機能します。
  • コードの進化 (Coded Evolution):実際のソースコードの進化をサポートし、エージェントが自身のロジックを改善する自己改善型ミューテーターを実現します。
  • 柔軟なサンプリング (Flexible Sampling):シグモイドスケーリングされたパフォーマンスと新規性ボーナスを使用して、トップレベルの解決策の活用と集団の多様性のバランスを取ります。
  • 系統の可視化 (Lineage Visualization):集団の進化の歴史を視覚的に確認するためのツールが含まれています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト