← Back to Agentish Framework Guide

Chapter 5 The Worker Node

Subtask delegation and specialized tool execution

A Worker Node is a subtask agent. Unlike LLM Nodes which participate in the main execution flow, Workers are called by an LLM Node as a tool. The LLM decides when to invoke the Worker, the Worker does its job, and returns the result back to the calling LLM.

How Workers Differ from LLM Nodes

AspectLLM NodeWorker Node
Flow participation Part of the main execution graph. Has flow edges (in and out). Not part of flow. Connected to an LLM Node as a tool binding.
Invocation Runs when execution reaches it via an edge. Runs when the parent LLM decides to call it (like a tool).
Output Writes to state variables via structured output. Returns a fixed format: {result: str, success: bool}.
State access Reads via input_state_keys, writes via output_state_keys. Has its own system prompt and tools but returns only result + success.

When to Use Workers

Inspector Fields

FieldPurpose
Node title Display name. Must be unique. This becomes the tool name the parent LLM sees.
Description Brief description of what the Worker does. Shown to the parent LLM as the tool description.
System prompt Instructions for the Worker’s reasoning.
Selected tools Tools the Worker can use to complete its subtask.
Max tool iterations Safety limit on the Worker’s tool loop.
Iteration warning message Warning when approaching the tool limit.

Connecting Workers

To connect a Worker to an LLM Node, draw an edge from the LLM Node’s output to the Worker’s input. This does not create a flow edge — it creates a tool binding. The Worker appears as an available tool in the parent LLM’s tool list.

Rule: Every Worker must be connected to at least one LLM Node. An unconnected Worker will never be called. The topology validator will produce:
"Worker node 'Recon Agent' (id=5) is not connected to any LLM node and will never be called."

ASL Representation

ASL — Worker Node
{ "id": "5", "type": "WorkerNode", "label": "Recon Agent", "config": { "title": "Recon Agent", "description": "Performs reconnaissance on the target binary.", "system_prompt": "You are a reconnaissance agent. Use the available tools to enumerate functions, strings, and imports in the binary. Return a summary of your findings.", "selected_tools": ["list_functions", "check_strings"], "max_tool_iterations": 10, "iteration_warning_message": "Wrap up reconnaissance." } }

Chapter Summary

Key Takeaways:
← Chapter 4: The Router Node Chapter 6: Connecting Nodes →