В американских клиниках доля пропущенных записей (no-show) достигает 5–30% в зависимости от специальности. Каждый такой слот означает потерю дохода, простой врача и задержку в лечении. Традиционное решение — ручные обзвоны — не масштабируется. AWS предложила готовый образец голосового агента, который автоматизирует напоминания о приёме, подтверждение, перенос и сбор предварительной информации о здоровье. Решение построено на Amazon Nova 2 Sonic и Amazon Bedrock AgentCore и доступно для развёртывания через блог AWS Machine Learning Blog.

Amazon Nova 2 Sonic — это модель «речь-в-речь» (speech-to-speech), которая обрабатывает аудиопоток целиком, не разбивая его на транскрипцию, генерацию текста и синтез речи. Благодаря этому агент сохраняет тональные нюансы: hesitations, темп, интонацию — что критично в медицинском контексте, где тревога или непонимание пациента должны менять поведение агента. В отличие от цепочек из отдельных сервисов (ASR → LLM → TTS), Nova 2 Sonic работает с единой моделью, снижая задержки и потерю контекста. Модель также поддерживает фоновый шум, акценты и переключение языков на лету.

ToolWhat it doesHow it works
authenticate_patientVerifies identity using first name, last name, and last four digits of SSN.Queries the DynamoDB Patients table through a Global Secondary Index (GSI). Enforces a three-attempt limit per name combination. On success, returns patient details and upcoming appointments.
confirm_appointmentConfirms an existing appointment.Updates appointment status from Scheduled or Rescheduled to Confirmed in DynamoDB. Includes idempotent checks to prevent double-confirmation.
cancel_appointmentCancels an appointment with an optional reason.Updates status to Canceled with a timestamped note. Only operates on Scheduled, Confirmed, or Rescheduled appointments.
find_available_slotsQueries open time slots for rescheduling.Looks up the provider from the appointment record and queries the AvailableSlots table through the ProviderDateIndex GSI. Returns up to three options to keep the voice conversation concise.
book_appointment_slotBooks a selected time slot.Uses DynamoDB conditional writes to atomically mark the slot as taken, preventing double-booking under concurrent requests. Updates the appointment with the new date and time.
record_health_updateCaptures pre-visit health information.Appends timestamped notes to the appointment record. Collects four items (medical conditions, allergies, accompaniment, specific concerns); each asked one at a time.
escalate_to_agentFlags the call for human callback.Generates a six-digit reference number, updates the appointment status to Escalated, and publishes an Amazon SNS message with patient information and the escalation reason.

Архитектура решения включает React-фронтенд, который передаёт аудио через WebSocket, аутентификацию через Amazon Cognito и серверный слой на Bedrock AgentCore. AgentCore обеспечивает бессерверный запуск агента с IAM-аутентификацией. Для работы с инструментами используется Strands Agents SDK. В образце реализовано семь инструментов — от проверки личности по голосу до записи на слот и эскалации к живому оператору через Amazon SNS. Данные хранятся в Amazon DynamoDB. Для подключения к телефонным линиям необходимо интегрировать Amazon Connect или аналогичный сервис.

Amazon Nova 2 Sonic обрабатывает речь целиком, сохраняя тон и интонацию пациента.

Architecture diagram showing the React frontend communicating over a WebSocket with Amazon Bedrock AgentCore Runtime, which hosts the Strands BidiAgent powered by Nova 2 Sonic; the agent reads from and writes to three DynamoDB tables and pu
Architecture diagram showing the React frontend communicating over a WebSocket with Amazon Bedrock AgentCore Runtime, which hosts the Strands BidiAgent powered by Nova 2 Sonic; the agent reads from and writes to three DynamoDB tables and pu · Источник: AWS Machine Learning Blog

Публикация такого образца показывает, что AWS продвигает специализированные ИИ-агенты для вертикальных сценариев. Подход, при котором модель сразу работает со звуком, а не с текстом, может стать стандартом для голосовых ассистентов в чувствительных отраслях. Разработчики могут использовать этот код как основу для собственных решений — в ритейле, логистике или клиентской поддержке.