Библиотека · Надёжность: мониторинг, сбои, резервные копии

Финальная архитектура — полный AI-стек бизнеса

Строитель95 минОбновлено: октябрь 2026
92 из 105 в библиотеке

Время: ~35 мин теории + 60 мин практики


Суть урока

Ты научился каждому инструменту по отдельности. Теперь смотришь на всё сразу — как это складывается в живой бизнес. Архитектура — это не схема для красоты на слайде. Это карта которая говорит тебе куда бежать когда что-то сломается, и что добавить когда придёт время расти.

🎨 Образ: Ты изучил молоток, пилу, уровень и дрель. Этот урок — первый раз когда видишь чертёж дома целиком. Вдруг понимаешь: молоток и пила не конкурируют — они на разных этапах одного строительства.


Ключевые концепции

  • 5-уровневый стек — Frontend → API → AI → Data → Payments
  • Интеграционный слой — n8n/Zapier как клей между инструментами
  • Microsoft-интеграция — Teams, Office, Power Platform для корпоративных клиентов
  • Стоимость стека — из чего складывается по уровням: Starter / Pro / Scale
  • Точки роста — где расширяться когда появятся деньги

Теория

Полная архитектура AI-бизнеса в 2026

Код
┌─────────────────────────────────────────────────────────┐
│                    ПОЛЬЗОВАТЕЛЬ                          │
└────────────────────────┬────────────────────────────────┘
                         │
┌────────────────────────▼────────────────────────────────┐
│               FRONTEND (Слой 1)                         │
│  v0.app / Webflow / Next.js / Telegram Bot              │
│  Что здесь: UI, формы, дашборды, мобильная адаптация   │
└────────────────────────┬────────────────────────────────┘
                         │
┌────────────────────────▼────────────────────────────────┐
│               API GATEWAY (Слой 2)                      │
│  Cloudflare Workers / FastAPI / Express                 │
│  Что здесь: роутинг, auth, rate limiting, логирование   │
└─────────┬──────────────┬──────────────┬─────────────────┘
          │              │              │
┌─────────▼──────┐ ┌─────▼──────┐ ┌────▼──────────────────┐
│  AI (Слой 3)   │ │ DATA (С.4) │ │ PAYMENTS (Слой 5)     │
│  Claude API    │ │ Supabase   │ │ Stripe                │
│  Embeddings   │ │ PostgreSQL │ │ Subscriptions         │
│  Vector DB    │ │ Redis cache│ │ Webhooks              │
└────────────────┘ └────────────┘ └───────────────────────┘
          │
┌─────────▼────────────────────────────────────────────────┐
│           ИНТЕГРАЦИОННЫЙ СЛОЙ (Сквозной)                 │
│  n8n / Zapier — склейка всего со всем                   │
│  CRM → Marketing → Support → Analytics                  │
└──────────────────────────────────────────────────────────┘

Слой 1: Frontend — что видит пользователь

Варианты и когда использовать:

Инструмент Когда Цена
v0.app (раньше v0.dev) Быстрый прототип, React Есть бесплатный тариф, цены на сайте
Webflow Маркетинговый сайт без кода Платно, цены на сайте
Next.js Полный контроль, SEO важен Бесплатно (хостинг отдельно)
Telegram Bot B2C, массовый пользователь Бесплатно
Streamlit Внутренний инструмент, MVP Бесплатно

🎨 Образ: Витрина магазина. Покупатель видит витрину — не склад за ней. Начни с самой простой витрины которая продаёт.

Слой 2: API Gateway — нервная система

Cloudflare Workers — оптимальный выбор для indie:

javascript
// worker.js — базовая структура
export default {
  async fetch(request, env) {
    const url = new URL(request.url);
    
    // Роутинг
    if (url.pathname === '/api/generate') {
      return handleGenerate(request, env);
    }
    
    if (url.pathname === '/api/webhook/stripe') {
      return handleStripeWebhook(request, env);
    }
    
    return new Response('Not found', { status: 404 });
  }
};

