Agent Graph Overview
Every Aden agent is represented as a directed graph consisting of:- Nodes - Individual processing units (LLM calls, routers, functions, human intervention)
- Edges - Connections between nodes that define flow (success, failure, conditional)
- Context - Shared state passed between nodes (memory, tools, LLM access)
Node Types
LLM Node
Executes a language model call with a prompt template and context.- Structured output via JSON schema
- Tool/function calling
- Streaming responses
- Automatic retry with backoff
Router Node
Routes execution to different paths based on conditions or LLM decisions.- Conditional - Based on output values
- LLM-decided - Let the model choose the path
- Weighted - Probabilistic routing for A/B testing
Function Node
Executes custom Python code for business logic, API calls, or data transformation.Human-in-the-Loop Node
Pauses execution for human input with configurable timeouts and escalation.Edge Types
Edges connect nodes and define the execution flow:| Edge Type | Description | Example |
|---|---|---|
on_success | Execute when node completes successfully | LLM response received |
on_failure | Execute when node fails | API error, timeout |
conditional | Execute based on output conditions | when: "score > 0.8" |
SDK-Wrapped Nodes
Every node in Aden is wrapped with the SDK, providing:Shared Memory
Access to global and local memory stores
LLM Access
Built-in access to configured LLM providers
Tool Registry
Access to MCP tools and custom functions
Observability
Automatic logging, tracing, and cost tracking
Node Context
Each node receives a context object with:Agent Specification
Agents are defined in a JSON specification (agent.json):
Next Steps
Agent Graph
Dive into graph execution, routing patterns, and shared memory behavior
Worker Agent
Understand sessions, iterations, and headless runtime operations
Build Your First Agent
Create an agent from scratch
Node Reference
Detailed node configuration options