Skip to content
On this page

Core Concepts

AgenTree enables building AI agents that solve complex problems by dividing them into subtasks, with each agent focused on a specific goal. Here are the key concepts with detailed explanatory diagrams.

1. Hierarchy: Agents as a Tree Structure

Principle

The system starts with a root agent (Agent 0) that receives the main task. Each agent can create child agents for subtasks, forming a tree structure that enables clear delegation and specialization. Once a child is finished, it can return results to its parent.

Diagram: Hierarchical Structure

                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚    USER     β”‚
                        β”‚             β”‚
                        β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
                               β”‚ task
                               β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚      Agent 0        β”‚
                    β”‚   "Analyze tech     β”‚
                    β”‚      market"        β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚              β”‚              β”‚
                β–Ό              β–Ό              β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚      Agent 1      β”‚ β”‚   Agent 2   β”‚ β”‚     Agent 3      β”‚
    β”‚     "Research     β”‚ β”‚ "Analyze    β”‚ β”‚   "Synthesize    β”‚
    β”‚      trends"      β”‚ β”‚ competition"β”‚ β”‚    results"      β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
              β”‚                  β”‚                 β”‚
        β”Œβ”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”            β”‚           β”Œβ”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”
        β–Ό           β–Ό            β–Ό           β–Ό           β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚Agent 1.1β”‚ β”‚Agent 1.2β”‚ β”‚Agent 2.1β”‚ β”‚Agent 3.1β”‚ β”‚Agent 3.2β”‚
    β”‚"Gen AI" β”‚ β”‚"Crypto" β”‚ β”‚"Startupsβ”‚ β”‚"Charts" β”‚ β”‚"Report" β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Tree structure properties:

  • Each agent knows only its own task and children
  • Sibling agents can work in parallel (not implemented yet)

2. Task Decomposition: Divide and Conquer

Principle

AgenTree agents recursively break down complex tasks into smaller, manageable subtasks. Each subtask is assigned to a new agent, which can itself decompose further if needed.

Diagram: Decomposition Process

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                              MAIN TASK                              β”‚
β”‚                     "Build e-commerce application"                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
               β”‚               β”‚               β”‚
               β–Ό               β–Ό               β–Ό
       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚   SUBTASK 1   β”‚ β”‚ SUBTASK 2  β”‚ β”‚  SUBTASK 3      β”‚
       β”‚ "Backend API" β”‚ β”‚ "Frontend" β”‚ β”‚ "Deployment"    β”‚
       β””β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”˜
          β”‚                     β”‚                       β”‚
     β”Œβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”          β”Œβ”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”           β”Œβ”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”
     β–Ό           β–Ό          β–Ό           β–Ό           β–Ό            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚Auth API β”‚ β”‚Shop API β”‚ β”‚React UI β”‚ β”‚Cart UI  β”‚ β”‚Docker   β”‚ β”‚AWS Configβ”‚
β”‚(Agent A)β”‚ β”‚(Agent B)β”‚ β”‚(Agent C)β”‚ β”‚(Agent D)β”‚ β”‚(Agent E)β”‚ β”‚(Agent F) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Decomposition flow:

1. Agent receives task β†’ Analyzes complexity
                          ↓
2. If complex β†’ Decomposes into subtasks
                          ↓
3. Creates child agents β†’ Assigns subtasks
                          ↓
4. Each child β†’ Repeats process if necessary

3. Tools: Capabilities Controlled by Parents

Principle

Each agent can only use the tools (functions, MCPs, etc.) that its parent assigns. This ensures controlled access and appropriate specialization.

Diagram: Tool Assignment

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    PARENT AGENT                    β”‚
β”‚                  "Data analyzer"                   β”‚
β”‚                                                    β”‚
β”‚  Available tools:                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ readFile    β”‚ β”‚ writeFile   β”‚ β”‚ sqlQuery    β”‚   β”‚
β”‚  β”‚ httpRequest β”‚ β”‚ bashCommand β”‚ β”‚ pythonCode  β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β”‚ SELECTIVELY DELEGATES
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚               β”‚               β”‚
        β–Ό               β–Ό               β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   CHILD AGENT   β”‚ β”‚ CHILD AGENT β”‚ β”‚  CHILD AGENT    β”‚
