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:
- Tracks the current state using
AgentStateenum. - Enforces valid transitions (e.g., IDLE → PLANNING → EXECUTING).
- Logs all transitions with timestamps.
- Raises
ValueErroron 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.PLANNINGExplanation: IDLE → PLANNING is a valid transition.
Example 2:
Input:
lc = AgentLifecycle()
lc.transition(AgentState.EXECUTING)Output:
ValueError: Invalid transition from IDLE to EXECUTINGExplanation: 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
Python3
ReadyLines: 1Characters: 0
Ready