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§
Sourcefn analyze(&self, state: &SwarmState) -> TaskContext
fn analyze(&self, state: &SwarmState) -> TaskContext
SwarmState を分析して TaskContext を生成