Дата публикации
ai_products

Amazon запустила Bedrock AgentCore Harness: продакшн-агенты за пару минут без оркестрации

Что нового

Amazon перевела Bedrock AgentCore Harness из превью в общую доступность. Это управляемый «каркас» для LLM-агентов, который закрывает инфраструктуру и оркестрацию за двумя API‑вызовами:

  • CreateHarness — описываете агента (модель, инструменты, память, навыки, окружение).
  • InvokeHarness — запускаете агента.

Ключевые новинки к релизу GA:

  1. Поддержка нескольких провайдеров моделей с переключением на лету:

    • bedrock — модели на Amazon Bedrock: Anthropic Claude, Amazon Nova, Meta Llama, DeepSeek, Qwen, Kimi, MiniMax, Cohere, Mistral и, как заявляет AWS, OpenAI GPT‑5.5 и GPT‑5.4, доступные через Bedrock.
    • openAi — прямой доступ к API OpenAI (api.openai.com).
    • gemini — Google Gemini.
    • liteLlm — любой провайдер, поддерживаемый LiteLLM (Anthropic direct, Cohere, Mistral, Vertex, Azure OpenAI и другие).
    • Можно менять провайдера и конкретную модель посреди сессии, не теряя контекст.
  2. Инструменты как конфигурация, без клеящего кода:

    • agentcore_gateway — подключение к AgentCore Gateway по ARN, все цели (OpenAPI, Smithy, Lambda, MCP) автоматически становятся инструментами с IAM/JWT‑аутентификацией и авторизацией.
    • remote_mcp — прямое подключение к любому MCP‑серверу по URL.
    • agentcore_browser — полноценный браузер в песочнице (клик, ввод, навигация, скриншоты).
    • agentcore_code_interpreter — запуск Python и Node.js в песочнице.
    • inline_function — инструмент, который отрабатывает на вашей стороне (подходит для human‑in‑the‑loop и внутренних систем).
    • Плюс встроенные shell и file_operations без явной конфигурации.
  3. Автоматическая управляемая память:

    • Если не указать память в CreateHarness, AgentCore создаёт Memory‑ресурс сам.
    • Стратегии: SEMANTIC + SUMMARIZATION.
    • Срок жизни событий: 30 дней по умолчанию.
    • Изоляция по actorId, шифрование на стороне AWS.
    • Можно отключить память или подключить свой Memory‑ресурс по ARN.
  4. Skills (навыки) как подключаемые пакеты знаний:

    • Источники: awsSkills, git, s3, path.
    • Новый флаг awsSkills включает готовый набор навыков по AWS: SDK, IaC, IAM, CloudWatch, Bedrock, аналитика, базы данных, EC2, сети, безопасность, serverless, хранилища.
    • Можно ограничить конкретные бандлы через paths.
  5. Готовое окружение и файловые системы:

    • Базовый рантайм с Python и bash.
    • Поддержка кастомных контейнеров из Amazon ECR.
    • API InvokeAgentRuntimeCommand для запуска shell‑команд внутри microVM без участия модели.
    • Три варианта файловой системы:
      • Managed session storage — хранение файлов в рамках runtimeSessionId, без VPC.
      • Amazon EFS access point — общий доступ между сессиями и harness‑ами, требует VPC.
      • Amazon S3 Files access point — чтение/запись через файловые операции с синхронизацией в S3, тоже с VPC.
  6. Единая наблюдаемость и интеграция с CloudWatch GenAI Observability:

    • В консоли AgentCore каждый harness получает общий виджет с агрегированной статистикой.
    • В CloudWatch появляется вкладка Harnesses: можно провалиться от harness → сессии → трейс и увидеть вызовы Runtime, Memory, Gateway, Browser, Code Interpreter.
  7. Оценка качества и оптимизация:

    • AgentCore Evaluations: оценка трасс с помощью LLM‑as‑a‑judge по метрикам полезности, достоверности и безопасности.
    • Режимы: онлайн (на живом трафике), on‑demand для одного трейса, батч по истории, по тестовому датасету, симуляции с синтетическими пользователями.
    • AgentCore Optimization: рекомендации по промптам и описаниям инструментов; A/B‑тестирование вариантов через AgentCore Gateway с онлайн‑оценкой и статистической значимостью.
  8. Версионирование и безопасный rollout:

    • Каждый UpdateHarness создаёт новую неизменяемую версию с полной конфигурацией.
    • Endpoint’ы (DEFAULT, PROD, STAGING) можно привязывать к конкретной версии и откатывать одним вызовом.
  9. Экспорт в код:

    • CLI‑команда экспортирует harness в проект на Strands, который можно запускать на AgentCore Runtime или вне AWS.
    • Сохраняются модель, промпт, инструменты, память, навыки, контейнер.
    • Поддержка Claude Agent SDK заявлена как следующий шаг.
  10. Интеграция с AWS Step Functions:

    • InvokeHarness теперь отдельный тип шага в Workflow Studio.
    • Quick Create Harness прямо из Step Functions.
  11. Web Search на AgentCore:

    • Поиск по вебу подключается как цель в AgentCore Gateway.
    • Скоро появится отдельный инструмент agentcore_web_search по тому же принципу, что browser и code interpreter.

