Expand description
Exploration System - 探索アルゴリズム (V2)
§設計方針: Tree 探索モデル
ExplorationSpace は Tree 探索モデル を採用している。
§Agent タスクの特性
Agent のタスクは以下の2種類に大別される:
- Look 系: 情報取得(WebSearch, Grep, ReadFile, Fetch…)
- Check 系: 成功/失敗判定(Affection & Check)
Look(A) → Expand → Check(A', B'...)
├─ Success → Done
└─ Fail → Look(C) → Expand → Check(C'...)§なぜ Tree で十分か
- Agent の Tool 呼び出しは 同じ (Action, Target, Args) を繰り返しても結果は変わらない
- Network/Flaky は Tool 内部でリトライ処理
- だから dedup_key による重複排除 が正しく機能する
- 状態 = (Action, Target, Args) で十分(Position 不要)
§迷路問題との違い
迷路のような問題は Tree モデルには向かない:
- 迷路: 同じ位置に「戻る」ことに意味がある(バックトラック)
- Agent: 同じ状態に「戻る」ことに意味がない
迷路を解くには Position を状態に含める必要があるが、 実際の Agent タスク(DeepSearch, Coding, Security Audit 等)では不要。
§モジュール構成
space: 探索空間 V2(統合レイヤー)map: 探索マップの抽象層(ExplorationMaptrait)mutation: MutationInput/MapUpdate(入力→Map操作変換)node_rules: 純粋な遷移制約(ドメイン非依存)types: 共通型定義(ExplorationTarget, NodeId 等)dependency_planner: アクション依存グラフの計画
Re-exports§
pub use dependency_planner::DependencyEdge;pub use dependency_planner::DependencyGraph;pub use dependency_planner::DependencyGraphBuilder;pub use dependency_planner::DependencyGraphError;pub use dependency_planner::DependencyGraphProvider;pub use dependency_planner::DependencyPlanner;pub use dependency_planner::DependencyPromptGenerator;pub use dependency_planner::LearnedDependencyProvider;pub use dependency_planner::LlmDependencyResponse;pub use dependency_planner::LlmEdge;pub use dependency_planner::StaticDependencyPlanner;pub use llm_provider::AdaptiveLlmOperatorProvider;pub use llm_provider::ReviewPolicy;pub use llm_provider::StrategyAdvice;pub use llm_provider::StrategyAdviceError;pub use llm_provider::StrategyAdvisor;pub use llm_provider::StrategyContext;pub use map::AddResult;pub use map::ExplorationMap;pub use map::GraphExplorationMap;pub use map::GraphMap;pub use map::GraphMapUpdate;pub use map::HierarchicalMap;pub use map::MapApplyResult;pub use map::MapEdge;pub use map::MapEdgeId;pub use map::MapError;pub use map::MapNode;pub use map::MapNodeId;pub use map::MapNodeState;pub use map::MapResult;pub use mutation::ActionExtractor;pub use mutation::ActionNodeData;pub use mutation::ExplorationResult;pub use mutation::MapUpdate;pub use mutation::MapUpdateResult;pub use mutation::MutationInput;pub use node_rules::NodeRules;pub use node_rules::Rules;pub use operator::ConfigurableOperator;pub use operator::FifoOperator;pub use operator::MutationLogic;pub use operator::Operator;pub use operator::RulesBasedMutation;pub use operator::Ucb1Operator;pub use provider::AdaptiveOperatorProvider;pub use provider::ConfigBasedOperatorProvider;pub use provider::OperatorConfig;pub use provider::OperatorProvider;pub use provider::ProviderContext;pub use selection::AnySelection;pub use selection::Fifo;pub use selection::FifoSelection;pub use selection::Greedy;pub use selection::GreedySelection;pub use selection::SelectionKind;pub use selection::SelectionLogic;pub use selection::Thompson;pub use selection::ThompsonSelection;pub use selection::Ucb1;pub use selection::Ucb1Selection;pub use space::ConfigurableSpace;pub use space::ExplorationSpaceV2;pub use types::EdgeId;pub use types::ExplorationTarget;pub use types::NodeId;pub use types::TrialPolicy;
Modules§
- dependency_
planner - Action Dependency Planner - アクション依存グラフの動的構築
- llm_
provider - LLM-based OperatorProvider - LLM による探索戦略の動的決定
- map
- Exploration Map - 探索マップの抽象層
- mutation
- Mutation - 入力を Map 操作に変換するための型定義
- node_
rules - Node Rules - Exploration 内の純粋な遷移制約
- operator
- Exploration Operator - Mutation と Selection のペア
- provider
- OperatorProvider - Operator を提供する戦略
- selection
- Selection - ノード選択アルゴリズム
- space
- Exploration Space V2 - 探索空間の統合レイヤー
- types
- Exploration Types - V2 探索システムで使用する共通型