async function handleGenerate(request, env) {
  // Auth check
  const apiKey = request.headers.get('X-API-Key');
  if (!await validateKey(apiKey, env)) {
    return new Response('Unauthorized', { status: 401 });
  }
  
  // Rate limiting через KV
  const count = await env.RATE_LIMITS.get(apiKey) || 0;
  if (count > 100) {  // 100 запросов в час
    return new Response('Rate limit exceeded', { status: 429 });
  }
  await env.RATE_LIMITS.put(apiKey, String(parseInt(count) + 1), {expirationTtl: 3600});
  
  // Claude вызов
  const body = await request.json();
  const result = await callClaude(body.prompt, env.ANTHROPIC_API_KEY);
  
  return Response.json({ result });
}

Слой 3: AI — мозг системы

Claude как центральный AI, но с правильной маршрутизацией по моделям:

python
def route_to_model(task_type: str, complexity: str) -> str:
    """
    Оптимизация стоимости через правильную маршрутизацию.
    """
    # Цены за 1 млн токенов (вход / выход) на октябрь 2026; актуальные: ../actual.html
    routing = {
        ("classification", "simple"): "claude-haiku-4-5",      # $1 / $5
        ("summarization", "simple"): "claude-haiku-4-5",
        ("generation", "standard"): "claude-sonnet-5-5",        # $2 / $10
        ("generation", "complex"): "claude-sonnet-5-5",
        ("reasoning", "critical"): "claude-opus-5-5",           # $4 / $20
        ("architecture", "critical"): "claude-opus-5-5",
    }
    return routing.get((task_type, complexity), "claude-sonnet-5-5")

# Пример использования
model = route_to_model("classification", "simple")
# → claude-haiku-4-5 (самая лёгкая и дешёвая из линейки)

Слой 4: Data — память системы

Код
Supabase (PostgreSQL) — основное хранилище
├── users (аккаунты, настройки)
├── conversations (история чатов)  
├── documents (загруженные файлы)
└── analytics (события, метрики)

pgvector (векторное расширение Supabase) — семантический поиск
├── embeddings для RAG
└── поиск похожих документов

Redis (Upstash) — быстрый кэш
├── rate limiting
├── сессии
└── результаты частых запросов

Интеграционный слой: n8n как дирижёр

n8n — это no-code/low-code automation. Соединяет всё со всем:

Код
Новый клиент в Stripe
        ↓ webhook
      n8n workflow:
        ├── Создать запись в Supabase
        ├── Отправить welcome email (Gmail/SendGrid)
        ├── Добавить в CRM (HubSpot/Notion)
        ├── Уведомление в Telegram (тебе)
        └── Запустить onboarding sequence

Когда n8n, когда Zapier:

n8n Zapier
Self-hosted ✅ (бесплатно для внутренних задач, условия лицензии смотри на сайте) ❌
Cloud Starter €20/мес при оплате за год (на октябрь 2026) Free: 100 задач в месяц; Professional от $19.99/мес при оплате за год
Кастомный код ✅ JS nodes ⚠️ ограниченно
Сложные workflow ✅ ⚠️
Простота ⚠️ ✅

Для indie: n8n self-hosted на VPS = автоматизация без платы за подписку, но сервер и обновления на тебе. Цена VPS зависит от хостера.

Microsoft-интеграция для корпоративных клиентов

Если твои клиенты — корпорации, у них всё на Microsoft. Вот как туда войти:

Teams + Claude через Webhook:

Старые вебхуки Office 365 Connectors Microsoft выводит из эксплуатации. Вебхук теперь создают через приложение Workflows в Teams (шаблон «Send webhook alerts to a channel»), а в сообщении отправляют Adaptive Card:

python
import os
import requests

def notify_teams_channel(webhook_url: str, message: str, facts: dict = None):
    """Отправить уведомление в канал Microsoft Teams через вебхук Workflows (Adaptive Card)."""
    body = [{"type": "TextBlock", "text": message, "weight": "Bolder", "wrap": True}]
    if facts:
        body.append({
            "type": "FactSet",
            "facts": [{"title": k, "value": v} for k, v in facts.items()]
        })

    payload = {
        "type": "message",
        "attachments": [{
            "contentType": "application/vnd.microsoft.card.adaptive",
            "content": {
                "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
                "type": "AdaptiveCard",
                "version": "1.2",
                "body": body
            }
        }]
    }

    response = requests.post(webhook_url, json=payload)
    return response.status_code in (200, 202)

