AWS's open-source Strands Agents SDK has evolved from a lightweight Python toolkit into a full production harness designed for complex, long-running AI tasks. Clare Liguori, Senior Principal Engineer at AWS and technical lead on the project, says the shift reflects a broader industry move away from rigid workflow-based frameworks toward model-driven architectures that let large language models handle their own reasoning.
Strands began as an internal AWS project in May 2024, born out of frustration with existing agent frameworks that demanded heavy scaffolding and predefined workflows. Liguori's team found that the more structure they imposed around the model, the worse the agent performed. The breakthrough came when they stripped the system down to three core components: a system prompt, a set of tools, and a chosen model. This minimal setup, which Liguori calls the "model-driven approach," allowed teams inside AWS to build and deploy new agents in weeks rather than months.
Why Workflows Fail and Simple Prompts Win
Liguori's team ran hundreds of evaluations comparing different steering techniques for agents. The results were striking. Simple instructions in a system prompt, just four sentences, achieved an 82.5% pass rate. Traditional workflows performed worse. But a technique called "steering hooks" hit 100% accuracy, a figure Liguori calls "unheard of for agents."
The problem with workflows, she explains, is that they create a "downward spiral" of maintenance. Engineers write a workflow based on expected inputs, then add more if-statements as unexpected user queries arrive. This brittleness is especially problematic because, as Liguori notes, "customers will use your service in ways you never predicted." Compound questions or tangential requests break rigid pipelines.
Steering hooks solve this by injecting determinism only at runtime, and only when needed. Unlike standard hooks, which can block a tool call based on its immediate inputs, steering hooks access a "ledger": the complete history of every tool call the agent has made. This allows stateful enforcement of rules. For example, a mortgage processing agent can be blocked from approving a loan until the ledger confirms that income verification was both called and returned an acceptable result. The model retains flexibility for unexpected inputs, but critical business rules are locked down.
Building Guardrails Without Killing Performance
The Strands team takes a measured view of AI safety. Liguori argues that over-architecting for the small chance a frontier model "goes wild" actually weakens the agent for the vast majority of legitimate tasks. Instead, Strands combines evaluation with runtime controls.
The Strands Evals Kit, which reached version 1.0 after a December preview, quantifies how often an agent drifts off-script. For production control, Strands supports hooks that can run even small models, like GPT-oss:20b, as inline judges. These lightweight models check outputs or tool calls against safety guardrails at a fraction of the cost of using a frontier model for the same task. Using a different model as the judge also avoids the problem of a model agreeing with its own reasoning.
The Mindset Shift for Software Engineers
Liguori is direct about the cultural adjustment required. Traditional software engineers are trained to expect determinism: a test that passes today should catch regressions tomorrow. Agents don't work that way. Engineers must adopt a scientist's mindset, building evaluation datasets and accepting that the judge itself may return slightly different scores on each run.
One practical tip she offers: evaluate agents by their tool calls, not their final output. For process automation or information gathering, if an agent calls the right APIs in the right order, the final summary is almost certainly correct. This provides a rare island of determinism in an otherwise probabilistic system.
At the same time, Liguori stresses that core engineering principles still apply. Unit test individual tools rigorously. Apply chaos testing and red-teaming. Modularity matters. "Unit test the hell out of it," she says. Holistic agent evaluations are necessary but not sufficient.
From Chatbot to Harness: The AWS Console Story
The Strands approach is battle-tested in the AWS console chatbot, available on every page. It began in 2023 as a simple prompt pipeline on early Claude 2 models. As users demanded account-specific data and complex troubleshooting, the team added tool calls and eventually sub-agents, like a network diagnostics agent that chains over a dozen API calls.
This evolution revealed a critical insight: pre-launch evaluation datasets rarely match real production traffic. The AWS team assumed users would ask simple definitional questions like "What is S3?" and tuned for concise answers. In reality, users flooded the bot with how-to questions requiring detailed, step-by-step responses. Post-launch, the team had to continuously analyze traces, sample inputs, and user feedback signals (thumbs down, follow-up questions, even profanity) to refine their test sets. This ongoing loop is foreign to traditional software maintenance but essential for agent quality.
Looking Ahead: The Agent Harness
Strands is now positioning itself as an "agent harness" rather than just a framework. The distinction matters. A framework, Liguori says, is like a "big while loop" that manages the model's next turn. A harness supports complex, long-running tasks that span hours, not seconds.
This requires new primitives: context management and proactive summarization to handle million-token contexts; state persistence and resumption so a job can survive compute failures; and built-in tools like task lists and to-do lists that help the model track its own progress. These are lessons borrowed from machine learning training pipelines, which have handled multi-day fault-tolerant jobs for years, but are only now becoming necessary for agentic workloads.
The model-driven approach also makes Strands model-agnostic. It runs on any provider, from Anthropic to OpenAI to local deployments, and switching models is a one-line change. Liguori notes that smaller models, like gpt-oss:120b, can achieve excellent accuracy on automation tasks when paired with steering hooks, offering a cost-effective alternative to frontier models.
The next frontier for Strands is clear: enabling agents that work for hours on complex tasks, with the reliability and observability that production systems demand. The harness is already in place. What remains is seeing what developers build with it.