β”‚  "Read data"    β”‚ β”‚"Process SQL"β”‚ β”‚"Generate report"β”‚
β”‚                 β”‚ β”‚             β”‚ β”‚                 β”‚
β”‚ Assigned tools: β”‚ β”‚ Assigned:   β”‚ β”‚ Assigned tools: β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ readFile    β”‚ β”‚ β”‚β”‚sqlQuery  β”‚ β”‚ β”‚ β”‚ writeFile   β”‚ β”‚
β”‚ β”‚ httpRequest β”‚ β”‚ β”‚β”‚pythonCodeβ”‚ β”‚ β”‚ β”‚ pythonCode  β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Tool Control Matrix:

Tool           β”‚ Parent  β”‚ Child 1  β”‚ Child 2  β”‚ Child 3
─────────────────────────────────────────────────────────
readFile       β”‚   βœ…   β”‚    βœ…    β”‚    ❌    β”‚    ❌
writeFile      β”‚   βœ…   β”‚    ❌    β”‚    ❌    β”‚    βœ…
sqlQuery       β”‚   βœ…   β”‚    ❌    β”‚    βœ…    β”‚    ❌
httpRequest    β”‚   βœ…   β”‚    βœ…    β”‚    ❌    β”‚    ❌
pythonCode     β”‚   βœ…   β”‚    ❌    β”‚    βœ…    β”‚    βœ…
bashCommand    β”‚   βœ…   β”‚    ❌    β”‚    ❌    β”‚    ❌

4. System Prompt & Instructions: Context from Parents

Principle

Each agent receives a system prompt and instructions from its parent, defining its role and approach. This mechanism ensures specialization and alignment with the overall strategy.

Diagram: Context Transmission

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    PARENT AGENT                            β”‚
β”‚              "AI Project Manager"                          β”‚
β”‚                                                            β”‚
β”‚ Global configuration:                                      β”‚
β”‚ β€’ Objective: Develop chatbot                               β”‚
β”‚ β€’ Budget: $50k                                             β”‚
β”‚ β€’ Timeline: 3 months                                       β”‚
β”‚ β€’ Stack: Python + FastAPI                                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                      β”‚ TRANSMITS SPECIALIZED CONTEXT
      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
      β”‚               β”‚               β”‚
      β–Ό               β–Ό               β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 CHILD AGENT 1                              β”‚
β”‚              "Backend Developer"                           β”‚
β”‚                                                            β”‚
β”‚ Received system prompt:                                    β”‚
β”‚ "You are a backend developer expert in Python.             β”‚
β”‚ Your mission: create REST API for the chatbot.             β”‚
β”‚ Allocated budget: $20k. Timeline: 6 weeks.                 β”‚
β”‚ Use FastAPI, PostgreSQL, and Docker."                      β”‚
β”‚                                                            β”‚
β”‚ Specific instructions:                                     β”‚
β”‚ β€’ Implement JWT authentication                             β”‚
β”‚ β€’ Create message endpoints                                 β”‚
β”‚ β€’ Integrate with AI model                                  β”‚
β”‚ β€’ Document with OpenAPI                                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 CHILD AGENT 2                              β”‚
β”‚              "UX/UI Designer"                              β”‚
β”‚                                                             β”‚
β”‚ Received system prompt:                                     β”‚
β”‚ "You are a UX/UI designer specialized in conversational    β”‚
β”‚ interfaces. Your mission: create the chatbot interface.    β”‚
β”‚ Budget: $15k. Timeline: 4 weeks."                          β”‚
β”‚                                                             β”‚
β”‚ Specific instructions:                                      β”‚
β”‚ β€’ Create wireframes and mockups                            β”‚
β”‚ β€’ Follow WCAG 2.1 accessibility                            β”‚
β”‚ β€’ Responsive design (mobile-first)                         β”‚
β”‚ β€’ Prototype interactions with Figma                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

5. Events & Monitoring: Transparent Execution

Events & Monitoring: Transparent Execution

Principle

Events are emitted step by step as agents and their children work. This enables real-time monitoring and debugging capabilities.

