# Учебное пособие по Amazon Bedrock AgentCore

Данное учебное пособие представляет собой всеобъемлющее руководство по архитектуре, функциональности и безопасности Amazon Bedrock AgentCore — полностью управляемого сервиса для создания интеллектуальных, контекстно-зависимых ИИ-агентов.

---

## 1. Основные концепции и архитектура

### Amazon Bedrock AgentCore
Это сервис, который позволяет ИИ-агентам запоминать прошлые взаимодействия, обеспечивая персонализированный и последовательный пользовательский опыт. Он решает проблему «бесчувственности» (statelessness) стандартных LLM, позволяя агентам накапливать знания о пользователях с течением времени.

### Типы памяти
В системе выделяются два ключевых типа памяти, которые работают совместно:

| Тип памяти | Описание | Пример использования |
| :--- | :--- | :--- |
| **Краткосрочная (Short-term)** | Захватывает взаимодействия «ход за ходом» внутри одной сессии. | Понимание того, что вопрос «А завтра?» относится к ранее упомянутому городу. |
| **Долгосрочная (Long-term)** | Извлекает и хранит ключевые инсайты (предпочтения, факты) между сессиями. | Запоминание того, что клиент предпочитает места у окна при бронировании билетов. |

### Стратегии памяти
Для управления долгосрочной памятью используются стратегии извлечения информации:
*   **Семантическая (Semantic):** Хранение данных на основе смысла.
*   **Пользовательские предпочтения (User preference):** Акцент на личных выборах пользователя.
*   **Сводная (Summary):** Сохранение кратких итогов сессий.
*   **Эпизодическая (Episodic):** Сохранение конкретных событий или сценариев.

---

## 2. Интеграция инструментов и AgentCore Gateway

### Серверное выполнение инструментов
Amazon Bedrock поддерживает выполнение инструментов на стороне сервера через интеграцию AgentCore Gateway с Responses API. Это устраняет необходимость в клиентской оркестрации, снижая задержки и упрощая архитектуру приложений.

*   **Discovery:** Bedrock автоматически обнаруживает доступные инструменты через ARN (Amazon Resource Name) шлюза.
*   **MCP (Model Context Protocol):** Использование протокола для подключения агентов к внешним серверам данных (например, серверу документации AWS) для получения актуальной технической информации в реальном времени.

### AgentCore Identity
Сервис предоставляет управление идентификацией для приложений агентов:
*   Поддержка провайдеров OAuth (Google, Microsoft, Slack и др.).
*   Управление API-ключами.
*   Интеграция с корпоративными каталогами (Amazon Cognito, Okta).

---

## 3. Многоагентная коллаборация

Система позволяет нескольким специализированным агентам работать динамически для выполнения сложных рабочих процессов.

### Роли в коллаборации
1.  **Supervisor Agent (Супервайзер):** Координирует рабочие процессы, делегирует задачи и объединяет ответы.
    *   *Режим SUPERVISOR:* Супервайзер координирует ответы и выдает финальный результат.
    *   *Режим SUPERVISOR_ROUTER:* Супервайзер направляет информацию подходящему агенту, который сам отправляет финальный ответ (снижает задержку).
2.  **Collaborator Agents (Коллабораторы):** Специализированные агенты, выполняющие конкретные подзадачи (например, анализ расходов или инвестиционные рекомендации).

**Ограничение:** К одному супервайзеру можно подключить не более **10** агентов-коллабораторов.

---

## 4. Автоматические логические проверки (Automated Reasoning)

Проверки Automated Reasoning (AR) в составе Bedrock Guardrails позволяют математически доказать корректность ответов модели на основе заданных политик.

### Типы результатов (Findings)
*   **Valid:** Ответ математически доказан как верный.
*   **Invalid:** Ответ противоречит правилам политики.
*   **Satisfiable:** Ответ верен при определенных условиях, но может быть неполным.
*   **Impossible:** Входные данные содержат противоречия.
*   **TranslationAmbiguous:** Ввод имеет несколько интерпретаций.

### Цикл перезаписи (Rewriting Loop)
Рекомендуемый паттерн интеграции, при котором приложение использует обратную связь от AR-проверки для автоматической корректировки ответа LLM до тех пор, пока он не станет валидным.

---

## 5. Безопасность и защита от атак

