
AWS предложила инновационное решение для организации долгосрочной памяти AI-агентов, представив функцию «пространств имен» (namespaces) в службе AgentCore Memory платформы Amazon Bedrock. Этот механизм предназначен для систематизации хранения контекстных данных, обеспечения их релевантности и безопасности на протяжении множества пользовательских сессий. Разработчики сталкиваются с проблемой организации памяти AI-агентов, что часто приводит к извлечению нерелевантного контекста и созданию уязвимостей безопасности. Новая функциональность призвана решить эти сложности, предоставляя средства для создания организованной, извлекаемой и безопасной системы памяти.
Пространства имен в AgentCore Memory функционируют по принципу иерархических путей, подобно каталогам в файловых системах или ключам разделов в базах данных, таких как Amazon DynamoDB. Они создают логическую структуру, позволяют осуществлять извлечение данных в определенной области видимости и поддерживают контроль доступа. Каждый раз, когда AgentCore Memory извлекает записи долгосрочной памяти из разговоров, эти записи сохраняются в рамках определенного пространства имен. Например, предпочтения пользователя могут храниться по пути `/actor/customer — 123/preferences/`, в то время как сводки его сессий могут быть расположены по пути `/actor/customer — 123/session/session — 789/summary/`. Такая структура позволяет извлекать записи памяти с необходимой степенью детализации.
Разработка AI-агентов, способных контекстно осознавать и «помнить» предыдущие взаимодействия, является критически важной для создания полезных приложений. Ранее масштабирование этой функциональности осложнялось управлением «зашумленным» контекстом и предотвращением утечек данных между пользователями, что подчеркивало потребность в более продуманных механизмах организации памяти. Правильное проектирование структуры пространства имен имеет решающее значение для создания эффективной системы памяти, способной поддерживать агентов, осознающих контекст.
При проектировании пространств имен важно учитывать несколько ключевых аспектов, аналогично тому, как продумываются шаблоны доступа при выборе ключей разделов в Amazon DynamoDB или структуры папок в Amazon S3. Разработчикам необходимо определить, кто должен иметь доступ к этим воспоминаниям (один пользователь или все пользователи агента), какая степень детализации извлечения требуется (сводки по сессиям или кросс-сессионные предпочтения), а также какие границы изоляции важны (должны ли воспоминания одного пользователя быть видимыми другому). Ключевое отличие от ключей разделов состоит в том, что пространства имен поддерживают иерархическое извлечение в дополнение к точному совпадению, позволяя выполнять запросы на каждом уровне иерархии, а не только на конечном.
Для создания и управления пространствами имен в AgentCore Memory используются шаблоны, определенные в поле `namespaceTemplate` в конфигурации каждой стратегии. Эти шаблоны поддерживают три предопределенные переменные: `{actorId}`, которая разрешается в идентификатор пользователя из обрабатываемых событий; `{sessionId}`, разрешаемая в идентификатор сессии; и `{memoryStrategyId}`, относящаяся к идентификатору стратегии. Например, при создании ресурса памяти, такого как `CustomerSupportMemory`, с шаблонами `/actor/{actorId}/facts/` для семантической памяти и `/actor/{actorId}/session/{sessionId}/summary/` для сводок, при поступлении событий для конкретного `actorId` и `sessionId` будут формироваться соответствующие уникальные пути пространств имен.
Каждая стратегия памяти имеет различные потребности в области видимости, и дизайн пространства имен должен отражать, как данные будут доступны. Например, для семантической памяти, которая фиксирует факты и знания из разговоров (например, «У компании клиента 500 сотрудников»), и памяти пользовательских предпочтений, которая сохраняет выбор и стили (например, «Пользователь предпочитает Python для разработки»), рекомендуется использовать область видимости, привязанную к пользователю (`actor — scoped`). Это означает, что факты и предпочтения для конкретного пользователя консолидируются в едином пространстве имен, независимо от сессии, в которой они были извлечены.
Внедрение пространств имен также предоставляет разработчикам возможности для реализации гранулярного контроля доступа к данным памяти с помощью AWS Identity and Access Management (IAM). Это гарантирует, что каждый AI-агент или пользователь будет иметь доступ только к той информации, которая ему необходима для выполнения конкретной задачи, повышая безопасность и надежность системы в целом и предотвращая несанкционированный доступ или утечку чувствительных данных.
Источники
Ответы (0)
Пока нет ответов в этой теме.