Налаштування мульти-компанійного розгортання Paperclip

Ми часто стикаємося з задачею мульти-компанійного розгортання Paperclip: агентство обслуговує кількох клієнтів з єдиної інсталяції, при цьому кожен клієнт повинен бачити тільки свої дані. Або холдинг з кількома юридичними особами — спільна інфраструктура, ізольовані AI-організації. Типова ситуація:

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1414
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1284
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    980
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1240
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    696
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    982

Ми часто стикаємося з задачею мульти-компанійного розгортання Paperclip: агентство обслуговує кількох клієнтів з єдиної інсталяції, при цьому кожен клієнт повинен бачити тільки свої дані. Або холдинг з кількома юридичними особами — спільна інфраструктура, ізольовані AI-організації. Типова ситуація: при старті з одним клієнтом все просто, але коли їх стає 10, 50 або 100 — витрати на підтримку окремих інстанцій зростають лінійно. У цій статті — архітектурне рішення, яке ми застосовуємо вже понад 5 років у 15+ проектах. Воно дозволяє централізовано керувати сотнями організацій, зберігаючи latency p99 на рівні 200 мс навіть при пікових навантаженнях.

Які рівні ізоляції ми використовуємо?

Ізоляція будується на декількох рівнях. На нижньому рівні — database-level isolation: окремі PostgreSQL схеми на організацію з Row-Level Security. Це гарантує, що запити від агента компанії A ніколи не повернуть дані компанії B. Додаткова затримка на RLS — 1–2 мс, що непомітно для користувача.

Вище — namespace isolation: кожен агент працює в контексті своєї організації. LLM-виклики маркуються organization_id, логи повністю розділені. Resource isolation через окремі черги задач (Redis namespacing) та rate limits, що налаштовуються окремо для кожної компанії. При високих вимогах — опціональна мережева ізоляція через Docker networks.

Порівняємо рівні у таблиці:

Рівень ізоляції Механізм Затримка Складність конфігурації
Database-level PostgreSQL схеми + RLS <2 мс Низька
Agent namespace organisation_id у кожному запиті <0.5 мс Середня
Resource (черги, ліміти) Redis namespaces, rate limiting ~0 мс Середня
Network-level (опціонально) Docker мережі на організацію ~0 мс Висока

Додатково, кожна компанія може мати свої RAG-бази знань з ізольованими embeddings (наприклад, 1536-вимірні через text-embedding-ada-002). Це дозволяє будувати персоналізовані AI-асистенти без перетину контексту.

Чому multi-tenant Paperclip у 3–5 разів дешевший?

Економія на інфраструктурі: одна інсталяція обслуговує десятки організацій. Multi-tenant Paperclip у 3 рази швидше за окремі інстанції при додаванні нової компанії. Централізоване управління через super-admin панель: створення компаній, налаштування тарифів, моніторинг використання та білінг. Organisation admin бачить тільки свою компанію. Kubernetes дозволяє динамічно масштабувати ресурси при рості числа організацій — horizontal scaling worker-ів. За нашими оцінками, мульти-компанійне розгортання Paperclip знижує сукупну вартість володіння в 3–5 разів — це економія від $5000 на місяць для 10 компаній.

Порівняємо сценарії розгортання:

Параметр Окремі інстанції Multi-tenant Paperclip
Кількість серверів N 1–2
Час на додавання компанії 1–2 тижні 1 година
Складність моніторингу Висока (N дашбордів) Низька (єдиний дашборд)
Можливість white-label Вимагає окремих налаштувань З коробки

Типові помилки при налаштуванні ізоляції

  • Пропуск RLS: забувають увімкнути на всіх таблицях, що призводить до витоків. Перевіряйте через тестові запити з різними organization_id.
  • Змішування черг: використовують один Redis namespace — завдання однієї компанії можуть блокувати іншу. Завжди ізолюйте черги через префікси.
  • Не налаштовані rate limits: при сплеску активності одна організація споживає всі ресурси GPU. Встановлюйте ліміти на токени в хвилину та паралельні запити.

Як ми тестуємо ізоляцію?

Ми проводимо автоматизовані тести на ізоляцію: запускаємо агентів від імені різних компаній та перевіряємо, що їхні дані не перетинаються. Використовуємо випадкові запити та вимірюємо витоки — target: нульове перетинання. Load-тести з піковим навантаженням від 10 до 100 організацій підтверджують, що latency p99 не перевищує 200 мс. Для особливо чутливих сценаріїв додаємо аудит логів на предмет prompt injection — ізольовані namespace не дозволяють одній компанії впливати на контекст іншої.

Процес роботи (під ключ)

  1. Аналітика — вивчаємо сценарій використання, кількість компаній, вимоги до ізоляції та compliance.
  2. Проектування — розробляємо multi-tenant схему бази даних, визначаємо конфігурацію namespace та resource isolation.
  3. Реалізація — налаштовуємо PostgreSQL схеми, RLS, адмін-панель, інтеграцію з білінгом.
  4. Тестування — ізоляційні тести: перевіряємо, що агент однієї компанії не бачить дані іншої. Load-тести під піковим навантаженням.
  5. Деплой — розгортання на вашій інфраструктурі або в нашій хмарі, навчання адміністраторів.

Що входить у роботу (під ключ)

  • Документація — опис архітектури, інструкція з додавання нових компаній.
  • Admin API та панель — повний функціонал управління організаціями, тарифами та моніторингом.
  • Ізоляційні тести — звіт з результатами підтвердження ізоляції.
  • Білінг-інтеграція — підключення до вашої системи білінгу (Stripe, PayPal, рахунок).
  • Навчання — демонстрація адмін-панелі вашим співробітникам.

Терміни: від 3 до 5 тижнів залежно від складності. Точну вартість розраховуємо під ваш сценарій. Пишіть нам для отримання консультації — ми оцінимо ваш проект безкоштовно.

Ми гарантуємо, що дані кожної компанії будуть повністю ізольовані. Цей підхід перевірено на 15+ проектах із сумарним числом організацій понад 50. Замовте оцінку вашого проекту — ми розповімо, як впровадити мульти-компанійне розгортання Paperclip з мінімальними ризиками.