Strands Harness SDK: open-source фреймворк для production AI-агентов

«SDK даёт строительные блоки, но вам всё равно нужно решать, как управлять контекстом, интегрировать инструменты и настраивать системный промпт.» — команда Strands Agents

Что это и для кого

AWS выпустила Strands Harness — Apache-2.0 агентный рантайм, который упаковывает управление контекстом, персистентные сессии, инструменты и делегирование вокруг модельно-ориентированного агентного цикла.

Strands Agents — это open-source SDK для создания и запуска AI-агентов на Python и TypeScript. Выбирайте Strands, когда вы иначе писали бы собственный агентный цикл: он запускается в вашем процессе без hosted control plane.

Первые публичные релизы Python и TypeScript версий вышли 21 сентября 2026 года, предоставив разработчикам более высокоуровневую отправную точку, чем сборка тех же возможностей вручную из Strands Agents SDK.

Для кого предназначен Strands Harness SDK:

  • Команды, которые устали писать агентный цикл с нуля
  • Python/TypeScript-разработчики, которым нужна vendor-neutral платформа
  • Компании, разворачивающие production AI-агентов в любом облаке
  • Исследователи, тестирующие разные LLM-провайдеры без переписывания кода
ℹ Open-source и Apache 2.0
Лицензия Apache License 2.0 — разрешительная OSI-одобренная open-source лицензия, допускающая коммерческое использование, модификацию и дистрибуцию с указанием авторства. Сам SDK не накладывает коммерческих ограничений.

Ключевые возможности

1. Всё в одном SDK

В одном SDK вы получаете: lifecycle controls (лимиты ходов, бюджеты токенов, отмена, причины остановки), инструменты и структурированный вывод, MCP, multi-agent паттерны, память и сессии, портируемость моделей, стриминг, guardrails, трассировку и evals.

2. Model-agnostic подход

Первоклассная поддержка Amazon Bedrock, Anthropic, OpenAI и Gemini, плюс множество других провайдеров и кастомных решений. Также поддерживаются Mistral, Meta Llama API, Ollama для локальных моделей, LiteLLM, Cohere, Writer — и смена провайдера занимает одну строку кода.

3. Strands Harness — «батарейки в комплекте»

Единственный вызов create_harness() (Python) или createHarness() (TypeScript) даёт оптимизированного агента с проверенными дефолтами для модели, инструментов, памяти, сессий и управления контекстом — готового к переходу от идеи к production.

Harness включает инструменты для работы с файлами, shell и web, встроенное управление контекстом, память, персистентные сессии, кэширование промптов и делегирование другим агентам.

4. Полный контроль над агентным циклом

Агентный цикл по умолчанию трассирует каждое решение. Хуки позволяют перехватить любой шаг, чтобы логировать, валидировать или перенаправлять его.

Guardrails перехватывают ошибки до их выполнения. Steering handlers позволяют агентам самокорректироваться вместо молчаливых сбоев.

5. Observability через OpenTelemetry

Strands Agents использует OpenTelemetry (OTEL), что позволяет подключиться к любому OTEL-совместимому бэкенду (Datadog, Jaeger, Grafana) без vendor lock-in. В сочетании с нативным AWS observability через CloudWatch и X-Ray это обеспечивает enterprise-grade мониторинг.

6. Strands Labs — экспериментальные проекты

Strands Labs — экспериментальное крыло Strands Agents: open-source проекты, которые применяют Harness SDK в новых областях. Они развиваются быстрее и охватывают более широкую поверхность, чем core SDK. Например: управление роботами с помощью естественного языка с поддержкой 70+ роботов через единый интерфейс.


Примеры кода

Python — минимальный старт

from strands_harness import create_harness

agent = create_harness()
agent("Find the slowest test in this repo and explain why it's slow")

TypeScript — аналог

import { createHarness } from '@strands-agents/harness'

const agent = await createHarness()
await agent.invoke("Find the slowest test in this repo and explain why it's slow")

Python SDK — низкоуровневый агент с инструментами

from strands import Agent
from strands_tools import calculator

agent = Agent(tools=[calculator])
agent("What is the square root of 1764?")

Установка

# Python
pip install strands-harness

# TypeScript / Node.js
npm install @strands-agents/harness

# Python SDK с поддержкой bidirectional streaming
pip install strands-agents[bidi]
💡 Системные требования
Python-версия требует Python 3.10+. TypeScript требует Node.js 20+. Для Bedrock Nova Sonic нужен Python 3.12+ из-за экспериментальной зависимости от AWS SDK.

Архитектура и принцип работы


graph TD
    A[Разработчик] -->|create_harness / createHarness| B[Strands Harness]
    B --> C[Агентный цикл]
    C --> D{Выбор модели}
    D -->|Amazon Bedrock| E[Bedrock]
    D -->|Anthropic| F[Claude]
    D -->|OpenAI| G[GPT]
    D -->|Ollama| H[Локальная модель]
    C --> I[Инструменты]
    I --> I1[Web / Shell / File]
    I --> I2[MCP серверы]
    I --> I3[Кастомные тулы]
    C --> J[Observability]
    J --> J1[OpenTelemetry]
    J --> J2[Guardrails]
    J --> J3[Трассировка]
    C --> K[Память и сессии]
    K --> K1[Персистентные сессии]
    K --> K2[Управление контекстом]

Strands использует то, что AWS называет «model-driven подходом»: разработчики предоставляют модель, инструменты и инструкции, а модель сама определяет, как решить задачу и когда вызывать инструменты.


