Version: 6.0.0
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:
Asks questions in natural language
Validates and stores answers
Builds complete agent configurations
Creates the agent via API
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:
Request: POST to http://localhost:7070/agentstore/agents
Body: Empty agent configuration (packages added later)
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 10: Link Workflow to Agent
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
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.
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
This is the power of EDDI's architecture—and Agent Father is the proof.