Skip to main content

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.
Capabilities:
  • 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.
Routing Strategies:
  • 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.
See Human-in-the-Loop for details.

Edge Types

Edges connect nodes and define the execution flow:

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