エージェントスキル発見
バージョン: 1.0
ドメイン: 自律学習システム、AIアーキテクチャ、強化学習
コアコンセプト
自律スキル発見は、chicken-egg問題を解決します。つまり、成功を構成するものを学びながら、それを達成する方法を学ぶということです。システムは学生であり教師である必要があり、提案と検証のアーキテクチャ上の分離を必要とする循環依存関係を生み出します。
決定ポイント
アーキテクチャ選択の決定木
タスクに真の成功基準がある場合(例:ナビゲーション、明確な目標を持つ操作) → 高速LLM評価によるシングルモデルアーキテクチャを使用 → コスト:低 | 精度:約75% | ユースケース:事前定義タスク
タスクにオープンエンドなスキル発見が必要な場合(例:クリエイティブタスク、探索) → デュアルプロセスアーキテクチャ(System 1/System 2)を使用 → System 1:トレーニングループ用の高速LLM評価 → System 2:ライブラリ登録用の独立VLM検証 → コスト:高 | 精度:約76% | ユースケース:自律学習
複雑なマルチステップ動作が望ましい場合 → トップダウンクエスト分解 → 失敗した複雑タスクから開始 → サブタスクに分解 → 不足している前提条件を学習 → 成功率:43.75%(ボトムアップ連鎖の12.50%に対して)
プリミティブからスキルライブラリを構築する場合 → プリミティブが最終目標に適切にマッチしている場合のみ、ボトムアップスキル連鎖 → リスク:組み合わせ爆発と「中級スキル」の欠落 → フォールバック:構成が失敗した場合、トップダウンに切り替え
既存のアプローチでパフォーマンスが頭打ちになった場合 → 循環依存関係の確認(同じモデルが提案と評価を行っていないか) → 検出された場合:アーキテクチャ上の分離を実装 → 検出されない場合:成功したスキルパターンを用いたRAGを追加し、環境知識を蒸留
検証戦略の決定テーブル
| シナリオ | 高速評価 (System 1) | 低速評価 (System 2) | ライブラリ登録ルール |
|---|---|---|---|
| トレーニングループ | LLM生成成功関数 | なし | 適用外 |
| スキル検証 | LLM評価 | VLM検証 | 両方合格が必要 |
| ライブラリ汚染リスク | 高許容度 | ゼロ許容度 | System 2オーバーライド必須 |
| コスト制約 | 速度最適化 | 精度最適化 | 非対称コスト受け入れ |
障害モード
1. ゴム印評価
症状: 高い報告成功率だがタスク完了率が低い、ライブラリが急速に成長する 検出ルール: 同じモデルが報酬を生成し、かつ成功を評価している場合、循環依存関係が存在する 根本原因: LLMがプレイヤーと審判の両方の役割を担うことで評価バイアスが発生する 修正方法: 独立したバリデーター(例:視覚タスク用VLM)によるアーキテクチャ上の分離を実装
2. プリミティブ爆発麻痺
症状: スキルライブラリは大規模だが複雑タスクを解決できず、スキルが効果的に構成されない 検出ルール: スキル数が増加しても複雑タスク成功率が横ばいの場合、「中級スキル」問題が存在する 根本原因: ボトムアップ連鎖では、プリミティブと複雑目標の間のスキルを発見できない 修正方法: 望ましい複雑動作からトップダウンクエスト分解に切り替え
3. 文脈非依存RAGの無駄
症状: RAG検索は行われているがパフォーマンスが改善せず、検索を汎用サンプルとして扱っている 検出ルール: RAGが制約学習(例:物理理解)を改善しない場合、高価なプロンプトに過ぎない 根本原因: 環境知識蒸留メカニズムが欠落している 修正方法: スキルライブラリを単なるサンプル収集ではなく、環境アフォーダンスのプログレッシブモデルとして構造化
4. ライブラリ汚染カスケード
症状: ライブラリが成長するにつれてパフォーマンスが経時的に低下、誤検出が複合化する 検出ルール: ライブラリ登録にトレーニングループと同じ評価を使用する場合、汚染がカスケードする 根本原因: 悪いスキルが悪い構成を可能にし、ライブラリエラーはトレーニングノイズとは異なり複合する 修正方法: ライブラリ登録には高価な独立検証を使用し、安価な評価はトレーニングのみに使用
5. 手動粒度オーバーライド
症状: スキルが自然な意味的境界から切り離されている、強制された抽象化レベル 検出ルール: 手動でスキル粒度を指定することがLLMの提案と矛盾する場合、ドメインの整合性を確認 根本原因: LLMはトレーニングデータから意味的タスク境界をエンコードする 修正方法: システムに自由にスキルを提案させ、発見された粒度を観察し、ドメイン固有のニーズにのみ調整
動作例
例1:デュアルプロセス検証を用いたロボット引き出し開け
シナリオ: エージェントは、事前定義された成功基準なしで様々なタイプの引き出しを開けることを学習する必要がある。
System 1(高速)プロセス:
- LLMがスキル提案「grasp_drawer_handle」を生成
- LLMが成功関数
drawer_handle_grasped = gripper_distance < 0.02を作成 - RLトレーニングがこの関数を100エピソード使用
- LLMが評価:「成功!グリッパーが一貫してハンドルに届いている」
- 決定ポイント: ライブラリに登録?いいえ - System 2が必要
System 2(低速)プロセス:
- VLMがベスト10エピソードの最終ビデオフレームを分析
- VLM判定:「グリッパーはハンドルに触れているが、把持を維持していない - 指が閉じていない」
- 検出: System 1の誤検出を捕捉
- アクション: ライブラリ登録を拒否、成功関数を改良
- 反復: 成功関数に把持圧力要件を追加
エキスパート vs 初心者:
- 初心者の見落とし: LLM自己評価を信頼し、学習が不十分なスキルを登録する
- エキスパートの気づき: 同じモデルは自分が提案したものを評価できない。独立した検証が必要
結果: ライブラリはSystem 2なしの46%に対して、76%の精度を維持
例2:マルチステップタスクのためのトップダウンクエスト分解
シナリオ: 「prepare_coffee」が、「grasp_cup」「pour_liquid」などのプリミティブがあるにも関わらず、ボトムアップスキル連鎖で失敗する。
ボトムアップ失敗分析:
- 利用可能なスキル:grasp_cup、pour_liquid、move_arm、detect_object
- 構成試行:可能な2スキル連鎖16通りすべてを試行
- 欠落している中級スキル: 「align_cup_with_spout」、「detect_liquid_level」、「coordinate_bimanual_pouring」
- 決定ポイント: ボトムアップではこれらを発見できない - プリミティブ構成ではない
トップダウン分解:
- 失敗したタスク: 「prepare_coffee」
- 分解: [heat_water] → [grind_beans] → [align_cup] → [pour_water] → [add_beans]
- ギャップ分析: 「align_cup」がライブラリにない
- オンデマンド学習: 初期状態=「grind_beans」の終了状態として「align_cup」を学習
- 連鎖: 各サブタスクの成功状態が次のタスクの初期条件となる
トレードオフ分析:
- ボトムアップ: 成功率12.50%、不要なスキル組み合わせを探索
- トップダウン: 成功率43.75%、必要な前提条件のみを学習
- コスト: トップダウンはタスク分解能力を必要とし、ボトムアップは網羅的探索を必要とする
トップダウンが逆効果になる場合:
- タスク分解が間違っている場合、誤ったサブタスクのスキルを学習する
- 初期状態を確実に設定できない場合、連鎖が壊れる
- 緩和策: スキル学習前に分解を検証し、状態設定の検証を実装
例3:RAG環境知識蒸留
シナリオ: エージェントは、明示的な物理的制約なしで新しい環境での操作スキルを学習する必要がある。
RAGなし(成功率25%):
- LLMが報酬を生成:
reward = distance_to_target - エージェントは接近を学習するが、衝突境界を考慮しない
- 失敗: グリッパーが把持前に表面から5cm離れていなければならないという知識がない
RAGあり(成功率46%):
- 過去の成功事例「reach_cube_A」の報酬関数を検索
- パターン検出: 成功したリーチすべてに
gripper_height > 0.05制約が含まれている - LLMが組み込み:
reward = distance_to_target if gripper_height > 0.05 else -10 - 知識蒸留: 環境アフォーダンスが暗黙的に学習される
エキスパート vs 初心者:
- 初心者の見落とし: RAGをサンプル提供として扱い、制約学習を認識しない
- エキスパートの気づき: RAGはパターン認識を通じて環境知識蒸留を可能にする
RAGが逆効果になる場合:
- 検索されたパターンが異なる環境からのものである場合、誤った制約が学習される
- 成功事例が少なすぎる場合、パターンが統計的に有意でない
- 緩和策: 環境類似性に基づいて検索をフィルタリングし、パターン抽出に最小サンプルサイズを要求
品質ゲート
- 提案と検証が異なるモデル能力を使用している(例:LLMが提案、VLMが検証)
- 高速評価の精度が45%以上、低速評価の精度が75%以上であることを保持テストセットで測定
- ライブラリ登録には独立した検証が必要であり、トレーニングループの成功だけでは不十分
- 複雑タスクの分解により、明確な依存関係順序を持つ3~7個の意味のあるサブタスクが生成される
- RAG検索により、RAGなしのベースラインと比較して制約学習が15%以上改善される
- スキル粒度分析により、パラメトリック列挙ではなく意味的クラスタリングが示される
- システムが循環依存関係の障害モードを検出して回復できる
- 独立した評価によりライブラリ汚染率が25%未満であることが確認される
- トップダウン分解が複雑タスクにおいてボトムアップ連鎖よりも2倍以上優れている
- 環境知識蒸留が成功パターンからの制約学習を示す
適用外境界
このスキルを以下の目的で使用しないでください:
- 成功基準が既知の事前定義タスク → 代わりに手作り報酬を用いた標準RLを使用
- 単一ステップの操作タスク → 代わりにデモデータを用いた教師あり学習を使用
- リアルタイムパフォーマンスが必要なタスク → デュアルプロセス検証は遅すぎる。代わりにキャッシュされたスキルライブラリを使用
- 視覚的フィードバックがないドメイン → VLM検証が利用不可。代わりにドメイン固有の独立バリデーターを設計
- リソース制約のある環境 → System 2検証は高コスト。代わりに低精度を受け入れるか、階層的検証を使用
代わりに以下のスキルに委任してください:
- 標準報酬エンジニアリング → 明確な成功指標を持つタスク向け
- 模倣学習 → 豊富なデモデータを持つタスク向け
- 階層的RL → 既知のスキル分解を持つタスク向け
- メタ学習 → 新しいタスク分布への迅速な適応向け
- 憲法的AI → 価値整合性と安全性制約が必要なタスク向け