Synthia · архитектурная карта

Synthia: отрисованные сущности и связи

Это не презентация “по слайдам”, а визуальная карта: какие блоки существуют, кто с кем связан, что попадает в первый релиз, а что сознательно откладывается.

синий = пользовательский путьфиолетовый = AI-ядрозелёный = данные/деньги/памятьжёлтый = отложенные риски

Главный принцип

сначала AI Core
тяжёлое — через очередь
деньги — через ledger
n8n — вне critical path
geo/egress — не в MVP

1. Основные сущности

Карта доменных блоков Synthia простым языком.

User

Пользователь

Владелец AI-личности, сообщений, памяти, credits и настроек приватности.

Persona

AI-личность

Характер, тон, язык, автономность, публичность и правила поведения.

Chat

Диалог

Сообщения, streaming-ответы, история, источник для памяти.

Memory

Память

Сырые сообщения, саммари, важные факты, модель пользователя.

AI Gateway

Диспетчер AI

Выбор модели, лимиты, стоимость, fallback, безопасность и логи.

Credits

Внутренние кредиты

Простое списание за AI-запросы до полноценного wallet.

Ledger

Журнал операций

Неизменяемые записи: начисление, списание, резерв, возврат.

Queue

Очередь

Фоновые задачи: память, генерация, модерация, webhooks.

Moderation

Модерация

Базовая защита публичного контента, AI-ответов и жалоб.

2. Общая карта связей

Основной поток запроса и вспомогательные контуры.

КлиентыWeb · TMA · iOS · Android API/BFFNestJS · auth · DTO Chat Coremessages · streaming AI Gatewaymodels · limits · cost Billing v0credits · ledger Memorysummaries · facts AI ProvidersGPT · Claude · Gemini Queue/Workersmemory · generation Critical path: только код, не n8nОбщая карта: кто с кем связанПользовательский запрос проходит через контролируемое ядро, а тяжёлые задачи уходят в очередь.
Critical pathВсё, что пользователь ждёт прямо сейчас, должно быть кодом и наблюдаться метриками.
ОчередьДорогие и долгие операции не блокируют интерфейс.
RLS/tenant contextИзоляция пользовательских данных должна проверяться автотестами.

3. Память

Гибридная схема: быстрый ответ сейчас, качественная память — в фоне.

Сообщениесохраняем сразу Ответ AIбыстрый streaming Queueфоновая задача Session summaryсжимает диалог Atomic memoriesважные факты User modelпредпочтения/стиль Память: гибридное обновлениеЧат не ждёт долгих операций памяти. Memory worker разбирает диалог после ответа.
Почему не синхронно?Если извлекать память после каждого сообщения до ответа, чат станет медленным и дорогим.
Что сохраняем сразу?Raw messages и минимальную историю диалога.
Что делает worker?Создаёт summary, atomic memories, embeddings и обновляет user model.

4. AI Gateway

Слой, который делает AI управляемым, а не просто “вызовом GPT”.

Chat/APIзапрос пользователя AI Gatewayединый вход Policysafety · PII · tools Model routingprovider · fallback Cost controltokens · credits Provider Aтекстовая модель Provider Bрезерв/другая цена Media modelimage/video later AI Gateway: диспетчерская моделейОн контролирует безопасность, выбор модели, стоимость, fallback и логи.
Model routingМожно выбирать модель по задаче, цене, скорости и доступности.
Cost controlКаждый запрос должен иметь токены, стоимость, latency и trace id.
Python workersPython полезен для embeddings/media/evals, но не обязан быть основным API.

5. Генерация контента

Контентные задачи лучше делать асинхронно.

Create requestкартинка/контент Generation jobсоздать задачу Queueretry · status Workerвызывает AI/media Object Storageсохраняет результат Генерация: не блокируем пользователяДолгие и дорогие операции идут через очередь и показывают статус.
StatusПользователь видит created → queued → running → succeeded/failed.
StorageРезультаты генераций сохраняются как assets, а не как временные файлы.
MVPСначала текст и, возможно, изображения. Видео/музыка — позже.

6. Credits и ledger

Финансовый компромисс для коротких сроков.

User actionпокупка/генерация Idempotencyзащита от дублей Creditsдоступный баланс Ledgerдвойная запись Reserve/Refundрезерв/возврат Stripe/IAPпополнение позже Wallet laterвыводы/донаты/эскроу Деньги: credits сейчас, wallet позжеВ MVP нужны корректные списания и журнал операций, но не полноценная финансовая платформа.
Не balance fieldНельзя просто менять поле balance. Нужен ledger операций.
IdempotencyПовторный webhook или retry не должен списывать дважды.
Wallet позжеВыводы, переводы, донаты и эскроу — отдельный этап.

7. Матрица платформ

Один кодбейс ускоряет запуск, но возможности платформ отличаются.

Функция
Web
TMA
iOS/Android
Чат и streaming
Да
Да, тестировать WebView
Да
Push
Ограниченно
Через Telegram/ограничения
Да, native config
IAP
Нет
Нет
Да
Тяжёлые 3D/аватары
Осторожно
Не в MVP
Тестировать память
WebSocket в фоне
Ограниченно
Обрывы вероятны
Нужен fallback