Main Agent (0)
    β”‚
    β”œβ”€ agentCreated
    β”œβ”€ taskStarted
    β”‚
    β”œβ”€ childCreated β†’ Agent 1
    β”‚                    β”‚
    β”‚                    β”œβ”€ agentCreated
    β”‚                    β”œβ”€ toolCallStarted (searchAPI)
    β”‚                    β”œβ”€ toolCallCompleted (200 results)
    β”‚                    └─ agentCompleted βœ…
    β”‚
    β”œβ”€ childCreated β†’ Agent 2
    β”‚                    β”‚
    β”‚                    β”œβ”€ agentCreated  
    β”‚                    β”œβ”€ toolCallStarted (webScraping)
    β”‚                    β”œβ”€ toolCallError (403 Forbidden) ❌
    β”‚                    β”œβ”€ toolCallStarted (retry with headers)
    β”‚                    β”œβ”€ toolCallCompleted (data retrieved) βœ…
    β”‚                    └─ agentCompleted βœ…
    β”‚
    └─ agentCompleted βœ… (full success)

Timeline View

Time    Agent 0         Agent 1         Agent 2
----    -------         -------         -------
T0      agentCreated    
T1      taskStarted     
T2      childCreated    
T3                      agentCreated    
T4      childCreated                    
T5                      toolCallStarted 
T6                                      agentCreated
T7                      toolCallCompleted
T8                                      toolCallStarted
T9                      agentCompleted  
T10                                     toolCallError
T11                                     toolCallStarted (retry)
T12                                     toolCallCompleted
T13                                     agentCompleted
T14     agentCompleted  

6. Output: Structured Results

Principle

All results, logs, and reports are saved in a folder tree structure that mirrors the agent hierarchy, making it easy to review and analyze what happened at each level.

Diagram: Output File Structure

.agentree/
β”œβ”€β”€ πŸ“ main-agent/                           ← Root agent (Agent 0)
β”‚   β”œβ”€β”€ πŸ“„ agent-report.md                   ← Main report
β”‚   β”œβ”€β”€ πŸ“„ execution-log.json                ← Detailed log
β”‚   β”œβ”€β”€ πŸ“„ task-summary.md                   ← Task summary
β”‚   β”œβ”€β”€ πŸ“ tools-output/                     ← Tool outputs
β”‚   β”‚   β”œβ”€β”€ πŸ“„ search-results.json
β”‚   β”‚   └── πŸ“„ api-responses.json
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ research-agent/                   ← Child agent 1
β”‚   β”‚   β”œβ”€β”€ πŸ“„ agent-report.md
β”‚   β”‚   β”œβ”€β”€ πŸ“„ execution-log.json
β”‚   β”‚   β”œβ”€β”€ πŸ“ ai-trends-agent/              ← Grandchild agent 1.1
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ agent-report.md
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ trends-data.csv
β”‚   β”‚   β”‚   └── πŸ“„ analysis-charts.png
β”‚   β”‚   β”‚
β”‚   β”‚   └── πŸ“ crypto-trends-agent/          ← Grandchild agent 1.2
β”‚   β”‚       β”œβ”€β”€ πŸ“„ agent-report.md
β”‚   β”‚       └── πŸ“„ crypto-analysis.json
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ competitor-agent/                 ← Child agent 2
β”‚   β”‚   β”œβ”€β”€ πŸ“„ agent-report.md
β”‚   β”‚   β”œβ”€β”€ πŸ“„ execution-log.json
β”‚   β”‚   β”œβ”€β”€ πŸ“„ error-log.txt                 ← Encountered errors
β”‚   β”‚   └── πŸ“ startup-analysis-agent/       ← Grandchild agent 2.1
β”‚   β”‚       β”œβ”€β”€ πŸ“„ agent-report.md
β”‚   β”‚       └── πŸ“„ startup-data.json
β”‚   β”‚
β”‚   └── πŸ“ synthesis-agent/                  ← Child agent 3
β”‚       β”œβ”€β”€ πŸ“„ agent-report.md
β”‚       β”œβ”€β”€ πŸ“„ execution-log.json
β”‚       β”œβ”€β”€ πŸ“ chart-generator-agent/        ← Grandchild agent 3.1
β”‚       β”‚   β”œβ”€β”€ πŸ“„ agent-report.md
β”‚       β”‚   └── πŸ“„ market-charts.html
β”‚       β”‚
β”‚       └── πŸ“ report-writer-agent/          ← Grandchild agent 3.2
β”‚           β”œβ”€β”€ πŸ“„ agent-report.md
β”‚           └── πŸ“„ final-market-report.pdf   ← Final deliverable