Как построить высокопроизводительную систему генеративного ИИ с Strands Agents, NVIDIA NIM и Amazon Bedrock AgentCore
Создание высокопроизводительных агентов генеративного ИИ требует архитектуры, способной обеспечивать быструю инференс-обработку, координировать несколько агентов и надежно работать под производственной нагрузкой. Если вы строите агенты генеративного ИИ для автоматизации проверок, виртуальных помощников и сложных рабочих процессов принятия решений, им нужно работать быстро и стабильно. Они должны сокращать ручной труд, отвечать почти в реальном времени и масштабироваться до тысяч взаимодействий без дополнительного управления инфраструктурой. В этом материале вы узнаете, как построить такие высокопроизводительные агенты на AWS, объединив GPU-ускоренный инференс, serverless-оркестрацию, общую память и встроенную наблюдаемость. Эти возможности особенно важны при переходе от экспериментальных прототипов к системам, которые приносят устойчивую бизнес-ценность.
По мере роста нагрузок на агентов в production-среде задержка инференса может значительно увеличиваться при одновременных запросах, что приводит к более медленным ответам и ухудшению пользовательского опыта. Статeless-среды выполнения часто приводят к тому, что агенты теряют контекст разговора или задачи между взаимодействиями. Это вызывает повторную работу или непоследовательные ответы. Ограниченная видимость выполнения агентов затрудняет диагностику сбоев, понимание путей рассуждения и контроль операционных затрат. Эти проблемы становятся особенно заметными в multi-agent системах, где несколько агентов должны работать параллельно, делить контекст и агрегировать результаты.
Вы построите multi-agent систему проверки кампаний, которая демонстрирует параллельное рассуждение, сохранение контекста и отслеживаемые пути выполнения с помощью интегрированной архитектуры, объединяющей NVIDIA NIM для GPU-ускоренного инференса. Amazon Bedrock AgentCore предоставляет управляемую среду выполнения, общую память и встроенную наблюдаемость, а Strands Agents обеспечивает serverless-оркестрацию multi-agent процессов. Такой подход дает производительность, масштабируемость и операционную прозрачность в production-среде. Хотя пример сфокусирован на проверке маркетингового контента, тот же паттерн подходит для цифровых помощников, автоматизации ревью и retrieval-augmented generation pipeline.
Чтобы сделать эти идеи практическими, в следующих разделах показана эталонная архитектура и реализация, демонстрирующие, как эти компоненты работают вместе.
Обзор решения
Вы построите систему из трех специализированных агентов, работающих параллельно. Агент-проверяющий персоны оценивает контент кампании с точки зрения разных аудиторий и формирует оценки резонанса. Агент-валидатор проверяет контент на соответствие юридическим и бренд-гайдлайнам. Агент-финализатор агрегирует результаты и формирует консолидированный набор рекомендаций. Документы отправляются через frontend на React, который асинхронно опрашивает систему на наличие результатов и отображает обратную связь от агентов по мере ее появления.
Наше решение использует размещенные API NVIDIA NIM, доступные через build.nvidia.com, чтобы обеспечить высокопроизводительный GPU-ускоренный инференс как полностью управляемый сервис. Эти endpoint-ы запускают оптимизированные большие языковые модели на управляемых NVIDIA GPU-бэкендах. В этих бэкендах используются такие технологии, как Compute Unified Device Architecture (CUDA) и TensorRT-LLM, чтобы обеспечивать ответы с низкой задержкой и высокой пропускной способностью для agent workflows. Предоставляя совместимые с OpenAI API Chat Completion, NIM интегрируется с уровнем multi-agent оркестрации на базе Strands без необходимости в адаптациях под конкретную модель.
Оркестрацию агентов вы реализуете с помощью Strands Agents — фреймворка AWS для координации tool-based reasoning workflows. С помощью Strands можно явно моделировать взаимодействия агентов, что упрощает управление параллельным выполнением, потоком управления и агрегацией результатов между несколькими агентами. Затем вы упаковываете оркестратор Strands и специализированных агентов в Docker-контейнер и разворачиваете их в Amazon Bedrock AgentCore Runtime. AgentCore Runtime предоставляет управляемую среду выполнения с checkpointing и возможностями восстановления. Эти функции помогают агентам корректно восстанавливаться после прерываний и масштабироваться до тысяч одновременных вызовов без ручного управления инфраструктурой.
Для детальной визуализации каждого шага в workflow агента вы используете Amazon Bedrock AgentCore Observability, что позволяет разработчикам изучать пути выполнения, проверять промежуточные результаты и отлаживать узкие места производительности. Операционные метрики, такие как задержка, потребление токенов и частота ошибок, можно отслеживать через Amazon CloudWatch. Такая прозрачность помогает лучше понимать поведение агентов и выявлять узкие места производительности в production.
Вы также используете Amazon Bedrock AgentCore Memory для общего контекста между вызовами агентов и поддержки многошаговых разговоров. Эту реализацию можно расширить до интерфейса AI-помощника на естественном языке, поскольку AgentCore Memory изначально поддерживает хранение состояния диалога и истории.
Одна из ключевых особенностей решения — простота развертывания в Bedrock AgentCore Runtime с помощью шаблона AWS Serverless Application Model (AWS SAM). Вы вызываете интерфейс Amazon API Gateway, созданный шаблоном, который затем упаковывает и разворачивает ваши агенты Strands и все их зависимости, одновременно включая AgentCore Observability и AgentCore Memory.
На следующей архитектурной схеме показано, как NVIDIA NIM, Strands Agents и Amazon Bedrock AgentCore работают вместе, обеспечивая инференс, оркестрацию, память и наблюдаемость в вашем развертывании.

