Expand description
Learn Module - 学習系 Domain の分離
§設計思想
Engine (Core) と Learn の責務を明確に分離する。
- Core (Engine): ActionEvent を発行、基本統計を管理
- Learn: ActionEvent を受け取り、学習パターンを分析
§Model Layer
Model (base)
├── Scorable → 行動選択に使用(UCB1, Thompson, Greedy)
└── Parametric → 戦略設定に使用(Orchestrator初期化)§モデル種類
| モデル | 責務 | 生存期間 |
|---|---|---|
| LearnedModel | 行動選択スコア(遷移、N-gram等) | 1セッション |
| OptimalParamsModel | パラメータ最適化(ucb1_c等) | 複数セッション |
§LoRA
LoRA学習・適用は lora モジュールで管理。
LoraTrainer: LoRA学習の実行TrainedModel: 学習済みLoRAアダプタModelApplicator: llama-server への適用
Re-exports§
pub use stats_model::param_keys;pub use stats_model::Model;pub use stats_model::ModelMetadata;pub use stats_model::ModelType;pub use stats_model::ModelVersion;pub use stats_model::OptimalParamsModel;pub use stats_model::ParamValue;pub use stats_model::Parametric;pub use stats_model::Scorable;pub use stats_model::ScoreContext;pub use stats_model::ScoreModel;pub use stats_model::ScoreQuery;pub use stats_model::StatsModelId;pub use snapshot::merge_snapshots;pub use snapshot::FileSystemStorage;pub use snapshot::LearningSnapshot;pub use snapshot::LearningStore;pub use snapshot::MergeStrategy;pub use snapshot::SessionId;pub use snapshot::SnapshotKey;pub use snapshot::SnapshotMetadata;pub use snapshot::SnapshotStorage;pub use snapshot::TimeSeriesQuery;pub use snapshot::Timestamp;pub use snapshot::SNAPSHOT_VERSION;pub use offline::ActionOrderSource;pub use offline::LearnedActionOrder;pub use offline::OfflineAnalyzer;pub use offline::OfflineModel;pub use offline::OptimalParameters;pub use offline::RecommendedPath;pub use offline::StrategyConfig;pub use record::ActionRecord;pub use record::DependencyGraphRecord;pub use record::FromRecord;pub use record::LearnStatsRecord;pub use record::LlmCallRecord;pub use record::Record;pub use record::RecordStream;pub use record::StrategyAdviceRecord;pub use episode::Episode;pub use episode::EpisodeBuilder;pub use episode::EpisodeContext;pub use episode::EpisodeId;pub use episode::EpisodeMetadata;pub use episode::EpisodeTrait;pub use episode::Outcome;pub use training::ConversationData;pub use training::ConversationRole;pub use training::ConversationTurn;pub use training::TrainingData;pub use training::TrainingFormat;pub use training::TrainingMetadata;pub use store::DefaultEpisodeRepository;pub use store::EpisodeDto;pub use store::EpisodeFilter;pub use store::EpisodeMeta;pub use store::EpisodeRepository;pub use store::EpisodeStore;pub use store::FileEpisodeStore;pub use store::FileLoraStore;pub use store::FileRecordStore;pub use store::InMemoryEpisodeStore;pub use store::InMemoryLoraStore;pub use store::InMemoryRecordStore;pub use store::LoraModelStore;pub use store::ModelFilter;pub use store::ModelMeta;pub use store::OutcomeFilter;pub use store::RecordFilter;pub use store::RecordId;pub use store::RecordMeta;pub use store::RecordStore;pub use store::RecordStoreError;pub use store::StoreError;pub use store::TrainedModelDto;pub use store::TrainingMetricsDto;pub use learn_model::DependencyGraphLearnModel;pub use learn_model::DpoConfig;pub use learn_model::DpoLearnModel;pub use learn_model::DpoPair;pub use learn_model::LearnError;pub use learn_model::LearnModel;pub use learn_model::WorkerDecisionSequenceLearn;pub use learn_model::WorkerTaskLearn;pub use trigger::AlwaysTrigger;pub use trigger::AndTrigger;pub use trigger::CountTrigger;pub use trigger::ManualTrigger;pub use trigger::NeverTrigger;pub use trigger::OrTrigger;pub use trigger::QualityTrigger;pub use trigger::TimeTrigger;pub use trigger::TrainTrigger;pub use trigger::TriggerBuilder;pub use trigger::TriggerContext;pub use trigger::TriggerError;pub use trigger::TriggerMetrics;pub use lora::ApplicatorError;pub use lora::LlamaServerApplicator;pub use lora::LlamaServerConfig;pub use lora::LoraModelId;pub use lora::LoraTrainer;pub use lora::LoraTrainerConfig;pub use lora::LoraTrainerError;pub use lora::ModelApplicator;pub use lora::NoOpApplicator;pub use lora::TrainedModel;pub use lora::TrainingMetrics;pub use daemon::ActionEventSubscriber;pub use daemon::Applier;pub use daemon::ApplierConfig;pub use daemon::ApplierError;pub use daemon::ApplyMode;pub use daemon::ApplyResult;pub use daemon::DaemonBuilder;pub use daemon::DaemonConfig;pub use daemon::DaemonError;pub use daemon::DaemonStats;pub use daemon::DataSink;pub use daemon::DataSinkError;pub use daemon::DataSinkStats;pub use daemon::EventSubscriberConfig;pub use daemon::LearningDaemon;pub use daemon::LearningEventSubscriber;pub use daemon::ProcessResult;pub use daemon::Processor;pub use daemon::ProcessorConfig;pub use daemon::ProcessorError;pub use daemon::ProcessorMode;pub use facade::LearnableSwarm;pub use facade::LearnableSwarmBuilder;pub use facade::LearnableSwarmConfig;pub use session_group::LearningPhase;pub use session_group::SessionGroup;pub use session_group::SessionGroupId;pub use session_group::SessionGroupMetadata;pub use learned_component::ComponentLearner;pub use learned_component::LearnedComponent;pub use learned_component::LearnedDepGraph;pub use learned_component::LearnedExploration;pub use learned_component::LearnedStrategy;pub use component_learners::DepGraphLearner;pub use component_learners::ExplorationLearner;pub use component_learners::StrategyLearner;pub use scenario_profile::BootstrapData;pub use scenario_profile::ProfileState;pub use scenario_profile::ProfileStats;pub use scenario_profile::ScenarioProfile;pub use scenario_profile::ScenarioProfileId;pub use scenario_profile::ScenarioSource;pub use profile_store::ProfileStore;pub use profile_store::ProfileStoreError;pub use scenario_registry::RegistryError;pub use scenario_registry::ScenarioRegistry;pub use scenario_registry::TaskMatcher;pub use profile_adapter::migrate_offline_model_to_profile;pub use profile_adapter::offline_model_to_components;pub use profile_adapter::profile_to_offline_model;pub use profile_adapter::ProfileToOfflineModel;
Modules§
- component_
learners - ComponentLearner 具体実装
- daemon
- Learning Daemon - 継続的学習プロセス
- episode
- Episode - 学習の基本単位
- facade
- Learnable Swarm Facade - 学習機能付き Swarm の統合ファサード
- learn_
model - LearnModel - 学習の統合モデル
- learned_
component - LearnedComponent - 学習結果の型安全な抽象化
- lora
- LoRA Module - LoRA学習・適用
- offline
- Offline Learning - セッション間学習の分析・最適化
- profile_
adapter - ProfileAdapter - ScenarioProfile と OfflineModel の統合
- profile_
store - ProfileStore - ScenarioProfile の永続化
- record
- Record - 生イベントの抽象化
- scenario_
profile - ScenarioProfile - 永続的に改善されるシナリオの実体
- scenario_
registry - ScenarioRegistry - マルチシナリオ管理
- session_
group - Session Group - 複数セッションをまとめる単位
- snapshot
- Learning Snapshot - 学習データの永続化システム
- stats_
model - Stats Model Layer - 行動選択用統計モデル
- store
- Store Module - 永続化レイヤーの Clean Architecture 実装
- training
- TrainingData - LoRA 学習用データ形式
- trigger
- TrainTrigger - 学習開始条件の判定
Structs§
- Confidence
MapProvider - HashMap<String, f64> ベースの静的 Provider
- Contextual
Action Stats - コンテキスト条件付きアクション統計
- Episode
Transitions - エピソード遷移統計
- Learn
Stats - 学習用統計の集約
- Learn
Stats Provider - LearnStats と ScoreModel を一体管理する Provider
- Ngram
Stats - N-gram 統計(3-gram, 4-gram パターン学習)
- Null
Provider - ボーナスを返さない Null Provider
- Score
Model Provider - ScoreModel を使った Provider 実装
- Selection
Performance - Selection 戦略効果測定(Meta-learning)
- Strategy
Stats - 戦略ごとの統計
- Strategy
Switch Event - 戦略切り替えイベント
Enums§
- Learning
Query - 学習データへのクエリ
- Learning
Result - クエリ結果
Traits§
- Learned
Provider - 学習済みデータへのアクセス Provider
Type Aliases§
- Shared
Learned Provider - Provider の共有参照型