Цены, лимиты контекста и бенчмарки AWS в этом анонсе не раскрывает. Стоимость зависит от выбранных моделей (Bedrock, OpenAI, Gemini, LiteLLM‑провайдеры) и используемой инфраструктуры AWS (ECR, EFS, S3, CloudWatch).


Как это работает

Базовая идея: «агент как конфигурация»

AgentCore Harness превращает классический agent loop («LLM вызывает инструменты в цикле до достижения цели») в управляемый сервис. Разработчик описывает, что агент может делать, а не как это оркестрировать.

Вы задаёте:

  • Модель и провайдера.
  • Набор инструментов.
  • Настройки памяти.
  • Навыки (skills).
  • Окружение (контейнер, файловая система).

Дальше AgentCore:

  • Поднимает изолированную microVM‑среду с файловой системой и shell.
  • Подключает инструменты и навыки.
  • Управляет состоянием сессии и памятью.
  • Стримит шаги агента и пишет трейсы в CloudWatch.

Модели и переключение провайдеров

В CreateHarness вы указываете дефолтную модель и провайдера. В каждом InvokeHarness можно переопределить модель для конкретного вызова.

Ключевой момент — AgentCore хранит контекст диалога на своей стороне, а не внутри конкретного провайдера. Поэтому вы можете:

  • Начать сессии с Claude Opus для планирования.
  • Переключиться на GPT‑5.5 для генерации кода.
  • Завершить сессию на Gemini для сжатия результата.

Контекст диалога не теряется, переход между моделями прозрачен.

API‑ключи к провайдерам хранятся в хранилище токенов AgentCore Identity. Агент не видит «сырые» секреты.

Инструменты как декларативный список

Инструменты описываются в tools при создании harness’а. Пример конфигурации:

"tools": [
  { "type": "agentcore_browser" },
  { "type": "agentcore_code_interpreter" },
  {
    "type": "remote_mcp",
    "name": "X_tool",
    "config": {
      "remoteMcp": {
        "url": "https://mcp.X_tool/mcp"
      }
    }
  },
  {
    "type": "agentcore_gateway",
    "name": "Y_tool",
    "config": {
      "agentCoreGateway": {
        "arn": "arn:aws:bedrock-agentcore:..."
      }
    }
  }
]
``

За кулисами AgentCore:

- Поднимает browser‑песочницу.
- Создаёт окружение для code interpreter.
- Подключает Gateway и MCP‑серверы.
- Прокидывает IAM/JWT, управляет авторизацией и делегированием учётных данных.

В каждый вызов `InvokeHarness` можно передать дополнительные инструменты или ограничить доступ к части инструментов через `allowed_tools`.

Встроенные `shell` и `file_operations` не нужно указывать: они автоматически доступны в каждой сессии и позволяют модели запускать команды и работать с файловой системой microVM.

### Память и состояние

При создании harness’а вы выбираете один из трёх вариантов:

