代理工具
Strands Introduces a General-Purpose Agent Harness with Context Offloading and Prompt Caching
Strands harness combines tools, memory, and context management into ready-to-deploy agents, with Python and TypeScript interfaces. The team has published cost comparisons, but actual benefits still depend on the task, model, and caching conditions.

On September 21, the Strands team unveiled Strands harness, which combines the model loop, tools, context management, and memory into a ready-to-run general-purpose agent. Developers can build agents using Python or TypeScript, connect them to multiple model providers or Ollama, and deploy them in Linux containers. The framework is released under the Apache 2.0 license. [Launch announcement](https://strandsagents.com/blog/introducing-strands-harness/), [Package description](https://pypi.org/project/strands-harness/)
The default context management policies deserve particular attention. According to the announcement, tool results exceeding approximately 1,500 tokens are truncated, summarization-based compaction is triggered when context usage exceeds 85%, and an in-loop recovery mechanism handles overflow. The documentation further explains that large results are moved to storage, while previews and references remain in the conversation so the agent can retrieve the full content when needed. The engineering objective is to reduce the content resent on each turn while preserving a way to look it up again. [Default policies](https://strandsagents.com/blog/introducing-strands-harness/), [Context management documentation](https://strandsagents.com/docs/user-guide/harness/configure/context-and-caching/)
Caching behavior varies by provider: for Bedrock and Anthropic's direct API, the framework configures cache points and tool definitions; some other services use automatic server-side caching. Disabling the framework's `caching` option therefore disables only the parts it configures itself and should not be interpreted as turning off caching across all providers. When supplying a model object directly, developers must also check its underlying configuration separately. [Caching behavior](https://strandsagents.com/docs/user-guide/harness/configure/context-and-caching/)
The team ran six benchmarks using EC2 and Harbor, claiming 28% lower aggregate token costs than other frameworks using the same Claude or GPT models, with comparable or better scores. However, the chart notes also acknowledge that DeepSeek Harness costs roughly 14% less than Strands harness, though its scores are lower on every benchmark. The 28% figure is an aggregate result from this set of comparisons and cannot be applied to every task. The announcement says a full evaluation paper will be published later. [Evaluation details](https://strandsagents.com/blog/introducing-strands-harness/), [Chart notes](https://strandsagents.com/embeds/strands-harness-benchmarks.html)
There are also concrete deployment considerations: sessions and long-term memory are written to the local `.agent` directory by default, so containers using ephemeral disks need persistent storage. The documentation also cautions that Monty, used for programmatic tool calling, isolates code written by the model but does not extend that isolation to the permissions of the tools being called. The built-in shell and file modification capabilities still require sandboxing and operational policies. [Production deployment documentation](https://strandsagents.com/docs/user-guide/harness/production/)
For teams, this provides a set of agent defaults that can be overridden and compared. The next step is to pin model and framework versions and measure completion rate, total cost, and latency together on their own long-running tasks. Particular attention should go to whether summarization loses constraints, whether offloaded content can be retrieved successfully, and whether sessions can resume after a container restarts. Evaluations should also record tool output lengths, cache hits, and retries to distinguish whether cost reductions come from reduced content, discounts on repeated inputs, or changes in how tasks are executed.