Технологии

«Изменений в логике агента не потребовалось»: AWS перенесла мультимодельного медицинского агента на AgentCore runtime

Тот же файл healthcare_agentcore.py обслуживается управляемым рантаймом AgentCore: тройная оркестрация моделей — Llama 3.1 70B Instruct в Amazon Bedrock, BioM-ELECTRA-Large-SQuAD2 в Amazon SageMaker AI и контейнерный сервер BioM-ELECTRA — и векторный поиск в Amazon OpenSearch Service сохранены, а контейнеры, масштабирование, identity и observability ушли в управляемый слой.

«Изменений в логике агента не потребовалось»: AWS перенесла мультимодельного медицинского агента на AgentCore runtime

AWS показала, как мультимодельный медицинский агент переезжает с самостоятельно управляемой инфраструктуры Amazon ECS с AWS Fargate на Amazon Bedrock AgentCore runtime, сохраняя тройную оркестрацию моделей и retrieval с векторным усилением. В предыдущем посте AWS показывала, как такого агента собирают на самостоятельно управляемой инфраструктуре.

Три модели под одним контейнером

Специализированные биомедицинские запросы уходят на доменную модель BioM-ELECTRA-Large-SQuAD2 в Amazon SageMaker AI, а более широкие медицинские рассуждения — на базовую модель Llama 3.1 70B Instruct от Meta в Amazon Bedrock. В предыдущем посте в качестве базовой модели использовалась Claude 3.5 Sonnet V2 от Anthropic, а в новом разборе AWS берёт Llama 3.1 70B и подчёркивает, что выбор модели — деталь реализации, а рантайм модельно-агностичен.

В схеме три модельных backend'а: SageMaker AI с BioM-ELECTRA для управляемых endpoint'ов с автомасштабированием, Amazon Bedrock для serverless-доступа к базовым моделям и отдельный контейнерный сервер моделей с BioM-ELECTRA для самостоятельного размещения — его можно развернуть в Amazon ECS, Amazon EKS или другой контейнерной среде. Все три backend'а реализуют совместимость с Hugging Face Messages API, поэтому формат запросов и ответов остаётся одинаковым независимо от выбранного сервиса моделей. Векторный поиск по медицинской базе знаний выполняет Amazon OpenSearch Service, доступ между сервисами раздаётся через AWS IAM.

В официальном репозитории AWS зафиксирована фактическая готовность компонентов: Bedrock с Llama 3.1 70B полностью подключён для основного рассуждения, OpenSearch настроен с демонстрационной базой лекарств, endpoint SageMaker AI развёрнут с моделью Bio-ELECTRA, а контейнерный сервер моделей не развёрнут — для демонстраций используется локальная fallback-логика на встроенной медицинской базе, то есть контейнерная функциональность работает только частично.

Что осталось неизменным

AWS формулирует итог прямо: миграция не потребовала изменений в основной логике агента. Тот же файл healthcare_agentcore.py оркеструет работу Amazon Bedrock, Amazon SageMaker AI и контейнерного сервера моделей и запускается в рантайме AgentCore с добавлением декоратора — BedrockAgentCoreApp, @app.entrypoint и app.run(). Код между декоратором и return-инструкцией остаётся таким же, как в standalone-версии.

Совместимость с любым агентным фреймворком обеспечивает подход bring-your-own: существующий код агента можно развернуть без переписывания или адаптации под конкретный фреймворк. В примере используется открытая библиотека Hugging Face smolagents, и при добавлении агента флаг --framework задаёт только шаблон CLI — сам код остаётся на smolagents.

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

Архитектурно решение состоит из управляемого рантайма AgentCore, который берёт на себя развёртывание контейнера агента, масштабирование, identity и observability, плюс модельных сервисов и векторного хранилища. Клиентский веб-интерфейс обращается к рантайму, который держит контейнер агента: код в healthcare_agentcore.py ходит в Amazon Bedrock, Amazon SageMaker AI и контейнерный backend, а поиск по базе знаний выполняет через векторный индекс Amazon OpenSearch Service.

Вызов можно делать из командной строки через AgentCore CLI, передавая в payload промпт и выбранную модель — например, вопрос о побочных эффектах метформина с выбором модели llama. Программный путь через boto3 обращается к тому же развёрнутому агенту, только напрямую через SDK.

Как это разворачивается

Подготовка требует AWS CLI версии 2.0 или новее, Node.js 20 или новее для CLI развёртывания, AWS CDK, AgentCore CLI, Python 3.10+, запущенного Docker, Python SDK bedrock-agentcore, transformers 4.55.0+ и boto3, а также прав на рантайм AgentCore, роли IAM и домены Amazon OpenSearch Service в выбранном регионе.

Проект создаётся через AgentCore CLI, существующий агент добавляется как BYO-агент, затем задаются pyproject.toml с зависимостями, Dockerfile и.dockerignore, который удерживает размер образа в пределах 2 ГБ. Развёртывание выполняется одной командой: CLI собирает контейнер, отправляет его в Amazon Elastic Container Registry и создаёт агента в рантайме AgentCore, а по оценке AWS это занимает примерно 10–15 минут. После этого агента вызывают через CLI или напрямую по boto3, передавая agentRuntimeArn, contentType и payload с промптом и выбором модели.

Оговорки AWS

AWS называет решение демонстрационным: production-развёртывания, обрабатывающие медицинские или иные чувствительные запросы, используют Amazon Bedrock Guardrails для фильтрации контента и проверки обоснованности ответов как стандартный контроль. В репозитории перечислены ограничения: пример не заменяет профессиональную медицинскую консультацию, а сам агент, ноутбуки и демонстрационные данные не предназначены для production-использования.

Первоисточники

  1. AWS Machine Learning Blog — «Migrating multi-model AI agents to Amazon Bedrock AgentCore runtime» (18 сентября 2026)
  2. aws-samples/sample-healthcare-agent-with-agentcore-on-aws — референс-реализация миграции