System Overview

Высокоуровневая архитектура мультиагентной системы Synth Nova.

Слои системы

┌─────────────────────────────────────────────────────────────┐
│                      USER LAYER                              │
│              Telegram (@maxnovaocbot)                        │
│              Web UI — Phase 3                                │
└──────────────────────────┬──────────────────────────────────┘
                           │
                           ▼
┌─────────────────────────────────────────────────────────────┐
│                      GATEWAY                                 │
│              OpenClaw (178.156.217.128:18789)                │
│              Auth · Rate Limit · Routing                     │
└──────────────────────────┬──────────────────────────────────┘
                           │
                           ▼
┌─────────────────────────────────────────────────────────────┐
│                   ORCHESTRATION                              │
│              synth-brain (FastAPI + Python)                   │
│     Task Router · Agent Runner · Policy Enforcer             │
└──────────────────────────┬──────────────────────────────────┘
                           │
                           ▼
┌─────────────────────────────────────────────────────────────┐
│                    AGENT LAYER                               │
│   L1: CEO                                                    │
│   L2: Intel Director · Sales Dir · Marketing Dir · ...       │
│   L3: Scout · Researcher · Writer · Monitor · ...            │
│    X: Judge · Librarian                                      │
└──────────────────────────┬──────────────────────────────────┘
                           │
                           ▼
┌─────────────────────────────────────────────────────────────┐
│                     DATA LAYER                               │
│   PostgreSQL: tasks · agents · runs · artifacts · memory     │
│   Redis: cache · sessions                                    │
│   pgvector: embeddings · semantic search                     │
└─────────────────────────────────────────────────────────────┘

Компоненты подробно

1. User Layer

Telegram — основной интерфейс. Бот @maxnovaocbot через OpenClaw. Web UI — планируется в Phase 3. Dashboard для мониторинга и управления.

Принцип: пользователь не должен знать о внутренней архитектуре. Он общается с “Алексой” (CEO Agent) как с ассистентом.

2. Gateway — OpenClaw

Уже существует на openclaw-synth (178.156.217.128). См. ADR-0002-OpenClaw-As-Gateway.

Функции:

  • Единая точка входа для всех user-facing каналов
  • Authentication — Telegram user ID → internal user
  • Rate limiting — защита от flood
  • Routing — сообщения → synth-brain API

НЕ содержит бизнес-логику агентов. Gateway = прокси, не мозг.

3. Orchestration — synth-brain (новый сервис)

Ядро системы. FastAPI-сервис на Python.

Модули:

  • Task Router — приём задач, маршрутизация по agent type
  • Agent Runner — запуск агентов, управление контекстом, вызов LLM API
  • Policy Enforcer — pre/post проверки, Policy-Layer
  • Queue Worker — обработка очереди задач из PostgreSQL

Что synth-brain делает:

  • Принимает tasks от Gateway
  • Помещает в очередь (PostgreSQL)
  • Запускает агентов по очереди
  • Проверяет policy до и после
  • Логирует runs

Что synth-brain НЕ делает:

  • Не хранит промпты (в конфигах roles/*.yaml)
  • Не хранит долгосрочную память (Data Layer)
  • Не общается с пользователем напрямую (через Gateway)

4. Agent Layer

Иерархия агентов. См. ADR-0003-Three-Tier-Hierarchy, _Roles-Index.

УровеньКоличествоРольПримеры
L1 Orchestrator1Стратегия, декомпозицияAgent-CEO
L2 Directors5-7Управление департаментомAgent-IntelDirector, SalesDirector
L3 Executors15-30Выполнение задачAgent-CompetitorScout, Agent-MarketResearcher
X Cross-cutting2-3QA, KnowledgeAgent-Judge, Agent-Librarian

Принцип: агенты не вызывают друг друга напрямую. Всё через очередь задач. См. Orchestration-Model.

5. Data Layer

PostgreSQL 16 — основное хранилище:

  • tasks — очередь и история задач
  • agents — конфигурация агентов
  • runs — логи выполнения
  • artifacts — результаты работы
  • agent_memory — долгосрочная память

Очередь через FOR UPDATE SKIP LOCKED. См. ADR-0001-Use-Postgres-As-Queue.

Redis — cache и sessions:

  • Кэш частых запросов к memory
  • Session state для Gateway

pgvector — vector search:

  • Embeddings для semantic search
  • RAG для агентов

Архитектурные принципы

  1. Асинхронность через очередь — агенты не блокируют друг друга
  2. Stateless agents — весь контекст в task payload, агент не хранит state между вызовами
  3. Policy as code — ограничения в коде Policy-Layer, не в промптах
  4. Full observability — каждый run логируется, см. Observability

Физическое размещение

КомпонентСерверIP
synth-brainsynth-nova-prod91.99.207.119
PostgreSQLsynth-nova-prod91.99.207.119
Redissynth-nova-prod91.99.207.119
OpenClaw Gatewayopenclaw-synth178.156.217.128

Всё на двух серверах пока. Разделение — по данным о реальной нагрузке, не заранее.