Как построить высокопроизводительную систему генеративного ИИ с Strands Agents, NVIDIA NIM и Amazon Bedrock AgentCore — ИИ для бизнеса

Как построить высокопроизводительную систему генеративного ИИ с 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 работают вместе, обеспечивая инференс, оркестрацию, память и наблюдаемость в вашем развертывании.

architecture diagram describing the multi agent strands and agentcore deployment

Предварительные требования

Перед развертыванием решения необходимо подготовить среду разработки и установить следующие инструменты.

Зависимости

Реализация 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 оркестрации в правой панели, как показано ниже:

campaign upload user interface with a left panel to upload a campaign brief and the right panel to view the agent generated review

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

agentcore observability dashboard describing the spans, traces and sessions for the agent invocations

Очистка

Чтобы избежать повторяющихся расходов, очистите аккаунт AWS после того, как опробуете решение.

  1. Удалите стек AWS CloudFormation:

sam delete --stack-name unified-campaign-review
  1. Удалите таблицу 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-системы, которые обеспечивают критически важные бизнес-результаты в сложных реальных сценариях.


Материал — перевод статьи с английского.

Оригинал: Build high-performance generative AI systems with Strands Agents, NVIDIA NIM, and Amazon Bedrock AgentCore