Предварительные требования
Перед развертыванием решения необходимо подготовить среду разработки и установить следующие инструменты.
Зависимости
Реализация Strands Agents также требует следующих зависимостей, которые упакованы в DockerFile:
- многоагентный фреймворк AWS Strands: strands-agents
- инструменты и утилиты для Strands agents: strands-agents-tools
- HTTP-библиотека для API-вызовов: requests
- функциональность Amazon Bedrock agent core: bedrock-agentcore
- AWS SDK for Python: boto3
Развертывание решения
Теперь, когда вы понимаете архитектуру, следующие шаги проведут вас через развертывание решения в вашей среде AWS. Обратите внимание, что использование NVIDIA NIM требует принятия NVIDIA AI Enterprise EULA (доступно во время подписки в AWS Marketplace или регистрации в NGC).
Наше решение доступно для загрузки в GitHub repo. Используйте следующие пошаговые указания, также подробно описанные в разделе Deployment в GitHub repo, чтобы развернуть и открыть решение в вашей среде AWS:
Шаг 1: Клонируйте репозиторий
git clone <respository url>
cd aws-genai-campaign-review-strands-agentcore
Шаг 2: Настройте учетные данные AWS
Настройте AWS CLI:
aws configure
Проверьте учетные данные:
aws sts get-caller-identity
Шаг 3: Настройте таблицу персоны в Amazon DynamoDB
Сделайте скрипт исполняемым:
chmod +x scripts/setup_persona_table.sh
Запустите скрипт настройки:
./scripts/setup_persona_table.sh
Шаг 4: Соберите приложение AWS SAM
sam build
Шаг 5: Разверните инфраструктуру
Выполните guided deployment и следуйте подсказкам, чтобы указать имя стека, имя агента, регион AWS и принять значения по умолчанию для остальных параметров.
sam deploy --guided
Шаг 6: Получите результаты развертывания
Получите endpoint-ы API:
aws cloudformation describe-stacks --stack-name <Your stack name> --query 'Stacks[0].Outputs' --output table
Сохраните следующие значения:
- ApiEndpoint – HTTP API URL
- CampaignOrchestratorApi – Agent API URL
- CloudFrontURL – URL frontend
- FrontendBucket – S3 bucket для frontend
Шаг 7: Разверните агента в AgentCore Runtime
Это развертывает вашего агента Strands в Bedrock AgentCore и записывает Agent ARN в Systems Manager:
curl -X POST <DeployAgentApiEndpoint> -H "Content-Type: application/json" -d '{"action":"deploy","agent_name":"<your agent name>"}'
Это занимает примерно 5 минут. API Gateway завершает ожидание через 29 секунд, но функция AWS Lambda продолжает выполняться.
Отслеживайте прогресс:
aws logs tail /aws/lambda/deploy-agentcore --region <your AWS region> –follow
Дождитесь сообщения: Agent Core Runtime is READY! and Wrote Agent ARN to SSM.
Проверьте:
aws ssm get-parameter --name /agentcore/<your agent name>/agent-arn --region <your AWS region>
Шаг 8: Настройте environment frontend
PI_URL=$(aws cloudformation describe-stacks --stack-name <your stack name> --query 'Stacks[0].Outputs[?OutputKey==`ApiEndpoint`].OutputValue' --output text)
AGENT_API_URL=$(aws cloudformation describe-stacks --stack-name <your stack name> -review --query 'Stacks[0].Outputs[?OutputKey==`CampaignOrchestratorApi`].OutputValue' --output text)
Создайте файл .env
cat > .env << EOF
VITE_API_URL=$API_URL
VITE_AGENT_API_URL=$AGENT_API_URL
VITE_AWS_REGION= <your AWS region>
EOF
Шаг 9: Соберите и разверните frontend
Установите зависимости:
npm install
Соберите frontend:
npm run build
Получите имя bucket для frontend:
FRONTEND_BUCKET= $(aws cloudformation describe-stacks --stack-name unified-campaign-review --query 'Stacks[0].Outputs[?OutputKey==`FrontendBucket`].OutputValue' --output text)
Разверните в S3:
aws s3 sync dist/ s3://$FRONTEND_BUCKET --delete
При необходимости обновлений очистите кэш CloudFront:
DISTRIBUTION_ID=$(aws cloudfront list-distributions --query "DistributionList.Items[?Origins.Items[0].DomainName=='${FRONTEND_BUCKET}.s3.us-west-2.amazonaws.com'].Id" --output text)
aws cloudfront create-invalidation --distribution-id $DISTRIBUTION_ID --paths "/*"
Шаг 10: Откройте приложение
Получите CloudFront URL:
aws cloudformation describe-stacks --stack-name unified-campaign-review --query 'Stacks[0].Outputs[?OutputKey==`CloudFrontURL`].OutputValue' --output text
Откройте URL в браузере, чтобы получить доступ к приложению. Используйте файл campaign_brief.md в качестве примера документа кампании и загрузите его в левую панель. После этого вы сможете просмотреть результат проверки кампании от multi-agent оркестрации в правой панели, как показано ниже:

