Skip to main content

ManagerAgent

Trait ManagerAgent 

Source
pub trait ManagerAgent: Send + Sync {
    // Required methods
    fn prepare(&self, context: &TaskContext) -> BatchDecisionRequest;
    fn finalize(
        &self,
        context: &TaskContext,
        responses: Vec<(WorkerId, DecisionResponse)>,
    ) -> ManagementDecision;
    fn id(&self) -> ManagerId;
    fn name(&self) -> &str;
}
Expand description

観察・判断・指示を行う上位Agent(Batch 対応)

§設計

ManagerAgent は TaskContext を受け取り、Request を生成する。 SwarmState からの分析は Analyzer が担当。

┌─────────────────────────────────────────────────────────────┐
│                      Tick N                                  │
│                                                              │
│  SwarmState → [Analyzer] → TaskContext                      │
│                                 ↓                            │
│  Manager[0].prepare(ctx) ─→ N Requests ─┐                   │
│  Manager[1].prepare(ctx) ─→ N Requests ─┼─→ Batch           │
│  ...                                    │                    │
│  Manager[M].prepare(ctx) ─→ N Requests ─┘                   │
│                                                              │
│                    ↓ LLM Batch Call (~1秒)                  │
│                                                              │
│  M×N Responses → 各 Manager.finalize(ctx, responses)        │
│                    ↓                                         │
│  Worker Instructions 配布                                    │
└─────────────────────────────────────────────────────────────┘

Required Methods§

Source

fn prepare(&self, context: &TaskContext) -> BatchDecisionRequest

TaskContext を見て Batch リクエストを生成(軽量、同期)

どの Worker に何を聞くかを決定する。 Orchestrator がこれらを集約して LLM Batch Call を実行する。

Source

fn finalize( &self, context: &TaskContext, responses: Vec<(WorkerId, DecisionResponse)>, ) -> ManagementDecision

Batch 結果受取後: 指示を生成(軽量、同期)

LLM Batch Call の結果を受けて、Worker への具体的な指示を生成する。

Source

fn id(&self) -> ManagerId

Manager ID を取得

Source

fn name(&self) -> &str

名前を取得

Trait Implementations§

Source§

impl ManagerAgent for Box<dyn ManagerAgent>

Blanket implementation for Box

Source§

fn prepare(&self, context: &TaskContext) -> BatchDecisionRequest

TaskContext を見て Batch リクエストを生成(軽量、同期) Read more
Source§

fn finalize( &self, context: &TaskContext, responses: Vec<(WorkerId, DecisionResponse)>, ) -> ManagementDecision

Batch 結果受取後: 指示を生成(軽量、同期) Read more
Source§

fn id(&self) -> ManagerId

Manager ID を取得
Source§

fn name(&self) -> &str

名前を取得

Implementations on Foreign Types§

Source§

impl ManagerAgent for Box<dyn ManagerAgent>

Blanket implementation for Box

Source§

fn prepare(&self, context: &TaskContext) -> BatchDecisionRequest

Source§

fn finalize( &self, context: &TaskContext, responses: Vec<(WorkerId, DecisionResponse)>, ) -> ManagementDecision

Source§

fn id(&self) -> ManagerId

Source§

fn name(&self) -> &str

Implementors§