strands-agents/harness-sdk

Создавайте и управляйте агентами от начала до конца. Открытый SDK для продакшн AI-агентов на Python и TypeScript — любая модель, любой облачный провайдер.

Агенты⭐ 7 383Pythonпоследний релиз: typescript/v1.18.0
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Strands Agents — это open-source SDK для создания и управления AI-агентами на Python и TypeScript, обеспечивающая полный контроль над их жизненным циклом.

Зачем нужен

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

Что можно реализовать

  • Создание автономных рабочих процессов, где агент самостоятельно принимает решения и выполняет действия
  • Разработка сложных многоагентных систем (multi-agent patterns) с распределением задач
  • Интеграция агентов с внешними инструментами через MCP (Model Context Protocol)
  • Построение чат-ботов и ассистентов с поддержкой структурированного вывода и потоковой передачи данных (streaming)
  • Настройка систем с guardrails для предотвращения ошибок до их выполнения

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

  • Модель-агностичный подход: поддержка Amazon Bedrock, Anthropic, OpenAI, Gemini, Ollama и кастомных провайдеров
  • Встроенная трассировка (tracing) каждого решения агента и хуки для перехвата, логирования или перенаправления шагов
  • Механизмы безопасности: guardrails для перехвата ошибок и steering handlers для самостоятельного исправления агентов
  • Готовая поддержка MCP, bidirectional streaming и структурированного вывода
  • Единый интерфейс кода при смене бэкендов (моделей или облаков) благодаря абстракции провайдеров

👤 Кому подойдёт: разработчики, создающие production-ready AI-агенты на Python или TypeScript

Релизы

typescript/v1.18.0minor
🕐 5 дн назад · релиз на GitHub ↗

Релиз v1.18.0: добавлен поиск BM25, инструменты web_fetch и shell, улучшена работа с аудио и транскриптами в bidi.

  • Added: Добавлена стратегия поиска BM25 для хранилища и инструмент web_fetch для TypeScript.
  • Added: В модуль bidi интегрирован вывод аудио для живых транскриптов и события завершения.
  • Added: Инструмент shell теперь возвращает код выхода, а AgentResult стал сериализуемым в JSON.
  • Fixed: Исправлена маршрутизация моделей Bedrock Mantle, сохранение изображений в Mistral и очистка потоков при завершении.
  • Added: Упрощены конфигурации моделей Google и OpenAI, добавлена поддержка кэширования промптов OpenAI.
python/v1.55.1minor
🕐 11 дн назад · релиз на GitHub ↗

Релиз v1.55.1: добавлены фоновые задачи для агентов, портирован инструмент notebook, улучшена работа с OpenAI и Bedrock.

  • Added: Добавлена поддержка фоновых задач (backgroundTasks) для агентов.
  • Added: Инструмент notebook портирован на Python.
  • Added: Упрощена конфигурация моделей Google и OpenAI.
  • Fixed: Исправлено сохранение соседства tool_use/tool_result в ответах OpenAI.
  • Fixed: Решена проблема с вложенными префиксами моделей Bedrock.
typescript/v1.17.0majorbreaking
🕐 12 дн назад · релиз на GitHub ↗

Обновление до Node.js 22+, поддержка MCP 2.x, кэширование для Ollama и SageMaker, новые протоколы LocalAgent и AudioCapable.

  • Breaking: Требование Node.js 22+; поддержка Node 20 полностью удалена.
  • Added: Добавлена поддержка протокола MCP 2.x, включая обновление инструментов и работу с задачами.
  • Added: Внедрено кэширование для провайдеров Ollama, Writer, SageMaker, llama.cpp и Vercel.
  • Added: Появились новые протоколы LocalAgent и AudioCapable, а также экспериментальные типы контекстного менеджера.
  • Deprecated: Параметр cache_tools объявлен устаревшим; рекомендуется использовать tools_ttl в CacheConfig.
