Skip to main content

EpisodeTrait

Trait EpisodeTrait 

Source
pub trait EpisodeTrait: Send + Sync {
    // Required methods
    fn id(&self) -> &EpisodeId;
    fn learn_model_name(&self) -> &str;
    fn task_id(&self) -> Option<TaskId>;
    fn group_id(&self) -> Option<GroupId>;
    fn outcome(&self) -> &Outcome;
    fn scenario_name(&self) -> Option<&str>;

    // Provided method
    fn is_success(&self) -> bool { ... }
}
Expand description

Episode trait - 学習の基本単位を表すインターフェース

各 LearnModel に対応する具体的な Episode 型はこの trait を実装する。 これにより、学習対象ごとに最適化された構造を持ちながら、 共通のインターフェースで扱うことができる。

§実装例

// WorkerTask 学習用の Episode
pub struct WorkerTaskEpisode {
    id: EpisodeId,
    task_id: TaskId,
    actions: Vec<ActionRecord>,
    outcome: Outcome,
}

impl EpisodeTrait for WorkerTaskEpisode {
    fn id(&self) -> &EpisodeId { &self.id }
    fn task_id(&self) -> TaskId { self.task_id }
    // ...
}

Required Methods§

Source

fn id(&self) -> &EpisodeId

Episode ID

Source

fn learn_model_name(&self) -> &str

対応する LearnModel 名

Source

fn task_id(&self) -> Option<TaskId>

Task ID(どのタスクの Episode か)

Source

fn group_id(&self) -> Option<GroupId>

Group ID(DPO 学習での比較グループ)

Source

fn outcome(&self) -> &Outcome

結果(成功/失敗/タイムアウト等)

Source

fn scenario_name(&self) -> Option<&str>

シナリオ名(あれば)

Provided Methods§

Source

fn is_success(&self) -> bool

成功したかどうか

Implementors§