Implement Agent Lifecycle States

Easy
Agents

Agent Lifecycle Management

AI agents are stateful systems. Managing state transitions correctly prevents illegal operations (e.g., executing before planning).

Task

Implement an AgentLifecycle class that:

  1. Tracks the current state using AgentState enum.
  2. Enforces valid transitions (e.g., IDLE → PLANNING → EXECUTING).
  3. Logs all transitions with timestamps.
  4. Raises ValueError on invalid transitions.

Valid Transitions

  • IDLE → PLANNING
  • PLANNING → EXECUTING
  • EXECUTING → WAITING | COMPLETE | ERROR
  • WAITING → EXECUTING
  • ERROR → IDLE

Examples

Example 1:
Input: lc = AgentLifecycle() lc.transition(AgentState.PLANNING) lc.current_state()
Output: AgentState.PLANNING
Explanation: IDLE → PLANNING is a valid transition.
Example 2:
Input: lc = AgentLifecycle() lc.transition(AgentState.EXECUTING)
Output: ValueError: Invalid transition from IDLE to EXECUTING
Explanation: Skipping PLANNING is not allowed.

Starter Code

from enum import Enum

class AgentState(Enum):
    IDLE = 'idle'
    PLANNING = 'planning'
    EXECUTING = 'executing'
    WAITING = 'waiting'
    COMPLETE = 'complete'
    ERROR = 'error'

class AgentLifecycle:
    def __init__(self):
        # TODO: Initialize lifecycle
        pass

    def transition(self, new_state: AgentState) -> bool:
        # TODO: Validate and apply state transition
        pass

    def current_state(self) -> AgentState:
        pass
Lines: 1Characters: 0
Ready
The AI Interview - Master AI/ML Interviews