Interface Doer<I,O>
- Type Parameters:
I- Input type - a POJO for structured inputO- Output type - a POJO for structured output
- All Superinterfaces:
GuardedExecution, Identifiable, Job<O>, Orchestrator<I,O>, ScopeAuthority, Tool<I, O>
- All Known Implementing Classes:
AbstractDoer, Benchmark, CustomerReportDoer, DemoBenchmark, DisputeDoer, EmailShiftDoer, ExtractDirectoryDoer, ExtractPricingDoer, RequestSkillTool, RequestToolsTool, SearchArtifactContentTool
Interface for coded orchestration logic.
Doers are coordinators with coded (non-LLM) logic. They can be invoked by Thinkers just like any other tool, but their execute() contains coded logic that spawns and coordinates other jobs dynamically.
Key characteristics:
- Resource-free - no DB, LLM, or HTTP connections held
- Coded orchestration - logic is in Java, not decided by LLM
- Dynamic workflow - can spawn N jobs based on runtime data
Use cases:
- Fan-out/fan-in: spawn N workers dynamically, wait for all, aggregate
- Conditional workflows: run job A, based on result run B or C
- Retry orchestration: coded retry logic with backoff
- Multi-stage pipelines: each stage determines next stage's parallelism
- Since:
- 0.1 (2025-12-02)
- Author:
- Andrey Santrosyan
- See Also:
-
Field Summary
Fields inherited from interface Job
DEFAULT_UPSTREAM_RETRIESFields inherited from interface Tool
OBS_INPUT, OBS_OUTPUT -
Method Summary
Methods inherited from interface GuardedExecution
declareAdmissionGuardrails, declareAuthGuardrails, declareContentGuardrailsMethods inherited from interface Identifiable
getParentJobId, getUserId, getWorkflowIdMethods inherited from interface Job
getDisplayName, getId, getJobId, getJobType, getName, getPriority, getRequirements, getTimeout, getUpstreamRetries, postExecute, preExecuteMethods inherited from interface ScopeAuthority
getScopeGuard, sealScopeGuard, setScopeGuardMethods inherited from interface Tool
execute, getInput, guardedInputTarget, setInput