typescript/v1.16.0minor
🕐 20 дн назад · релиз на GitHub ↗

Релиз TypeScript SDK v1.16.0: поддержка фоновых задач, MCP v2, поиск BM25, кэширование Mistral и аутентификация Bedrock.

  • Added: Добавлена поддержка фоновых задач (backgroundTasks) и внутреннего менеджера задач в Agent.
  • Added: Реализована стратегия поиска QmdSearchStrategy с полнотекстовым поиском BM25.
  • Added: Добавлена конфигурация кэширования для модели Mistral и поддержка API-ключа для Bedrock.
  • Added: Внедрены изменения для совместимости с MCP v2 и серверное обнаружение по SEP-2575.
  • Fixed: Исправлено переключение контекста в file-editor, чтобы не перезаписывать нетронутые байты.
  • Deprecated: Поставщик модели LlamaAPI признан устаревшим.
python/v1.54.0minor
🕐 24 дн назад · релиз на GitHub ↗

Добавлены маршрутизация моделей, кэширование и FileMemoryStore; улучшена обработка отмен и токенов; исправлены ошибки Bedrock и OpenAI.

  • Added: Реализована маршрутизация моделей, настраиваемая стратегия классификатора и кэширование с ключами.
  • Added: В Python-агент добавлено свойство session_id, а также поддержка FileMemoryStore и внешних сигналов отмены.
  • Added: В каталог интеграций добавлены плагины strands-xa11y и TealTiger для управления доступом.
  • Fixed: Исправлен подсчёт токенов в кэше и Gemini, а также обработка ошибок переполнения контекста в Bedrock.
  • Fixed: Улучшена делегация агентов, исправлена работа с контент-блоками и редакция контента в Bedrock.
python/v1.53.0minorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Релиз v1.53.0: добавлена поддержка аудио, кэширования промптов, OAuth для MCP и делегирование агентов.

  • Added: Добавлена поддержка аудио-контента для Python и TypeScript, а также стратегии оффлоадинга контекста.
  • Added: Включено кэширование промптов через cache_config и cache_tools для Anthropic.
  • Added: Реализовано делегирование агентов как инструментов (agent-as-tool) и OAuth-аутентификация для MCP.
  • Added: Добавлено хранилище памяти FileMemoryStore и поддержка подавления эха в bidi.
  • Fixed: Исправлено кэширование системного промпта в Bedrock, обработка ошибок переполнения контекста и корректная выдача метаданных использования.
  • Breaking: Изменено поведение кэширования системного промпта в Bedrock (auto mode), что может повлиять на существующие интеграции.
typescript/v1.13.0minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлен ModelRouter, интеграция с GitHub Storage, поддержка заметок и улучшена маршрутизация мыслей в Gemini.

  • Added: Добавлен ModelRouter для маршрутизации запросов между моделями через параметр Agent(model=).
  • Added: В каталог добавлена интеграция strands-github-storage и реализован верхнеуровневый интерфейс storage.
  • Added: В TypeScript-версии добавлена поддержка дозаписи в заметки (notebooks) и прерываний через middleware.
  • Fixed: Исправлена отправка документов в OpenAI Responses API (file_data вместо file_url) и обработка мыслей в Gemini.
  • Fixed: Улучшена обработка ошибок: логирование некорректного JSON, повторные попытки для Bedrock и корректное отсечение контекста.
python/v1.52.0minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлен роутинг моделей, интеграция GitHub Storage и middleware-интервалы; исправления для Bedrock, OpenAI и Gemini.

  • Added: Добавлен ModelRouter для маршрутизации запросов и интеграция strands-github-storage.
  • Added: Внедрен AgentStreamStage, позволяющий прерывать поток через middleware.
  • Fixed: Исправлена отправка документов в OpenAI Responses API и обработка результатов инструментов в Bedrock.
  • Fixed: Улучшена обработка мыслей (thoughts) в моделях Gemini и исправлены ошибки контекстного оффлоадинга.
  • Added: Добавлена поддержка добавления контента в ноутбуки для TypeScript.
