Murakkab is a resource-efficient serving system for agent-based workflows. Existing frameworks tightly couple agent logic with model and hardware selection, exposing workflows as opaque sequences of model and tool calls, leading to inefficiencies. Murakkab introduces a declarative abstraction that separates workflow specifications from execution configuration. A profile-driven optimizer and an adaptive runtime manage the entire stack, including orchestration of workflow components, mapping to models and hardware, and dynamic reconfiguration to meet user-defined service level objectives (SLOs). By exposing the internal structure of agent workflows, it enables cross-layer optimizations that existing frameworks and cloud schedulers cannot achieve. Evaluations on various workflows have shown that Murakkab reduces GPU usage by up to 2.8x, energy consumption by 3.7x, and costs by 4.3x, all while maintaining SLOs.