🌐 English | 🇯🇵 日本語
失敗するたびにルールを学習していく RAG です。GPU も fine-tuning も要りません。
1,900回以上の実験で、進化なしより +11pp 以上の改善を確認しています。
免責事項
高校生が個人で作ったやつです。API 代が厳しいので追加実験はできていません。
| 実験 | 設定 | 主な結果 |
|---|---|---|
| アブレーション | 3条件 × 3シード × 60試行 | 進化あり 89.4% vs なし 78.3% (+11pp) |
| V字回復 | 仕様変更シナリオ、n=100 | 崩壊後に自動で回復、+18pp (87% vs 69%) |
| 静的 vs Darwin | 5条件比較、n=60 | Darwin RAG 95% vs 静的RAG 90% |
| LLM-as-a-Judge | 3シード × 60試行 × 2条件 | Judge精度 97–100%、+15.6pp |
git clone https://github.com/RPG-478/Darwin-RAG.git
cd Darwin-RAG
pip install -r requirements.txt
set GEMINI_API_KEY=YOUR_KEY # macOS/Linux では export GEMINI_API_KEY=...Gemini API キーは Google AI Studio から無料で取得できます。
# 動作確認(30試行、3〜5分くらいかかります)
python src/python_hard_experiment.py -n 30 --seed 42全実験の再現コマンドは EXPERIMENTS.md にまとめています。
| 実験 | スクリプト | 詳細 |
|---|---|---|
| アブレーション | python_hard_experiment.py |
EXPERIMENTS.md#experiment-1 |
| V字回復 | vshaped_experiment.py |
EXPERIMENTS.md#experiment-2 |
| 静的 vs Darwin | static_vs_darwin_experiment.py |
EXPERIMENTS.md#experiment-3 |
| LLM-as-a-Judge | llm_judge_experiment.py |
EXPERIMENTS.md#experiment-4 |
| オプション | 説明 |
|---|---|
-n <数> |
試行回数(デフォルト: 30) |
--seed <数> |
乱数シード(結果を再現したいときに) |
--no-crossover |
LLM Crossover を切ります(アブレーション用) |
--no-evolution |
進化を全部切ります(ベースライン用) |
--llm-cache <パス> |
LLM の応答をキャッシュします(API代の節約に) |
失敗のフィードバックをもとに、知識ベース(ルール集)を自動で育てていきます。
タスク選択 → Thompson Sampling でルール選択 → LLM でコード修復
│
Sandbox (pass/fail)
┌─────────────┴──────────────┐
Pass Fail
α 加算 β 加算 → Mutation?
└─────────────┬──────────────┘
Crossover(条件を満たす場合)
│
Population Cap → 最弱ルールを淘汰
詳しくは docs/architecture.md を見てください。
Darwin RAG/
├── src/ # 実験スクリプト
│ ├── learning_system.py # コアエンジン(Thompson Sampling, XCS 進化ループ)
│ ├── python_hard_experiment.py
│ ├── vshaped_experiment.py
│ ├── static_vs_darwin_experiment.py
│ └── llm_judge_experiment.py
├── data/ # テストケース・知識ベース
├── docs/ # ドキュメント
│ ├── architecture.md # アーキテクチャの詳細
│ └── experiments/ # 実験レポート(4本)
├── experiments/ # 実験ログの出力先(gitignore済み)
├── figures/ # 提案書用の図
├── EXPERIMENTS.md # 再現ガイド
└── requirements.txt
- Wilson, S.W. (1995). "Classifier fitness based on accuracy." Evolutionary Computation - XCS の淘汰基準
- Asai et al. (2023). "Self-RAG." ICLR 2024
- Tang et al. (2025). "MBA-RAG." COLING 2025
- Tang et al. (2025). "Dynamic-RAG." AAAI 2025
- Li et al. (2026). "SE-Search: Self-Evolving Search for Knowledge-Intensive Tasks."
- Chinthala (2025). "Bidirectional RAG."
- Google DeepMind (2023). "Promptbreeder."
Darwin RAGは、現在は実験的プロトタイプです。
基本的な進化ループ、アブレーション、V字回復、静的RAG比較、 LLM-as-a-Judge実験までは実装・検証済みです。
一方で、開発者の環境は8GB RAMのノートPCであり、 ローカルLLMや大規模なAPI実験を継続することが難しいため、 現時点では追加の大規模検証は行えていません。
そのため、研究者・企業・個人開発者からの技術的なフィードバックを歓迎しています。
特に以下について意見をいただきたいです。
- 研究テーマとして見る価値があるか
- 既存研究との差分をどう整理すべきか
- 比較対象として見るべき手法は何か
- 評価実験を追加するなら何を見るべきか
- Crossoverの有効性を検証するには、どのような実験設計が良いか