Производительность и стоимость

Один из самых интересных аргументов в пользу Strands Harness — данные о стоимости.

Strands Harness стоит на 28% дешевле при использовании одних и тех же моделей Claude или GPT на шести бенчмарках.

С моделью Fable 5 Strands Harness обошёлся на 77% дешевле, чем Claude Code, и показал более высокий результат на Terminal Bench 2.1.

Впечатляющий результат на ARC-AGI-3

Используя Claude Opus 5 и open-source Strands Agents SDK, агент прошёл все 183 уровня на 25 публичных окружениях ARC-AGI-3 с результатом 99,95% RHAE за один 8-часовой прогон, потратив около $830 на токены.

Для сравнения: стандартная оценка Opus 5 на ARC-AGI-3 составила 30,16%.

📝 Сила агентного харнеса
Модель сама по себе обеспечивает рассуждение и суждение, но харнес даёт окружающую систему для управления контекстом, поддержания состояния, выполнения действий, наблюдения за их последствиями и взаимодействия с окружающим миром.

Тарифы / цены

Strands Harness полностью бесплатен и распространяется под лицензией Apache 2.0. Вы платите только за API-вызовы к выбранному LLM-провайдеру.

КомпонентСтоимость
Strands Harness SDKБесплатно (Apache 2.0)
Strands Agents SDKБесплатно (Apache 2.0)
AWS BedrockПо тарифам AWS (токены)
Anthropic / OpenAI / GeminiПо тарифам провайдера
Ollama (локально)Бесплатно
Bedrock AgentCore (опционально)По тарифам AWS managed

AWS также предлагает Bedrock AgentCore как опциональный managed hosting слой от той же команды, обеспечивая коммерческий путь, хотя Strands Harness работает независимо от AWS инфраструктуры.


Плюсы и минусы

✅ Плюсы❌ Минусы
Полностью open-source, Apache 2.0Молодой проект (старт май 2025)
Один вызов функции — готовый агентПо умолчанию ориентирован на AWS Bedrock
Поддержка любой LLM без переписывания кодаБольшое количество открытых issues
28% экономия токенов vs Claude Code / CodexBidirectional streaming — ещё в experimental
Встроенные guardrails, tracing, evalsПроизводительность зависит от выбора модели
Python и TypeScript в одном монорепоДля Bedrock Nova Sonic нужен Python 3.12+
Нет hosted control plane (запуск в своём процессе)Документация развивается вместе с кодом
MCP из коробкиМалая история production-кейсов публично
⚠ Предупреждение для production
Репозиторий создан в мае 2025 года — всё ещё ранняя стадия. 493 открытых issue и частые релизы говорят об активной разработке. Production-использование требует терпимости к изменениям API и частым обновлениям.

Сравнение с альтернативами

ПараметрStrands Harness SDKLangGraphOpenAI Agents SDK
ПодходModel-driven (модель ведёт цикл)Graph-driven (явный граф состояний)Lightweight, handoff-модель
ЯзыкиPython + TypeScriptPython + JSPython + JS
МоделиЛюбые (мульти-провайдер)ЛюбыеПреимущественно OpenAI
Сложность стартаМинимальная (1 строка)Средняя (граф нужно описать)Минимальная
Контроль потокаЧерез хуки и steeringПолный (explicit state machine)Средний (handoffs)
ObservabilityOpenTelemetry + AWSLangSmith (визуальный граф)OpenAI dashboard
ЛицензияApache 2.0MITMIT
ЗрелостьМолодой (2025)ЗрелыйСредняя
Vendor lock-inНетНетЧастичный (OpenAI)

Strands оптимизирован для простоты и скорости разработки; LangGraph — для детерминизма, проверяемости и сложных рабочих процессов с ветвлением, циклами и шлюзами человеческого одобрения.

Strands и Claude Agent SDK дают простоту за счёт менее детального контроля оркестрации.


Экосистема и сообщество

Строится сообщество, создающее пакеты для Strands, включая провайдеры моделей (MLX), менеджеры сессий (Valkey) и интеграции (AG-UI).

Вместе с новым агентом AWS выпустил Strands CLI, построенный на Strands Harness. Разработчики могут использовать его для прототипирования агентов на естественном языке.

Деплой возможен в любой среде с Linux-контейнером: от Cloudflare Containers и Google Cloud Run до Amazon ECS.


Вердикт

Рейтинг: 8/10

Кому подойдёт:

  • Python/TypeScript-командам, которым нужен быстрый старт с production-агентом без написания агентного цикла с нуля
  • Командам без жёсткой привязки к одному LLM-провайдеру — Strands Harness позволяет менять модель одной строкой
  • AWS-ориентированным командам — интеграция с Bedrock, ECS, CloudWatch идёт «из коробки», но не обязательна
  • Тем, кто ценит token efficiency — AWS предполагает, что способ управления окружающей агентной инфраструктурой может существенно влиять на стоимость и производительность, даже если базовая модель остаётся той же.

Кому не подойдёт:

  • Командам, которым нужен полный детерминированный контроль потока выполнения (лучше LangGraph)
  • Проектам с нулевой толерантностью к breaking changes в API
  • Тем, кто полностью привязан к экосистеме OpenAI

Strands Harness SDK — редкое сочетание: open-source, model-agnostic, с реальными бенчмарками и активной поддержкой от AWS. Для команд, которые хотят быстро запустить production-агента без vendor lock-in, это один из лучших вариантов на рынке в 2026 году.