Перейдите в Bedrock AgentCore Observability console и выберите своего агента, чтобы увидеть подробную визуализацию каждого шага workflow, как показано ниже:

Очистка
Чтобы избежать повторяющихся расходов, очистите аккаунт AWS после того, как опробуете решение.
- Удалите стек AWS CloudFormation:
sam delete --stack-name unified-campaign-review
- Удалите таблицу DynamoDB:
aws dynamodb delete-table --table-name PersonaTable --region us-west-2
Заключение
В этом материале вы узнали, как построить production-ready систему агентов генеративного ИИ, объединив NVIDIA NIM для GPU-ускоренного инференса с Amazon Bedrock AgentCore и Strands Agents на AWS для serverless-оркестрации. Разделяя инференс и координацию агентов, эта архитектура обеспечивает независимое масштабирование, общий контекст между взаимодействиями агентов и детальную видимость выполнения и производительности.
Подход, описанный в статье, дает практическую основу для multi-agent систем, которым нужны параллельное рассуждение, сохранение контекста и операционная прозрачность. Независимо от того, строите ли вы автоматизацию ревью, цифровых помощников или другие agent-driven приложения, показанный паттерн помогает перейти от экспериментальных прототипов к системам, которые можно надежно развертывать, наблюдать и масштабировать на AWS.
Kanishk Mahajan — Principal – AI/ML в AWS Professional Services. В этой роли он руководит GenAI- и agentic-трансформациями для некоторых крупнейших клиентов AWS в Telco и Media & Entertaintment.
Akshay Parkhi — Machine Learning Engineer в Amazon Web Services с более чем 16-летним опытом руководства enterprise-трансформацией в области SAP, cloud, DevOps и AI/ML. Он проектирует и масштабирует production-grade AI и agentic-системы, которые обеспечивают критически важные бизнес-результаты в сложных реальных сценариях.
Материал — перевод статьи с английского.