Agent Father: A Deep Dive

Version: 6.0.0

Overview

The Agent Father is EDDI's meta-agent—an agent that creates other agents. It's the perfect example of EDDI's architecture in action, demonstrating how conversation flow, behavior rules, property extraction, and HTTP calls work together to build sophisticated workflows.

More importantly, it shows EDDI's unique capability: the same architecture that powers simple agents can orchestrate complex, multi-step processes, even self-modifying the system itself.

What Makes Agent Father Special?

It's Not Special Code

Agent Father is not a special feature or custom module. It's a regular EDDI agent built using the standard components:

  • Behavior Rules (to control conversation flow)

  • Property Extraction (to gather user input)

  • HTTP Calls (to invoke EDDI's own API)

  • Output Templates (to guide users)

It Demonstrates Self-Modification

Agent Father uses EDDI's REST API to create new agents, packages, dictionaries, and configurations. This is possible because EDDI's API is designed to be programmable—you can automate agent creation just like any other API integration.

It's a Conversational Wizard

Instead of requiring users to understand JSON configurations or API calls, Agent Father provides a conversational interface that:

  1. Asks questions in natural language

  2. Validates and stores answers

  3. Builds complete agent configurations

  4. Creates the agent via API

  5. Returns the agent ID for deployment

Architecture of Agent Father

Agent Composition

Agent Father is composed of multiple packages:

Step-by-Step Flow

Let's walk through how Agent Father creates a new agent:

Step 1: Conversation Start

User: Starts conversation with Agent Father

Agent Father: (via Output Template)

Behavior Rule:

(Triggers only on first step)

Step 2: Capture Agent Name

User: "My Weather Agent"

Property Setter: (from property extension)

Result: Stores "My Weather Agent" in conversation memory:

Agent Father: "Great! What should your agent do? Describe its purpose."

Step 3: Capture Agent Description

User: "It should tell users the current weather"

Property Setter:

Agent Father: "Which AI provider would you like to use? (OpenAI, Claude, Gemini, or None)"

Step 4: Capture LLM Choice

User: "OpenAI"

Property Setter:

Agent Father: "Please provide your OpenAI API key."

Step 5: Capture API Key

User: "sk-..."

Property Setter:

Step 6: Trigger Agent Creation

Now all required data is collected. A Behavior Rule monitors the memory:

Explanation:

  • This rule checks if all required data exists in memory

  • When all conditions are met, it triggers the httpcall(create-agent) action

  • This demonstrates conditional API execution based on conversation state

Step 7: Execute HTTP Call to Create Agent

The create-agent HTTP call is defined in an HTTP Calls extension:

What Happens:

  1. Request: POST to http://localhost:7070/agentstore/agents

  2. Body: Empty agent configuration (packages added later)

  3. Response:

  4. Property Extraction: Saves agent ID to context.newAgentId

Step 8: Create Workflow with LangChain Configuration

Another HTTP call creates a package:

Step 9: Create LangChain Configuration

Note: The body uses Qute templating to inject conversation memory values:

  • ${context.llmProvider} → "openai"

  • ${context.apiKey} → "sk-..."

  • ${context.agentDescription} → "It should tell users the current weather"

Step 11: Deploy Agent

Step 12: Confirmation

Agent Father: (via Output Template)

Key Architectural Insights

1. Conversation-Driven Workflows

Agent Father demonstrates that EDDI can orchestrate any multi-step process, not just conversations:

  • Data collection (via conversation)

  • Validation (via behavior rules)

  • API orchestration (via HTTP calls)

  • Response formatting (via output templates)

2. Conditional Execution

The behavior rule that triggers agent creation shows conditional API execution:

This is more sophisticated than simple API proxies—it's business logic orchestration.

3. Memory as State Machine

Conversation memory acts as a state machine:

  • Initial state: No data collected

  • Transition: User provides information → Property setters update state

  • Trigger: All data present → Behavior rule fires

  • Action: HTTP call executes

4. Template-Based Configuration

HTTP call bodies use Qute templates, allowing dynamic configuration:

This means the same HTTP call definition can create different configurations based on conversation data.

5. Self-Modification

Agent Father calls EDDI's own API, demonstrating:

  • Programmable infrastructure: Agents can modify the system

  • API-first design: Everything is accessible via REST

  • Composability: Agents are data, not code—they can be created programmatically

Real-World Applications

The Agent Father pattern can be applied to many scenarios:

1. Customer Onboarding Wizard

2. Order Processing System

3. Support Ticket Creation

4. Dynamic Agent Configuration

Code Deep Dive

Let's look at the actual Java components that make Agent Father work:

Behavior Rules Task (executes rules)

HTTP Calls Task (executes API calls)

Property Extraction Task

Configuration Files

Agent Father Agent Configuration

File: agentfather.agent.json

Workflow Configuration Example

File: package-conversation-flow.package.json

Behavior Rules Example

File: behavior-agent-creation.behavior.json

Testing Agent Father

Using the REST API

Lessons from Agent Father

1. Configuration Over Code

Agent Father proves that complex workflows can be configured, not coded. No Java needed—just JSON.

2. Composability is Powerful

By combining simple components (rules, HTTP calls, templates), you can build sophisticated systems.

3. Conversations Are Workflows

Any multi-step process can be modeled as a conversation, making it user-friendly and intuitive.

4. EDDI is Infrastructure

EDDI isn't just for agents—it's infrastructure for orchestrating any API-driven workflow with conversational interfaces.

5. Self-Modification is Safe

Because agents are data (JSON), creating/modifying them via API is safe and version-controlled.

Summary

The Agent Father demonstrates EDDI's core philosophy:

Sophisticated AI orchestration should be configuration, not code.

By combining:

  • Behavior Rules (decision logic)

  • Property Extraction (state management)

  • HTTP Calls (API orchestration)

  • Output Templates (user interaction)

You can build systems that:

  • Guide users through complex processes

  • Collect and validate data conversationally

  • Orchestrate multiple API calls conditionally

  • Generate dynamic configurations

  • Self-modify and adapt

This is the power of EDDI's architecture—and Agent Father is the proof.

Last updated

Was this helpful?