Skip to main content

WorkerAgent

Trait WorkerAgent 

Source
pub trait WorkerAgent: Send + Sync {
    // Required methods
    fn think_and_act(
        &self,
        state: &SwarmState,
        guidance: Option<&Guidance>,
    ) -> WorkResult;
    fn id(&self) -> WorkerId;
    fn name(&self) -> &str;
}
Expand description

毎 Tick 実行する Agent

RuleBased・LLMBased 両方のパターンを想定した汎用的な Worker trait です。 SwarmApp は登録された全 WorkerAgent を毎 Tick 並列実行します。

§設計方針

この trait は LLMRouter 等の使用を強制しません。 システムの要件に応じて、以下のいずれかのパターンで実装できます:

  • RuleBased: 固定ロジックで高速実行(< 1ms)
  • LLMBased: ActionRouter/LLM を内部で使用し自律判断

§ライフサイクル

SwarmApp.run()
    └─ loop {
           for worker in workers {
               worker.think_and_act(state, guidance)  // ← 毎 Tick 呼ばれる
           }
       }

Required Methods§

Source

fn think_and_act( &self, state: &SwarmState, guidance: Option<&Guidance>, ) -> WorkResult

自律的に判断して行動(毎 Tick 呼ばれる)

§並列実行のための設計

&self で実行し、状態変更は WorkResult で返す。 これにより par_iter() での並列実行が可能。

§Arguments
  • state - 現在の Swarm 状態(ReadOnly)
  • guidance - Manager からの方針・ヒント(オプション)
§Returns
Source

fn id(&self) -> WorkerId

Worker ID を取得

Source

fn name(&self) -> &str

名前を取得

Implementors§