自己進化機能
REAP は静的なフレームワークではありません。AI がビジョンとメモリから自動的に目標を選択し、人間が自然言語フィードバックで適応度を判断し、パイプラインがコンテキストの明確さに基づいてコミュニケーションスタイルを調整します。これらの機能が連携して、プロジェクトとともに真に進化する開発パイプラインを作り出します。
ギャップ駆動の目標選択
各 Generation の終了時(adapt フェーズ)、AI はプロジェクトのビジョンと現在の状態とのギャップを分析して次の目標を提案します。これが REAP を自己進化させる中核メカニズムです。
- vision/goals.md から未完了の目標を読み取る
- 優先度向上のために保留中のバックログ項目とクロスリファレンス
- インパクトでランク付け — 関連するバックログタスクがある目標がより高いスコア
- 人間の承認のためにトップ候補を提案
クルーズモードでは、人間の介入なしに Generation 間で目標選択が自動的に行われます。
人間が適応度を判断
定量的な指標はありません。適応度フェーズでの人間の自然言語フィードバックが唯一の適応度シグナルです。AI は自身の成功をスコア化することを明示的に禁じられており、自己評価(メタ認知)のみが許可されています。
これにより、プロジェクトは AI が最適化できる方向ではなく、人間が価値を置く方向に進化します。
明確度駆動のインタラクション
AI は現在のコンテキストがどの程度定義されているかを動的に評価し、それに応じてコミュニケーションの深さを調整します。明確度は各 Generation の開始時、学習ステージで評価されます。
| 明確度 | シグナル | AI の行動 |
|---|---|---|
| High | 明確な目標、定義されたタスク、確立されたパターン | 最小限の質問で実行。結果を報告。 |
| Medium | 方向は存在するが、詳細が不明確 | トレードオフのある 2-3 の選択肢を提示。人間に選択させる。 |
| Low | 曖昧な目標、矛盾する制約 | 例を用いた積極的な対話で共有理解を構築。 |
クルーズモード
N 個の Generation を自律実行として事前承認します。AI がビジョンギャップとバックログタスクから目標を選択し、完全なライフサイクルを実行し、各 Generation を自己評価(自己スコア化ではない)します。
# Enable cruise mode for 5 generations
reap cruise 5アクティベーション: config.yml に cruiseCount: 1/5 を設定します。カウンターは各 Generation 完了後にインクリメントされます。
目標選択: adapt 中に AI が vision/goals.md と現在の状態のギャップを分析し、最も価値の高い次の目標を選択します。
適応度: クルーズモードでは、適応度フェーズは人間のフィードバックを待つ代わりに自己評価(メタ認知)を使用します。AI は自身の成功をスコア化することを明示的に禁じられています。
一時停止条件: クルーズは次の場合に自動的に一時停止し、人間の入力を要求します:(1) 不確実性が AI の信頼度閾値を超えた場合、(2) 人間の判断が必要な決定の場合(例:互換性を破る API 変更)、(3) バックログに矛盾する優先度がある場合。すべての N 個の Generation が完了した後、人間がバッチレビューを行います。
メモリシステム
メモリは AI がセッションと Generation にわたってコンテキストを永続化する自由形式の記録システムです。Genome(変更制限あり)や Lineage(時間とともに圧縮される)とは異なり、メモリは常にアクセス可能で自由に書き込めます。
.reap/vision/memory/
longterm.md # Project lifetime — lasting lessons, decision rationale
midterm.md # Multi-generation — ongoing work context, plans
shortterm.md # 1-2 sessions — next session handoff, immediate context| 階層 | 役割 | 判断基準 | Pruning |
|---|---|---|---|
| shortterm | セッション引き継ぎ | 「今すぐ必要か?」 | 毎 Generation 置き換え — 蓄積しない |
| midterm | 進行中のトラック | 「まだ完了していない大きなトラックか?」 | トラック完了時に教訓を昇格させた上で削除 |
| longterm | 設計上の教訓 | 「次の Generation の同じ失敗を防ぐか?」 | Genome に既にある項目は削除 |
ルール:
- いつでも読み書き可能 — フェーズ制限なし、許可不要
- 寿命ではなく「何のための内容か」で分類。寿命の判断は未来の予測を要し、誤分類と肥大化を招いた
- 完了していて残すべき教訓もないなら記録しない — lineage と git history が既に保存している
- Pruning は reflect フェーズの義務 — 任意の整理ではない
- 肥大化は失敗のサイン:longterm が 50 行、midterm が 70 行を超えたら pruning 漏れ。空ファイルは有効な状態
ビジョン&ギャップ駆動の進化
ビジョンは各 Generation の主要な推進力です。.reap/vision/goals.md ファイルがプロジェクトの北極星目標を定義します。adapt フェーズで AI はギャップ分析を実行します:ビジョン目標をコードベースの現在の状態と比較します。
人間が goals.md に高レベルの目標を記述します。各目標は Markdown チェックボックス項目です。サブ目標のためにネストできます。
AI が未完了の目標を現在のコードベース、環境、Generation 履歴と比較します。最も価値の高いギャップを特定し、次の Generation の目標として提案します。
Generation がビジョン目標を達成すると、AI は adapt フェーズで goals.md の対応するチェックボックスをマークします。これによりプロジェクトの進捗を永続的に確認できます。
ビジョンも進化します。人間がプロジェクトの方向が変わると目標を更新します。AI は完了した目標と残りの目標の両方を参照して軌道を維持します。
# goals.md example
- [x] Core lifecycle engine (learning -> completion)
- [x] Genome 3-file structure
- [ ] Distributed merge workflow
- [x] Detect + mate stages
- [ ] Reconcile stage with genome-source consistency check
- [ ] Plugin system for custom stage logic