1. **Управляемая память по умолчанию**:
   ```json
   "memory": {
     "managedMemoryConfiguration": {
       "strategies": ["SEMANTIC", "SUMMARIZATION"],
       "eventExpiryDuration": 30
     }
   }
  • Автоматическое создание Memory‑ресурса.
  • Стратегии: семантический поиск и свёртка истории в краткие резюме.
  • События живут 30 дней.
  1. Собственный Memory‑ресурс:

    "memory": {
      "agentCoreMemoryConfiguration": {
        "arn": "arn:aws:bedrock-agentcore:..."
      }
    }
    
  2. Статeless‑агент:

    "memory": {
      "disabled": {}
    }
    

Переключиться с управляемой памяти на свою можно через UpdateHarness. Старый ресурс при этом остаётся у вас в аккаунте, его можно использовать дальше или удалить отдельно.

При удалении harness’а управляемая память по умолчанию удаляется каскадно (deleteManagedMemory: true). Если хотите сохранить — ставите false.

Skills: подключаемые навыки

Skills — это пакеты файлов, скриптов и инструкций, которые AgentCore монтирует в файловую систему сессии. Они не всегда попадают в контекст модели целиком: harness подтягивает содержимое по мере необходимости.

Источники навыков:

  • awsSkills — curated‑репозиторий от AWS с навыками по сервисам и типам задач.
  • git — HTTPS‑репозиторий (публичный или приватный), с привязкой к ветке или коммиту.
  • s3 — архив навыков в S3.
  • path — путь внутри кастомного контейнера, который вы сами собрали.

Пример конфигурации:

"skills": [
  { "awsSkills": {} },
  {
    "git": {
      "uri": "https://github.com/anthropics/skills",
      "path": "document-skills/xlsx"
    }
  },
  {
    "s3": {
      "uri": "s3://my-bucket/skills/team-sops/"
    }
  }
]

При старте сессии или при изменении конфигурации skills AgentCore разворачивает их в файловую систему microVM.

Окружение и файловые системы

По умолчанию harness запускается в базовом окружении с Python и bash. Если этого мало, вы можете:

  • Собрать свой контейнер с кодом, зависимостями, CLI‑утилитами.
  • Залить его в Amazon ECR.
  • Указать образ в CreateHarness.

Для дополнительной инициализации на каждый вызов есть InvokeAgentRuntimeCommand: он запускает shell‑команду внутри сессии (например, git clone нужной ветки, подготовка тестовых данных). Это не расходует токены LLM.

Файлы можно хранить тремя способами:

  • Managed session storage — живёт в рамках runtimeSessionId, не требует VPC.
  • EFS access point — общий том для нескольких harness’ов и сессий, нужен VPC.
  • S3 Files access point — файловый доступ с автоматической синхронизацией в S3, тоже через VPC.

Наблюдаемость и отладка

Каждый вызов InvokeHarness порождает трейс, в котором фиксируются:

  • шаги reasoning‑цикла модели;
  • вызовы инструментов (Gateway, MCP, browser, code interpreter);
  • обращения к памяти;
  • операции с файловой системой.

В консоли AgentCore для каждого harness’а есть виджет с агрегированным состоянием и отдельными секциями по каждому primitive (Runtime, Memory, Gateway и т.д.).

В CloudWatch GenAI Observability добавлена вкладка Harnesses. Из неё можно перейти к конкретной сессии, посмотреть полный трейс, времена шагов и логи всех примитивов прямо в нужных спанах.

Оценка и оптимизация

AgentCore Evaluations и Optimization строят цикл улучшения агента:

  1. Запускаете harness на реальном или синтетическом трафике.
  2. Evaluations оценивают ответы по заданным метрикам.
  3. Optimization предлагает изменения промптов и описаний инструментов.
  4. Через AgentCore Gateway настраиваете A/B‑тест двух конфигураций.
  5. Смотрите статистическую значимость и продвигаете победителя.

Варианты могут отличаться промптом, конфигурацией инструментов или даже целевым endpoint’ом.

Версионирование и откат

Каждый UpdateHarness создаёт новую версию. Endpoint’ы привязываются к версиям через CLI:

# Создать PROD, закреплённый за V2
aws bedrock-agentcore-control create-harness-endpoint \
  --harness-id my-harness-xxx \
  --endpoint-name PROD \
  --harness-version 2

# Перевести PROD на V5 (или откатить на V4)
aws bedrock-agentcore-control update-harness-endpoint \
  --harness-id my-harness-xxx \
  --endpoint-name PROD \
  --harness-version 5

DEFAULT‑endpoint автоматически указывает на последнюю версию. Именованные (PROD, STAGING) остаются закреплёнными, пока вы явно не смените версию.

Экспорт в код

Когда конфигурации становится мало, harness можно «выписать» в код на Strands:

agentcore export harness \
  --name myHarness-6dk4df \
  --output ./my-agent

Получается проект, который повторяет текущую конфигурацию агента: модели, промпты, инструменты, память, навыки, контейнер. Его можно дорабатывать и запускать на AgentCore Runtime или в собственной инфраструктуре.


Что это значит для вас

Для кого это полезно

  1. Команды, которые хотят быстро вывести агента в продакшн

Если вы уже пробовали собрать агента на ноутбуке и упёрлись в оркестрацию, Harness решает именно эту зону боли:

  • не нужно писать свой agent loop;
  • не нужно вручную поднимать sandbox для кода и браузера;
  • не нужно самому собирать связку «модель + инструменты + память + observability».

Вы описываете конфигурацию и получаете продакшн‑агента с:

  • изолированным окружением;
  • хранением состояния и файлов;
  • логами и трейсами в CloudWatch;
  • версионированием и откатом.
  1. Разработчики, которые хотят играть моделями и провайдерами

Если вы тестируете разные модели — Claude Opus, GPT‑5.5, Gemini, Llama, DeepSeek — Harness позволяет менять их без переписывания кода. Контекст диалога при этом сохраняется.

Это удобно для:

  • A/B‑тестов по цене и качеству;
  • обхода регрессий моделей (если одна версия начала отвечать хуже);
  • маршрутизации задач: одна модель планирует, другая пишет код, третья сжимает отчёты.
  1. Команды, глубоко сидящие в AWS

Если у вас инфраструктура на AWS, AgentCore Harness хорошо стыкуется с:

  • S3, EFS, IAM, CloudWatch;
  • AWS Step Functions;
  • Bedrock моделями;
  • готовыми AWS skills (SDK, IaC, мониторинг, аналитика и т.д.).

Для внутренних агентов по данным, DevOps‑ассистентов, помощников по безопасности это даёт быстрый старт без написания собственных «прослоек» к сервисам.

  1. Команды, которым важен контроль и аудит

Управляемая память — это реальный AWS‑ресурс. Его можно:

  • аудитировать;
  • подключать к другим агентам;
  • прогонять через аналитический пайплайн;
  • удалять по своим политикам.

Трассы в CloudWatch GenAI Observability дают детальный разбор: какие инструменты вызывались, какие данные уходили наружу, где агент ошибся.

Где Harness сильнее всего

  • Продакшн‑ассистенты для разработчиков и аналитиков: агенты, которые пишут код, SQL, IaC, крутятся вокруг AWS‑сервисов, собирают отчёты и работают с файлами.
  • Внутренние агенты по данным: доступ к S3, Lakehouse, аналитике, с кастомными навыками из Git и S3 и строгой IAM‑политикой.
  • Процессные агенты: filing задач в JIRA, подготовка отчётов, запуск пайплайнов через Step Functions.

Где использовать осторожно или не использовать

  • Если вы не в экосистеме AWS. Harness завязан на Bedrock, CloudWatch, Step Functions, S3/EFS и IAM. Можно подключать внешних провайдеров (OpenAI, Gemini, LiteLLM), но инфраструктурно всё равно придётся жить в AWS.
  • Если нужен on‑prem без облака. Harness — облачный сервис AWS. Для полностью локальных сценариев придётся либо использовать экспорт в код и строить свой runtime, либо смотреть на другие решения.
  • Если у вас один простой use case. Для однократного скрипта с LLM и парой API‑вызовов Harness может быть избыточен. Проще собрать минимальный агент без всей продакшн‑обвязки.

Доступность из России

Amazon Bedrock и связанные сервисы официально работают в регионах AWS. Для доступа из России могут потребоваться VPN и аккаунт AWS, который проходит проверку и платежи в юрисдикциях, где AWS доступен. Это важный организационный барьер: технология не рассчитана на использование без выхода в публичное облако AWS.


Место на рынке

AgentCore Harness конкурирует не с моделями, а с фреймворками и платформами оркестрации агентов.

По сравнению с open‑source фреймворками (LangChain, LlamaIndex, Semantic Kernel)

Плюсы Harness:

  • Управляемая инфраструктура: microVM, sandbox для кода и браузера, память, файловые системы, observability — всё из коробки.
  • Глубокая интеграция с AWS (IAM, S3, EFS, CloudWatch, Step Functions).
  • Переключение моделей и провайдеров без переписывания кода агента.
  • Версионирование и endpoints как у продакшн‑сервисов.

Минусы:

  • Жёсткая привязка к AWS. Если ваша инфраструктура в другом облаке или on‑prem, open‑source фреймворки будут проще.
  • Меньше свободы на низком уровне: за вас уже выбрали модель оркестрации (agent loop + primitives). Для совсем нестандартных сценариев придётся экспортировать в код.

По сравнению с специализированными agent‑платформами (например, Q‑подобные ассистенты, готовые SaaS‑агенты)

Плюсы Harness:

  • Гораздо больше контроля: вы сами собираете агента под свою задачу, а не настраиваете готового ассистента.
  • Поддержка разных провайдеров LLM, а не только одного.
  • Skills и инструменты можно собирать из Git/S3 и своих сервисов через Gateway.

Минусы:

  • Порог входа выше, чем у «готового ассистента в пару кликов» — придётся разбираться с AWS‑CLI, IAM и базовой конфигурацией.
  • Нет готового UX для конечного пользователя: Harness решает бэкенд‑часть, фронтенд вы строите сами.

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

В анонсе нет конкретных цифр по скорости относительно других платформ, стоимости токена или накладных расходов на оркестрацию. Можно ожидать, что итоговая цена зависит от:

  • выбранных моделей (Bedrock, прямой OpenAI, Gemini, LiteLLM‑провайдеры);
  • интенсивности вызовов инструментов (browser, code interpreter, Gateway);
  • использования S3/EFS, CloudWatch, Step Functions.

Без этих цифр корректнее воспринимать Harness как способ снизить инженерные трудозатраты, а не как инструмент экономии на токенах или миллисекундах.


Установка / Как запустить

Ниже — фрагменты команд и конфигураций из анонса, которые помогут быстро завести агента.

Включить AWS‑навыки

Подключить полный набор AWS skills:

aws bedrock-agentcore-control create-harness \
  --harness-name myAgent \
  --skills '[{"awsSkills": {}}]'

Ограничить конкретными бандлами:

aws bedrock-agentcore-control create-harness \
  --harness-name myAgent \
  --skills '[{"awsSkills": {"paths": ["core-skills/*", "specialized-skills/operations-skills/*"]}}]'

Пример конфигурации инструментов

"tools": [
  { "type": "agentcore_browser" },
  { "type": "agentcore_code_interpreter" },
  {
    "type": "remote_mcp",
    "name": "X_tool",
    "config": {
      "remoteMcp": {
        "url": "https://mcp.X_tool/mcp"
      }
    }
  },
  {
    "type": "agentcore_gateway",
    "name": "Y_tool",
    "config": {
      "agentCoreGateway": {
        "arn": "arn:aws:bedrock-agentcore:..."
      }
    }
  }
]

Настройка памяти

Управляемая память по умолчанию:

"memory": {
  "managedMemoryConfiguration": {
    "strategies": ["SEMANTIC", "SUMMARIZATION"],
    "eventExpiryDuration": 30
  }
}

Подключение собственного Memory‑ресурса:

"memory": {
  "agentCoreMemoryConfiguration": {
    "arn": "arn:aws:bedrock-agentcore:..."
  }
}

Статeless‑агент:

"memory": {
  "disabled": {}
}

Версионирование и endpoints

Создать endpoint PROD, закреплённый за версией 2:

aws bedrock-agentcore-control create-harness-endpoint \
  --harness-id my-harness-xxx \
  --endpoint-name PROD \
  --harness-version 2

Продвинуть версию 5 в PROD (или откатиться на 4):

aws bedrock-agentcore-control update-harness-endpoint \
  --harness-id my-harness-xxx \
  --endpoint-name PROD \
  --harness-version 5

Экспорт harness’а в код

agentcore export harness \
  --name myHarness-6dk4df \
  --output ./my-agent

Примеры сценариев

Исследовательский и писательский агент

Минимальная конфигурация для агента, который:

  • ищет информацию в вебе;
  • открывает страницы в браузере;
  • пишет отчёты и презентации (xlsx, pptx);
  • помнит предыдущие диалоги.

Нужно:

  • tools: agentcore_browser + цель Web Search, опубликованная через AgentCore Gateway;
  • skills: Git‑репозиторий anthropics/skills с документными навыками.

Память включена по умолчанию, отдельной настройки не требуется.

Агент по данным и аналитике в AWS

Сценарий, который часто собирают вручную:

  • агент понимает структуру ваших хранилищ (S3, базы, Lakehouse);
  • знает, как писать запросы и отчёты по вашим стандартам;
  • использует AWS skills для корректной работы с IAM, CloudWatch, Bedrock;
  • пишет результаты в S3 через файловые операции.

Здесь полезны:

  • awsSkills с нужными бандлами;
  • файловая система на S3 Files access point;
  • инструменты через AgentCore Gateway для доступа к вашим API и аналитическим сервисам;
  • управляемая или своя память для долгих сессий.

AgentCore Harness закрывает тяжёлую часть — оркестрацию и инфраструктуру. Если вы уже живёте в AWS и планируете серьёзных LLM‑агентов, это один из самых прямых путей от прототипа на ноутбуке к продакшн‑сервису с трейсами, версионированием и контролем поверх всей цепочки.


Читайте также