mcp/v0.2.9minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз mcp/v0.2.9: новые модели GPT-5.6 и Claude 5, поддержка Gemini Tool Choice, улучшенное управление сессиями и исправления.

  • Added: Добавлена поддержка моделей GPT-5.6 и Claude 5 с лимитами контекстного окна.
  • Added: Реализована поддержка Tool Choice для Gemini в Python.
  • Added: Внедрены хуки BeforeToolsEvent и AfterToolsEvent для пакетной обработки.
  • Added: Добавлен менеджер сессий snapshot и обнаружение циклических передач в swarm.
  • Fixed: Исправлена работа swarm при перезапуске после сбоев и проблемы с индексацией MCP.
typescript/v1.12.0minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз v1.12.0: поддержка Gemini Tool Choice, новые контекстные окна для Claude 5 и GPT-5.6, фильтрация MCP и улучшенная работа с прерываниями.

  • Added: Добавлена поддержка Tool Choice для Gemini в Python и расширены лимиты контекстного окна для семейств Claude 5 и GPT-5.6.
  • Added: В TypeScript реализована фильтрация инструментов MCP, префиксы имен, обнаружение циклических передач в роях и новые типы для потоковой обработки.
  • Added: Внедрены хуки BeforeToolsEvent и AfterToolsEvent для пакетной обработки, а также метод estimateUtilization в базовом классе Model.
  • Fixed: Исправлены критические ошибки: регрессия в AWS SDK, краш при перезапуске роев, проблемы с индексацией MCP и корректный подсчет использования после повторных вызовов.
  • Deprecated: Инструмент make_bash помечен как устаревший, а sandbox-routed bash tool переименован в shell.
mcp/v0.2.8patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлено зависание зависимостей MCP, устранено дублирование в индексах и улучшена производительность поиска за счёт параллельной загрузки сниппетов.

  • Fixed: Зависимость MCP зафиксирована ниже версии 2.0.0 для обеспечения стабильности.
  • Fixed: Устранено дублирование записей в инвертированном индексе.
  • Added: Загрузка сниппетов для поиска теперь выполняется параллельно, что повышает производительность.
  • Added: Исправлены контракты инструмента поиска в документации.
  • Настроена автоматическая работа релизов и интегрирован CI для работы в монорепозитории.
python/v1.46.0minor
🕐 2 мес назад · релиз на GitHub ↗

Релиз v1.46.0: новые возможности памяти, MCP и middleware, исправления графов и моделей, документация.

  • Added: Добавлено локальное хранилище памяти, поддержка JSON для загрузки MCP-серверов и улучшенная работа middleware.
  • Added: Внедрена телеметрия для менеджера памяти и сохранение схем вывода MCP в TypeScript.
  • Fixed: Исправлены критические ошибки в многоагентных графах, буферизации вывода и маршрутизации трафика gpt-5.
  • Fixed: Устранены проблемы с валидацией ролей в транскриптах, обработкой прерванных вызовов инструментов и ошибками контекста.
  • Added: Добавлены гайд по портированию с TypeScript на Python, обновлены ID моделей Sonnet и улучшена документация.
typescript/v1.7.0minor
🕐 2 мес назад · релиз на GitHub ↗

Добавлена поддержка имён пространств для политик Cedar и управляемых баз знаний Bedrock, исправлены ошибки OpenAI и Gemini.

  • Added: Добавлена опция namespace для имён пространств в политиках Cedar.
  • Added: В функции retrieve и ACL добавлена поддержка управляемых баз знаний Bedrock.
  • Fixed: Исправлена отчётность токенов кэширования промптов в Responses API OpenAI.
  • Fixed: Исправлена обработка нестроковых кодов ошибок в classifyOpenAIError.
  • Fixed: Устранена неоднозначность отображения имён частей tool-result в Gemini.