Skip to main content

Analyzer

Trait Analyzer 

Source
pub trait Analyzer: Send + Sync {
    // Required method
    fn analyze(&self, state: &SwarmState) -> TaskContext;

    // Provided method
    fn name(&self) -> &str { ... }
}
Expand description

状況分析器: SwarmState → TaskContext

§責務

  • SwarmState から Worker の状態を抽出
  • 成功率・進捗を計算
  • Escalation を収集
  • 利用可能なアクションを取得
  • オプションで軽量LLMを使った追加分析

§実装例

struct MyAnalyzer;

impl Analyzer for MyAnalyzer {
    fn analyze(&self, state: &SwarmState) -> TaskContext {
        let mut ctx = DefaultAnalyzer::new().analyze(state);

        // 軽量LLMで追加分析
        let summary = call_lightweight_llm(&ctx);
        ctx.set("llm_summary", summary);

        ctx
    }
}

Required Methods§

Source

fn analyze(&self, state: &SwarmState) -> TaskContext

SwarmState を分析して TaskContext を生成

Provided Methods§

Source

fn name(&self) -> &str

名前(デバッグ/ログ用)

Trait Implementations§

Source§

impl Analyzer for Box<dyn Analyzer>

Source§

fn analyze(&self, state: &SwarmState) -> TaskContext

SwarmState を分析して TaskContext を生成
Source§

fn name(&self) -> &str

名前(デバッグ/ログ用)

Implementations on Foreign Types§

Source§

impl Analyzer for Box<dyn Analyzer>

Source§

fn analyze(&self, state: &SwarmState) -> TaskContext

Source§

fn name(&self) -> &str

Implementors§