# Пример: уведомление об AI-анализе завершён
notify_teams_channel(
    webhook_url=os.environ["TEAMS_WEBHOOK_URL"],
    message="✅ AI-анализ отчётности завершён",
    facts={"Документов обработано": "47", "Время": "3.2 мин", "Аномалий найдено": "2"}
)

SharePoint как база знаний для Claude:

python
import os
import anthropic
import requests
from msal import ConfidentialClientApplication

def get_sharepoint_documents(site_id: str, folder: str) -> list:
    """Получить документы из SharePoint через Graph API."""
    app = ConfidentialClientApplication(
        client_id=os.environ["AZURE_CLIENT_ID"],
        client_credential=os.environ["AZURE_CLIENT_SECRET"],
        authority=f"https://login.microsoftonline.com/{os.environ['AZURE_TENANT_ID']}"
    )
    
    token = app.acquire_token_for_client(
        scopes=["https://graph.microsoft.com/.default"]
    )
    
    headers = {"Authorization": f"Bearer {token['access_token']}"}
    
    # Получить файлы из папки
    url = f"https://graph.microsoft.com/v1.0/sites/{site_id}/drives/root:/{folder}:/children"
    response = requests.get(url, headers=headers)
    
    files = response.json().get("value", [])
    return [{"name": f["name"], "url": f["@microsoft.graph.downloadUrl"]} 
            for f in files if f.get("file")]

def answer_from_sharepoint(question: str, site_id: str) -> str:
    """Claude отвечает на вопрос используя документы SharePoint."""
    docs = get_sharepoint_documents(site_id, "Knowledge Base")
    
    # Загрузить содержимое документов
    context = ""
    for doc in docs[:5]:  # Топ-5 самых свежих
        content = requests.get(doc["url"]).text[:2000]
        context += f"\n---{doc['name']}---\n{content}"
    
    client = anthropic.Anthropic()
    return "".join(b.text for b in client.messages.create(
        model="claude-sonnet-5-5",
        max_tokens=1000,
        messages=[{
            "role": "user",
            "content": f"Документы компании:\n{context}\n\nВопрос: {question}"
        }]
    ).content if b.type == "text")

Модели OpenAI в Azure vs Claude для корпораций:

Модели OpenAI в Azure Claude
Где работает Внутри Azure В Microsoft Foundry: на инфраструктуре Azure или на инфраструктуре Anthropic (два варианта размещения)
Регионы и зона данных Смотри документацию Azure Зависят от модели и варианта размещения: проверь в документации Microsoft Foundry
GDPR и обработка данных Проверяй в договоре и документации Проверяй в договоре и документации выбранного варианта
Интеграция с Azure Нативная Через Microsoft Foundry, подключение и оплата через Azure Marketplace
Качество модели Зависит от задачи Зависит от задачи: сравни обе на своих данных
Цена Тарифы Azure Тарифы Claude в Foundry, смотри документацию Microsoft
Для корпораций с Azure Часто выбор по умолчанию Зависит от требований

Если клиент говорит "нам нельзя выходить за Azure" — предложи Microsoft Foundry (раньше Azure AI Foundry): Claude там есть в варианте, который работает целиком на инфраструктуре Azure. Подключение идёт через Azure Marketplace и нужна платная подписка Azure в поддерживаемой стране. Список доступных моделей и регионов смотри в документации Microsoft Learn.

Реальная стоимость стека по уровням

Цены ниже указаны на октябрь 2026 только там, где они проверены по сайтам сервисов. Остальное считай сам по текущим тарифам, а модели Claude смотри на странице Актуальное сейчас.

Starter — первые клиенты:

