Изоляция клиентов для агентских AI-систем агентства
Как агентства разделяют данные клиентов, промпты и базы знаний, когда один AI-агент обслуживает несколько аккаунтов.
Dali
Dali - студия AI agent systems. Давид ведёт engineering и продукт, Лиана - operations и fit процессов. Делаем production-агентов в tools, которыми команда уже пользуется.
David Hakobyan · Dali
Прямой ответ
Никогда не смешивайте сырые базы знаний клиентов, учётные данные и память диалогов между арендаторами (tenant - отдельный клиент/аккаунт). Изолируйте по клиенту на уровне хранения, поиска и ключей инструментов. «Один огромный промпт со всеми клиентами» - это утечка, которая ещё не случилась.
Агентству удобно шарить инфраструктуру. Клиенту важно, чтобы его бренд, цены и переписка не всплыли у соседа.
Почему агентства ломают изоляцию
- Копипаст-операции: один чат, много клиентов.
- Общие ящики и общие админ-токены.
- Один vector store (хранилище эмбеддингов) «на всех».
- Промпт-шаблоны, куда вшиты факты клиента A и случайно уехали в сессию клиента B.
- Субподрядчики с вечным доступом «на всякий случай».
Слои изоляции
- Auth и tenant id - каждый запрос несёт идентификатор клиента; без него инструменты молчат.
- Ключи и секреты - отдельные credentials на клиента или строго scoped роли; не один master-ключ на агентство.
- Индексы знаний - отдельные namespace / коллекции; по умолчанию не «одна БД на всех».
- Память диалогов - сессии не пересекаются; history клиента A недоступна B.
- Логи - отдельные потоки или жёсткая фильтрация по tenant, если нужен audit per client.
Промпты
Общие шаблоны навыков (skill templates) - нормально: «как отвечать на возврат», «как собрать бриф».
Факты клиента, цены, пароли, внутренние URL и имена сотрудников - никогда в общий system prompt.
Клиентский контекст подмешивается в runtime из изолированного store, а не «запекается» в общий мозг.
Маршрутизация multi-store
Если агентство ведёт много магазинов/брендов: явный brand/store id на каждый вызов инструмента. Никакого «угадай магазин по вайбу». Ошибочный store id = запись в чужой каталог.
См. также паттерн ops-агента на много магазинов.
Как вписывается Dali
Dali закладывает границы tenant в ops-агентов агентств: решения.
FAQ
Только при строгом разделении tenant и контроле доступа. По умолчанию - отдельные namespace. Если сомневаетесь - раздельные индексы.