Суть урока
Ты научился каждому инструменту по отдельности. Теперь смотришь на всё сразу — как это складывается в живой бизнес. Архитектура — это не схема для красоты на слайде. Это карта которая говорит тебе куда бежать когда что-то сломается, и что добавить когда придёт время расти.
Ключевые концепции
- 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:
// 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, но с правильной маршрутизацией по моделям:
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:
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:
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 зависит от хостера |
| 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/мес при оплате за год |
| Resend | По тарифу Resend | |
| Monitoring | LangSmith | По тарифу LangSmith |
| Итого | Сумма строк по текущим ценам |
Scale — серьёзный бизнес:
- Claude API: главная статья расходов при высоком трафике (Opus для критических задач)
- Supabase: тарифы выше Pro, смотри на сайте
- Dedicated infrastructure: по тарифам хостера
- Teams + support tools: по тарифам выбранных сервисов
- Итого: считай по своему стеку
Практика
Шаг 1: Нарисуй архитектуру своего AI-бизнеса
Возьми листок бумаги (или Miro/FigJam) и нарисуй:
- Кто пользователь — откуда заходит, что хочет
- Frontend — что он видит, где работает
- API — что обрабатывает запросы
- AI — где Claude, какие промпты, какая модель
- Data — что хранится, откуда берётся
- 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 уровня
Отметка хранится только в этом браузере и никуда не отправляется. Мой прогресс