Expand description
LearnedComponent - 学習結果の型安全な抽象化
§設計思想
ComponentLearner(学習プロセス)と LearnedComponent(学習結果)をペアで定義。 各学習対象ごとに専用の型を持ち、Map/Any を使わず型安全性を確保する。
§背景
- 従来の ML: 口調、好み程度 → Map でも許容
- Swarm Learning: Control の知識そのものが Domain → Typed 必須
§使用例
ⓘ
// ComponentLearner と LearnedComponent はペアで定義
struct DepGraphLearner;
impl ComponentLearner for DepGraphLearner {
type Output = LearnedDepGraph;
fn learn(&self, episodes: &[Episode]) -> Result<Self::Output, LearnError> {
// Episodes から LearnedDepGraph を生成
}
}
impl LearnedComponent for LearnedDepGraph {
fn component_id() -> &'static str { "dep_graph" }
// ...
}§LearnModel vs ComponentLearner
LearnModel: Episode → TrainingData (LoRA fine-tuning 用)ComponentLearner: Episodes → LearnedComponent (ScenarioProfile 用)
Re-exports§
pub use super::offline::RecommendedPath;
Structs§
- Learned
DepGraph - 学習済み依存グラフ
- Learned
Exploration - 学習済み探索パラメータ
- Learned
Strategy - 学習済み戦略設定
Traits§
- Component
Learner - ScenarioProfile コンポーネントの学習プロセス
- Learned
Component - 学習結果コンポーネントの共通 trait