Компонент Инструмент Цена
Frontend Cloudflare Pages Free + Next.js (бесплатный Vercel Hobby подходит только для некоммерческих проектов) $0
API Cloudflare Workers Free (100 000 запросов в день) $0
AI Claude API Зависит от трафика и модели
Database Supabase Free (2 проекта, база 500 МБ, пауза после недели без активности) $0
Payments Stripe 2.9% + 30¢ в США, в других странах иначе
Automation n8n self-hosted Цена VPS зависит от хостера
Email Resend Free Бесплатный тариф, лимиты на сайте
Monitoring LangSmith Free Бесплатный тариф, лимиты на сайте
Итого Сумма строк; на малом трафике главная статья — Claude API

Pro — растущий бизнес:

Компонент Инструмент Цена
Frontend Vercel Pro $20/мес за разработчика
API Cloudflare Workers Paid от $5/мес
AI Claude API (больше трафика) Зависит от трафика и модели
Database Supabase Pro $25/мес
Vector DB Supabase pgvector включено
Cache Upstash Redis По тарифу Upstash
Automation n8n Cloud Starter €20/мес при оплате за год
Email Resend По тарифу Resend
Monitoring LangSmith По тарифу LangSmith
Итого Сумма строк по текущим ценам

Scale — серьёзный бизнес:

  • Claude API: главная статья расходов при высоком трафике (Opus для критических задач)
  • Supabase: тарифы выше Pro, смотри на сайте
  • Dedicated infrastructure: по тарифам хостера
  • Teams + support tools: по тарифам выбранных сервисов
  • Итого: считай по своему стеку

🎨 Образ: Starter — это велосипед. Быстро, дёшево, можно доехать куда нужно. Pro — автомобиль. Scale — грузовик. Ошибка большинства: сразу хотят грузовик. Купи велосипед, докажи что тебе нужен автомобиль.


Практика

Шаг 1: Нарисуй архитектуру своего AI-бизнеса

Возьми листок бумаги (или Miro/FigJam) и нарисуй:

  1. Кто пользователь — откуда заходит, что хочет
  2. Frontend — что он видит, где работает
  3. API — что обрабатывает запросы
  4. AI — где Claude, какие промпты, какая модель
  5. Data — что хранится, откуда берётся
  6. Payments — как монетизация

Нет "правильного" ответа. Главное — видеть систему целиком.

Шаг 2: Посчитай стоимость своего стека

Заполни таблицу по образцу Starter/Pro/Scale. Что у тебя сейчас бесплатно? Что станет платным при росте?

Шаг 3: Найди узкое место

Посмотри на свою архитектуру и ответь на вопросы:

  • Что сломается первым при 10x нагрузке?
  • Где ты завязан на одного провайдера без fallback?
  • Какое звено самое дорогое при масштабировании?

Шаг 4: Задание

Если у тебя есть идея для AI-продукта — нарисуй её архитектуру полностью. Если нет — возьми любой продукт из курса (чат-бот для поддержки, AI-инструмент контента, автоматизация email) и разберери его стек по всем 5 уровням с реальными ценами.


Инструменты и ресурсы

  • Диаграммы: draw.io (бесплатно), Miro, Excalidraw
  • n8n self-hosted: n8n.io/docs/hosting
  • Microsoft Graph API: learn.microsoft.com/graph
  • Teams Webhooks: learn.microsoft.com/microsoftteams/platform/webhooks-and-connectors
  • Microsoft Foundry (раньше Azure AI Foundry): ai.azure.com
  • Supabase: supabase.com
  • Cloudflare Workers: workers.cloudflare.com
  • Upstash Redis: upstash.com

Ключевые выводы

Архитектура — это не про технологии, это про решения. Каждый слой отвечает на вопрос: Frontend — "что видит пользователь?", API — "кто маршрутизирует?", AI — "кто думает?", Data — "что помнит?", Payments — "как зарабатывать?". Начни со Starter стека: на старте бесплатных тарифов обычно хватает. Масштабируй когда нагрузка и выручка это оправдают, не до.


Следующий урок

→ Unit Economics AI-стека — полная финансовая математика на 3 уровня

Отметка хранится только в этом браузере и никуда не отправляется. Мой прогресс