Building AI agents used to mean building elaborate scaffolding around language models. We wrote complex state machines, predefined workflows, and extensive error‑handling code. Models needed heavy guidance to reli‑ably complete multi‑step tasks, struggled with tool calling, and couldn’t reason through prob‑lems or change course when needed.
Working with teams building Kiro and Amazon Q Developer, we noticed something interesting: the orchestration frameworks we’d used for earlier models were getting in the way. These frameworks were actively limiting what modern models could do naturally. When we tried to add new capabilities or handle edge cases, we’d spend more time updating the orchestration logic than actually improving the agent.
Modern language models are sophisticated enough to be their own orchestrators. They can reason about which tools to use, validate their assumptions, and handle unexpected scenarios. When an API call fails, they reason about alternatives. When a model edits code, it compiles and runs tests. When users ask something unexpected, they figure out how to help using available tools. We call this the model‑driven approach.
When we switched to the model‑driven approach, development cycles shortened significantly from many months to weeks. The system could handle changing product requirements without extensive rework. Instead of rigid guardrail responses, agents could offer alternatives and maintain coherent conversations. Engineers across Amazon could contribute their expertise while the model maintained consistency.
This is a shift from procedural programming to contextual programming. Instead of writing elaborate graphs, state machines, and “if this, then that” logic for every scenario, you provide the right tools, clear objectives, and relevant context. You can still enforce constraints and boundaries on agent behavior, but you let the model determine the best approach dynamically within those bounds.
This is the model‑driven approach and the foundation for the Strands Agents SDK. Whether you’re building a multi‑agent system or a single agent, the future of agent development is about letting models orchestrate themselves intelligently.