Центр TReNDS (Center for Translational Research in Neuroimaging and Data Science), совместный проект Университета Джорджии, Технологического института Джорджии и Университета Эмори, внедрил систему автоматического анализа первопричин инцидентов на базе Amazon Bedrock. Об этом рассказывается в гостевом посте на AWS Machine Learning Blog, автором которого выступил Виталий Омельченко из TReNDS.

TReNDS занимается исследованиями в области нейровизуализации и обработки данных о мозге. Инфраструктура центра работает на AWS с 2019 года: приложения развернуты в Amazon EKS, логи собираются в CloudWatch через FluentBit. С ростом числа сервисов рос и объем ошибок, которые инженерам приходилось разбирать вручную. На типичную ошибку уходило 15–30 минут: нужно было открыть CloudWatch Logs, изучить стек вызовов, найти соответствующие файлы в коде и мысленно восстановить путь выполнения. Для сложных инцидентов, затрагивающих несколько сервисов, требовалось значительно больше времени.

ModelBest ForTool UseLatencyRelative Cost
Anthropic Claude SonnetComplex multi-file reasoning, subtle code issuesReliableFastMedium
Anthropic Claude HaikuStraightforward errors, high-volume triageGoodFastestLow
Anthropic Claude OpusDeep cross-service investigationsReliableModerateHigh
Amazon Nova ProGeneral-purpose analysis, cost-effectiveGoodFastLow
Amazon Nova LiteSimple error classification, budget workloadsGoodFastestLowest

Разработчики TReNDS решили автоматизировать этот процесс с помощью Amazon Bedrock и Strands Agents SDK. Архитектура выглядит так: приложения на EKS отправляют логи в CloudWatch, а подписка CloudWatch отслеживает ошибки по паттернам ERROR, Exception, FATAL, CRITICAL. При обнаружении ошибки вызывается Lambda-функция, которая запускает агента Strands Agents SDK на базе Amazon Bedrock. Агент получает контекст ошибки, извлекает соответствующие фрагменты логов и исходный код из GitHub, а затем формирует структурированный анализ первопричины. Результат публикуется в Amazon SNS и доставляется команде.

Система включает CloudWatch, Lambda и Strands Agents SDK, что позволяет ИИ исследовать код и логи.

Amazon EKS logs flow through a CloudWatch subscription filter to an AWS Lambda Strands Agent on Amazon Bedrock, then to Amazon SNS
Amazon EKS logs flow through a CloudWatch subscription filter to an AWS Lambda Strands Agent on Amazon Bedrock, then to Amazon SNS · Источник: AWS Machine Learning Blog

Ключевая особенность подхода — модель не просто суммирует текст ошибки, а самостоятельно исследует ее: получает окружение логов, читает исходный код и решает, какие инструменты вызвать. Это стало возможным благодаря Strands Agents SDK, который обеспечивает оркестрацию вызовов инструментов. Модель сама определяет, когда ей нужно больше контекста или поискать связанную обработку ошибок, без жестко заданного сценария.

Для TReNDS важно, что Amazon Bedrock обрабатывает запросы AWS-аккаунта, поэтому логи и исходный код не покидают управляемой среды. Это критично, поскольку центр работает с медицинскими данными, которые могут подпадать под HIPAA. Решение не требует отправки данных на внешние endpoints, что упрощает соблюдение требований.

Хотя в примере используется EKS и FluentBit, паттерн применим и к другим приложениям, отправляющим логи в CloudWatch: ECS, Lambda, EC2 или on-premises через CloudWatch Agent. Для внедрения потребуется AWS-аккаунт с доступом к Amazon Bedrock (Anthropic Claude Sonnet), кластер EKS, GitHub-репозиторий с кодом, а также настроенные Lambda и SNS.