Agent Taxonomy
Every agent in YAAAF is classified according to its role in the artifact flow. This classification helps the planner build valid workflows and helps you understand what each agent does.
The Four Roles
Agents are classified into four primary roles based on how they handle artifacts:
EXTRACTOR
Purpose: Pull data from external sources into the system.
Extractors are the starting points of workflows. They reach outside YAAAF to retrieve data from databases, APIs, documents, or users. They produce artifacts but do not consume them.
Characteristics:
No artifact inputs (they are sources)
Produce artifacts from external data
Examples: SqlAgent, DocumentRetrieverAgent, BraveSearchAgent
[External Source] ──── EXTRACTOR ────► [Artifact]
TRANSFORMER
Purpose: Convert artifacts from one form to another.
Transformers take artifacts as input and produce new artifacts as output. They change the shape, format, or content of data without creating final outputs.
Characteristics:
Accept one or more artifacts as input
Produce one artifact as output
Do not interact with external systems (except tools)
Examples: MleAgent, ReviewerAgent, ToolAgent
[Artifact A] ──── TRANSFORMER ────► [Artifact B]
SYNTHESIZER
Purpose: Combine multiple artifacts into unified outputs.
Synthesizers merge information from multiple sources into coherent wholes. They are used when a query requires information from different agents to be brought together.
Characteristics:
Accept multiple artifacts as input
Produce a single unified artifact
Often used near the end of complex workflows
Examples: AnswererAgent, UrlReviewerAgent, PlannerAgent
[Artifact A] ───┐
├──── SYNTHESIZER ────► [Combined Artifact]
[Artifact B] ───┘
GENERATOR
Purpose: Create final outputs or side effects.
Generators produce artifacts that are typically the end goal of a workflow - visualizations, files, or system effects. They represent the “sinks” in the data flow.
Characteristics:
Accept artifacts as input
Produce final output artifacts
May have side effects (file creation, system changes)
Examples: VisualizationAgent, BashAgent
[Artifact] ──── GENERATOR ────► [Final Output]
Additional Classifications
Beyond the primary data flow role, agents have two additional classifications:
Interaction Mode
How the agent interacts during execution:
Mode |
Description |
|---|---|
AUTONOMOUS |
Executes without human intervention |
INTERACTIVE |
May pause to request user input |
COLLABORATIVE |
Coordinates with other agents |
Output Permanence
What happens to the agent’s output:
Permanence |
Description |
|---|---|
EPHEMERAL |
Output exists only for the current workflow |
PERSISTENT |
Output is saved (files, trained models) |
STATEFUL |
Maintains state across interactions |
Complete Agent Classification
Here is every agent with its full classification:
Agent |
Data Flow |
Interaction |
Permanence |
|---|---|---|---|
SqlAgent |
EXTRACTOR |
AUTONOMOUS |
EPHEMERAL |
DocumentRetrieverAgent |
EXTRACTOR |
AUTONOMOUS |
EPHEMERAL |
BraveSearchAgent |
EXTRACTOR |
AUTONOMOUS |
EPHEMERAL |
DuckDuckGoSearchAgent |
EXTRACTOR |
AUTONOMOUS |
EPHEMERAL |
UrlAgent |
EXTRACTOR |
AUTONOMOUS |
EPHEMERAL |
UserInputAgent |
EXTRACTOR |
INTERACTIVE |
EPHEMERAL |
MleAgent |
TRANSFORMER |
AUTONOMOUS |
PERSISTENT |
ReviewerAgent |
TRANSFORMER |
AUTONOMOUS |
EPHEMERAL |
ToolAgent |
TRANSFORMER |
AUTONOMOUS |
EPHEMERAL |
NumericalSequencesAgent |
TRANSFORMER |
AUTONOMOUS |
EPHEMERAL |
AnswererAgent |
SYNTHESIZER |
AUTONOMOUS |
EPHEMERAL |
UrlReviewerAgent |
SYNTHESIZER |
AUTONOMOUS |
EPHEMERAL |
PlannerAgent |
SYNTHESIZER |
AUTONOMOUS |
EPHEMERAL |
VisualizationAgent |
GENERATOR |
AUTONOMOUS |
PERSISTENT |
BashAgent |
GENERATOR |
INTERACTIVE |
PERSISTENT |
How the Planner Uses Taxonomy
The planner uses taxonomy information to build valid workflows:
Source identification: Only EXTRACTORS can start a workflow (they have no inputs)
Type matching: The planner ensures artifact types flow correctly between agents
Goal mapping: The planner identifies which GENERATOR or SYNTHESIZER can produce the desired output type
Path finding: The planner works backwards from the goal to find valid paths through TRANSFORMERS to EXTRACTORS
For example, if the goal is an image:
Planner identifies VisualizationAgent (GENERATOR) produces images
VisualizationAgent accepts tables
SqlAgent (EXTRACTOR) produces tables
Valid workflow: SqlAgent -> VisualizationAgent
Next Steps
Agents Reference - Detailed reference for each agent
Planning System - How workflows are generated
Core Concepts - Understanding artifact flow