The mechanism in one line

InputReduce the input to a workable scale

Compress the visual or contextual input before the main reasoning path.

MechanismSpend compute where it matters

Route or verify the expensive step instead of repeating the full path.

OutcomeEnd with a measurable workflow result

Translate the mechanism into a bounded deployment or evaluation check.

The Missing Layer Between a Working Demo and a Reusable Agent

The AWS Strands Agents team has released Strands Harness, an open-source runtime for general-purpose agents. Licensed under Apache 2.0, it ships for Python and TypeScript, runs locally or in the cloud, and targets a specific gap: an agent may work inside Claude Code or Codex, yet become more expensive, fragile, or difficult to reproduce when rebuilt with a custom loop, tool layer, and context strategy.

The important part is not that one command can create an agent. It is that the release makes the engineering layer around the model explicit. Strands Harness combines the loop, tools, context handling, memory, recovery, and subagent delegation into working defaults, attempting to make agent behavior less dependent on undocumented control logic written by an individual developer. A layer often treated as glue code is being presented as a system architecture that can be compared.

A Harness Is a Set of Runtime Trade-offs, Not a Wrapper

Calling create_harness() provides access to current reasoning models through Amazon Bedrock, Anthropic, OpenAI, Google, Ollama, and LiteLLM. Instead of shipping a bespoke tool for one task, the harness exposes shell, file read/write/edit, and web tools. That lowers the cost of assembling a general-purpose agent, but it also leaves the deployer responsible for setting tool permissions, input boundaries, and output limits.

Several easy-to-miss runtime capabilities are part of the default path. Large tool results can be offloaded to files, reused parts of requests can be cached, long-term memory can persist across runs, and a session ID can resume a conversation. Open-ended subtasks can be delegated to a built-in helper agent, while a checklist tracks multi-step work, and Agent Skills are loaded when discovered. The harness is therefore not merely another model API. It preselects what remains in context, what is externalized, and how work continues after failure.

The 28% Figure Comes From Context Management, Not Model Magic

The team ran distributed tests on Amazon EC2 with Harbor, the evaluation framework from the Terminal-Bench creators. The reported average covers six benchmarks: ALFWorld, ContextBench, GAIA, WebShop, τ²-bench, and Terminal-Bench 2.1. Across the same Claude or GPT models, the team reports 28% lower average cost for Strands Harness than competing harnesses at near-equal accuracy. The comparison is not primarily about which model is stronger. It is about what happens when the same model is placed inside different runtimes.

One qualification is essential. DeepSeek Harness was about 14% cheaper than Strands Harness in overall token efficiency, but scored lower on every benchmark, and including it reduced the reported overall savings figure to 28%. In the clearest same-model comparison, Claude Fable 5 ran 89 trials per harness on Terminal-Bench 2.1. Strands cost 77% less than Claude Code and scored 7.9 points higher. Oh-my-pi matched a 69.7 accuracy score at 54% higher cost, while DeepSeek Harness was cheaper but trailed by 10.2 points. These results support the claim that runtime design affects both cost and quality, but they should not be generalized beyond the tested task distribution.

Three Context Gates Do Most of the Work

Strands attributes much of its token efficiency and accuracy to context management. Its defaults use three gates: tool results above roughly 1,500 tokens are truncated, compaction starts when context usage passes 85%, and context recovery runs inside the loop when the window overflows. Together, these rules change how the agent works. Web output, command logs, and file contents are no longer carried into every turn unchanged. The runtime decides what should remain, be compressed, or be retrieved again.

That is why cost and accuracy can improve together. Truncation alone may reduce tokens while discarding information needed to finish a task. Compaction and recovery attempt to control context size while preserving task state, giving the model a way to continue near the window limit. The independent HarnessTax study cited in the material points in the same direction: across Claude Code, Codex CLI, and Pi with seven models, harness choice had little effect on success rates, yet the same model could reach similar success at costs differing by up to five times. Efficiency is therefore not simply about sending fewer prompt segments. It is about managing the lifecycle of information.

The Deployment Surface Is Broad, but Production Boundaries Remain Yours

Strands Harness presents a broad deployment surface. It runs locally, and a bundled skills file helps a coding agent generate deployment configuration for AWS, GCP, Azure, Cloudflare, and Modal. The installation paths are direct: pip install strands-harness for Python and npm install @strands-agents/harness for TypeScript. Models can be selected by name or connected through a local Ollama deployment. The Strands CLI also supports natural-language prototyping. In the team’s demonstration, an agent was asked to add a Playwright MCP server and measure video-load latency on a blog post, then produced configuration through /export.

But deployable does not mean production-ready. General shell, file, and web tools increase usefulness while also increasing the risk of uncontrolled permissions, sensitive data entering long-term memory, tool output contaminating context, and subagents becoming difficult to audit. The material does not specify isolation, approval, observability, or cost-ceiling designs for these cases, so the defaults should not be mistaken for completed governance. A technical leader should treat Strands as a reusable baseline, then revalidate whether truncation is safe for the task, whether recovery can repeat side-effecting actions, whether caching crosses data boundaries, and whether the reported cost and accuracy hold on the team’s own workload.