본문으로 건너뛰기

TDA Pattern

Top-Down Agent (TDA) is a pattern for coordinating multiple AI agents in a hierarchical structure.

Overview

┌─────────────┐
│ Manager │ Delegates tasks, monitors progress
└──────┬──────┘

┌───┴───┐
│ │
┌──▼──┐ ┌──▼──┐
│ W1 │ │ W2 │ Execute specific tasks
└─────┘ └─────┘

Roles

Manager

The Manager role:

  • Receives high-level tasks from the user
  • Breaks tasks into smaller pieces
  • Assigns work to Workers
  • Monitors progress and handles issues
  • Does NOT write code directly

Worker

The Worker role:

  • Receives specific tasks from Manager
  • Executes tasks autonomously
  • Reports completion/issues to Manager
  • Focuses on implementation details

Setting Up TDA

1. Start Manager Session

ilogsession start project-mgr -p tda-manager -d /path/to/project

2. Start Worker Sessions

# In separate terminals
ilogsession start worker1 -p tda-worker -d /path/to/project
ilogsession start worker2 -p tda-worker -d /path/to/project

3. Manager Creates Workers

From the Manager session:

# Create a worker session
ilogsession start project-mgr-backend -p tda-worker -d /path/to/project

# Send task to worker
imessenger send project-mgr-backend "Implement user authentication API"

# Approve permissions when needed
imessenger approve project-mgr-backend

Communication

Workers and Managers communicate via imessenger:

# Manager sends task
imessenger send worker1 "Create login endpoint"

# Worker can ask questions
imessenger send project-mgr "Should I use JWT or sessions?"

# Manager responds
imessenger send worker1 "Use JWT with refresh tokens"

Naming Convention

Use consistent naming for sessions:

{project-name}-{role}
{project-name}-{role}-{specialty}

Examples:

  • myapp-mgr - Manager
  • myapp-frontend - Frontend worker
  • myapp-backend - Backend worker
  • myapp-test - Testing worker

Best Practices

1. Clear Task Delegation

# Good: Specific task
imessenger send worker1 "Add email validation to /api/signup endpoint"

# Bad: Vague task
imessenger send worker1 "Fix the authentication"

2. Monitor Progress

# Check worker status
imonitor --session worker1

# View all active sessions
imonitor

3. Handle Blocks

When a worker needs help:

# Worker signals they're blocked
imessenger send project-mgr "BLOCKED: Need database schema for users"

# Manager provides guidance or reassigns

Example Workflow

# Terminal 1: Manager
ilogsession start myapp-mgr -p tda-manager -d ./myapp
# Manager receives: "Add user authentication"
# Manager creates workers and delegates:
ilogsession start myapp-auth -p tda-worker -d ./myapp
imessenger send myapp-auth "Implement JWT authentication"

# Terminal 2: Worker
# Worker receives task and implements it
# Worker commits changes and reports completion
imessenger send myapp-mgr "DONE: JWT auth implemented with tests"