### Косвенная инъекция промптов (Indirect Prompt Injection)
Риск, при котором злоумышленник внедряет вредоносные инструкции во внешний контент (веб-страницы, документы), который агент считывает.
*   **Механизм атаки:** Вредоносный код попадает в процесс суммаризации сессии и сохраняется в долгосрочной памяти.
*   **Последствия:** В будущих сессиях агент может скрытно передавать историю разговоров пользователя на сервер злоумышленника.

### Стратегии смягчения рисков
*   **Content Filtering:** Использование Bedrock Guardrails для обнаружения атак на промпты.
*   **URL Filtering:** Ограничение доменов, к которым агент имеет доступ через инструменты скрапинга.
*   **Pre-processing:** Включение легких проверок безопасности на входе для оценки безопасности пользовательского ввода.

---

## 6. Практические вопросы (Short-answer Quiz)

**Вопрос 1:** В чем главное отличие краткосрочной памяти от долгосрочной в контексте AgentCore?
*Ответ:* Краткосрочная память хранит контекст внутри одной текущей сессии, а долгосрочная — извлекает и сохраняет инсайты (факты и предпочтения) для использования в будущих взаимодействиях спустя дни или месяцы.

**Вопрос 2:** Какое максимальное количество агентов-коллабораторов может быть связано с одним агентом-супервайзером?
*Ответ:* 10 агентов.

**Вопрос 3:** Что такое «цикл перезаписи» (rewriting loop) в контексте логических проверок AR?
*Ответ:* Это процесс, в котором приложение получает результат AR «invalid» или «satisfiable», формирует новый промпт с указанием нарушенных правил и просит модель переписать ответ, повторяя проверку до достижения валидности.

**Вопрос 4:** Как работает режим `SUPERVISOR_ROUTER` в многоагентных системах?
*Ответ:* В этом режиме супервайзер только направляет запрос соответствующему специализированному агенту, который затем напрямую предоставляет финальный ответ пользователю, что сокращает задержку по сравнению с полной координацией.

**Вопрос 5:** Какую роль играет Model Context Protocol (MCP) в работе агентов?
*Ответ:* MCP позволяет агентам подключаться к внешним серверам данных для получения авторитетной технической информации в реальном времени, заменяя или дополняя предварительно обученные знания модели.

---

## 7. Темы для эссе и глубокого изучения

1.  **Эволюция от RAG к агентным рабочим процессам:** Проанализируйте, как использование AgentCore Memory и инструментов через Gateway меняет подход к созданию ИИ-приложений по сравнению с классическим Retrieval-Augmented Generation.
2.  **Безопасность памяти в автономных системах:** Обсудите риски «отравления» долгосрочной памяти через косвенные инъекции промптов и предложите многослойную стратегию защиты для корпоративного финансового ассистента.
3.  **Оркестрация многоагентных систем:** Сравните подходы «Swarm Intelligence» (роевой интеллект) и иерархическую структуру с супервайзером. В каких сценариях режим маршрутизации (Router) предпочтительнее полной координации?

---

## 8. Глоссарий важных терминов

| Термин | Определение из источника |
| :--- | :--- |
| **AgentCore Gateway** | Компонент для безопасного подключения агентов к инструментам и ресурсам (API, Lambda, MCP-серверы). |
| **Automated Reasoning (AR)** | Технология логической проверки ответов LLM на соответствие формальным правилам политики (Cedar). |
| **Cedar** | Язык политик, используемый для написания правил безопасности и логических проверок. |
| **Indirect Prompt Injection** | Атака, при которой вредоносные инструкции внедряются в данные, считываемые агентом из внешних источников. |
| **MCP (Model Context Protocol)** | Протокол, позволяющий ИИ-моделям безопасно взаимодействовать с внешними данными и инструментами. |
| **Namespaces (Пространства имен)** | Метод организации долгосрочной памяти для разделения данных (например, по пользователям или отделам). |
| **Session Summarization** | Процесс создания краткого изложения взаимодействия в конце сессии для последующего сохранения в памяти. |
| **Strands SDK** | Инструментарий для оркестрации и разработки агентных ИИ-систем на AWS. |
| **Trace (Трассировка)** | Инструмент для отслеживания пошагового процесса рассуждений агента и использования им инструментов. |