Architect agents that support planning, memory, tool use, and multi-step execution, selecting appropriate patterns (single-agent, multi-agent, workflow-driven, human-in-the-loop) based on problem constraints and risk. Build agents using modern frameworks (e.g., LangGraph, LangChain, Semantic Kernel, AutoGen, or equivalent), implementing structured outputs, tool-calling, reflection, and state management.