Skip to content

Scout / Dispatch

A cheap, fast model (the scout) runs on every cron cycle to scan for signals. When something actionable is found, it dispatches an expensive model (the actor) as a subagent to handle it. The scout exits immediately after dispatch.

When to Use

  • High-frequency monitoring (every 15–60 min) where most runs find nothing
  • Hit rate below ~40% — above that, you're paying for two model calls on most runs
  • The scan logic is simple (check for new items, compare against known state) but the action logic needs judgment

Architecture

┌─────────────┐     signal found      ┌──────────────┐
│  Scout Cron  │ ──────────────────▶  │  Actor Agent  │
│  (sonnet)    │                       │  (opus)       │
│  every 30m   │                       │  subagent     │
└─────────────┘                       └──────────────┘
       │                                      │
       │ no signal                            │ acts, reports
       ▼                                      ▼
    NO_REPLY                            channel message

Key Design Points

  • Scout prompt must have a hard NO_REPLY contract. If no signal found, return NO_REPLY and stop. Never post "nothing found" messages.
  • Scout determines whether to act, not how. Keep scout logic to signal detection. All judgment about what to do belongs in the actor.
  • Dispatch payload is curated context. Don't forward everything the scout saw — extract the signal and why it matters. The actor should receive a focused brief, not raw data.
  • Actor runs as a subagent via sessions_spawn. This gives isolation, separate model selection, and push-based completion notification.

Cost Math

At a 30-minute cadence with 20% hit rate:

  • Monolithic (opus every run): 48 opus calls/day
  • Scout/dispatch: 48 sonnet calls + ~10 opus calls/day
  • Savings scale with how cheap the scout model is relative to the actor

Failure Modes

  • Scout too broad: dispatches on noise, actor wastes tokens on non-signals
  • Scout too narrow: misses real signals, defeats the purpose of monitoring
  • Payload too thin: actor lacks context to act, asks for clarification or makes wrong decisions
  • Hit rate too high: above ~50%, you're paying double on most runs — just use the expensive model directly

Built with OpenClaw 🤖