От идеи к архитектуре
Перейти к разделу
Начните с проблемы, а не с технологии
Главная ошибка при создании приложений с помощью AI — сразу переходить к коду. Люди спрашивают «сделай мне приложение на Next.js», вместо того чтобы сказать «мне нужен сайт для продажи онлайн-курсов на двух языках». Технология — это средство, а не цель. Когда вы чётко описываете проблему, AI может предложить значительно лучшее решение, чем если вы диктуете стек.
Этот курс документирует, как PraktickAI — именно тот сайт, который вы сейчас читаете — был создан полностью с помощью AI-агентов. Каждая строка кода, каждый деплой-скрипт, каждая миграция базы данных написана Claude Code. Человек принимал архитектурные решения и валидировал результат. AI делал всё остальное.
Это не игрушечный проект и не демо. PraktickAI — production-приложение с реальными пользователями, реальными платежами и реальными данными. Если AI может создать это, он может создать и ваш проект — главное знать, как его направлять.
Как описать проект AI
Думайте о первом разговоре с AI как о брифе проекта. Вы — клиент, AI — консультант. Опишите, что вам нужно, для кого это и какие у вас ограничения. Чем конкретнее вы опишете проблему, тем лучше будет предложение по архитектуре.
I need a website for my AI training and consulting business.
Requirements:
- Bilingual (Czech + English), with easy addition of more languages later
- Sell online courses with payment gateway
- Blog with SEO-optimized pages
- Social login (Google, LinkedIn)
- Admin panel for managing content
- Must be cheap to host (under EUR 10/month total)
- Must be fast to build (one developer + AI)
Constraints:
- I know Python and some JavaScript
- I want to deploy to my own infrastructure, not be locked into a platform
- Content should be easy to update without redeployingЗаметьте: нет никакого упоминания Next.js, Django или какой-либо конкретной технологии. Вы описываете проблему — AI предлагает решение. Это критический сдвиг мышления: вы — архитектор, AI — строитель.
Пусть AI предложит архитектуру
Когда вы даёте AI чёткое описание проблемы, он может предложить удивительно хорошую архитектуру. Для PraktickAI Claude предложил разделённый подход frontend/backend: Next.js для frontend (отличный SEO, встроенная i18n, хостинг на Vercel) и Django для backend (зрелый ORM, админ-панель, экосистема Python). Это было правильное решение.
claude "Based on my requirements, propose an architecture.
Include: tech stack, hosting strategy, database,
CI/CD approach, and cost estimate.
Explain WHY you chose each technology."Ключевая фраза — «объясни ПОЧЕМУ». Без неё AI просто перечисляет технологии. С ней — даёт обоснование, которое можно оценить. Для PraktickAI рассуждение было таким: Next.js — потому что Vercel предлагает бесплатный хостинг для frontend и отличную поддержку i18n. Django — потому что его ORM и админ-панель экономят недели работы, а Django Ninja обеспечивает типобезопасные API с автоматической документацией OpenAPI.
Не принимайте первое предложение слепо. Оспаривайте его. Спросите «каковы недостатки?» и «какие альтернативы вы рассматривали?» AI часто предлагает наиболее популярное, а не наилучшее для вашего конкретного случая. Возражайте — и получите лучшую архитектуру.
Файл CLAUDE.md: мозг вашего проекта
Когда у вас есть архитектура, самый важный файл, который вы создадите, — это CLAUDE.md. Это markdown-файл в корне проекта, который рассказывает AI-агентам всё необходимое: как запустить проект, как работают тесты, как выглядит API, детали деплоя и выводы, сделанные на горьком опыте.
Думайте о CLAUDE.md как об институциональной памяти. Каждый раз, когда AI что-то узнаёт на собственном опыте — особенность Kubernetes, нюанс платёжного шлюза, важная переменная окружения — это попадает в CLAUDE.md. Следующие AI-сессии читают этот файл первым и не повторяют те же ошибки.
# MyProject Backend
Django + Django Ninja REST API.
## Quick Start
docker compose up -d db
uv run python manage.py migrate
uv run python manage.py runserver 0.0.0.0:8008
uv run pytest
## Architecture Notes
- Frontend proxies /api/* to backend via vercel.json rewrites
- Social auth: code must be injected into request.POST BEFORE
calling load_strategy() — social_core caches request data at init
## K8s Gotchas (learned the hard way)
- DATABASE_URL must be URL-encoded — passwords with / break django-environ
- SECURE_SSL_REDIRECT must be off until TLS is set up
- Health probes need Host: localhost headerФайл CLAUDE.md для backend PraktickAI занимает более 300 строк. Он включает все API-эндпоинты, все переменные окружения, все тонкости деплоя. Когда начинается новая AI-сессия, она читает этот файл и сразу получает полный контекст. Без него AI повторял бы одни и те же ошибки снова и снова.
README как контракт
Помимо CLAUDE.md, README служит контрактом между вами и AI. Пишите о том, чем хотите сделать проект, а не только о том, чем он является сейчас. Включите цели, сроки, требования, которые не обсуждаются. AI читает это и подстраивает свою работу.
В README PraktickAI содержится бизнес-контекст (консалтинг по AI-обучению), целевая аудитория (технические команды), ценовая стратегия и цели деплоя. Когда AI создаёт новую функцию, у него есть весь этот контекст, и он принимает лучшие решения — например, делает интерфейс профессиональным, а не игривым, или отдаёт приоритет чешскому контенту над английским.
Реальный стек PraktickAI (и что он стоит)
- Frontend: Next.js (App Router), TypeScript, Tailwind CSS — хостинг на Vercel (бесплатный тариф)
- Backend: Django + Django Ninja REST API — хостинг на k3s (Kubernetes) на Hetzner VPS
- База данных: PostgreSQL — на том же Hetzner VPS
- AI-инструменты: Claude Code (основной), GitHub Copilot (дополнительный)
- CI/CD: GitHub Actions — линтинг, проверка типов, тесты, деплой при каждом push
- Общая месячная стоимость: EUR 3.49 (только Hetzner VPS)
Это не опечатка. Полноценное production-веб-приложение с поддержкой двух языков, обработкой платежей, социальной аутентификацией и автоматическими деплоями работает за EUR 3.49 в месяц. Frontend бесплатный (Vercel), база данных работает на том же VPS, что и backend, а GitHub Actions бесплатны для публичных репозиториев.
Откройте Claude Code (или любой AI-инструмент для кодирования) и опишите веб-приложение, которое хотите создать. НЕ упоминайте никаких конкретных технологий. Сосредоточьтесь на: 1. Какую проблему решает приложение? 2. Кто его пользователи? 3. Каковы основные функции (не более 5)? 4. Каковы ваши ограничения (бюджет, навыки, сроки)? Затем попросите AI предложить архитектуру с обоснованием. Сравните его предложение с тем, что вы бы выбрали сами.
Подсказка
Если AI предлагает стек, с которым вы незнакомы, попросите его объяснить кривую обучения и есть ли более простые альтернативы. Лучший стек — тот, с которым вы реально сможете довести проект до конца, а не теоретически оптимальный.
Создайте файл CLAUDE.md для вашего проекта (даже если проект ещё не существует). Включите: 1. Однострочное описание проекта 2. Раздел Quick Start с командами для запуска проекта 3. Раздел Architecture Notes с ключевыми решениями и их обоснованием 4. Хотя бы один «урок, извлечённый на горьком опыте» Для начала используйте эту команду: claude "Create a CLAUDE.md file for my project. The project is [your description]. Include quick start commands, architecture decisions with reasoning, and a section for gotchas we discover along the way."
Подсказка
CLAUDE.md — живой документ. Начните с малого и дополняйте каждый раз, когда узнаёте что-то новое о проекте. Самые ценные записи — те, которые спасают от повторения ошибок.
Возьмите идею приложения и попросите AI предложить 3 разных архитектурных подхода: 1. Спросите AI: «Предложи 3 разные архитектуры для этого приложения: [ваша идея]. Для каждой: технологический стек, плюсы, минусы, ожидаемая сложность (1-5) и варианты деплоя.» 2. Для каждой архитектуры задайте дополнительные вопросы: «Как выглядела бы схема базы данных?» «Каковы основные API-эндпоинты?» 3. Выберите архитектуру, которая лучше всего соответствует вашим ограничениям (бюджет, сроки, навыки) 4. Попросите AI создать детальный план реализации для выбранной архитектуры 5. Просмотрите план и определите 2-3 вещи, которые AI сделал неправильно или усложнил Задокументируйте ваше решение и обоснование в CLAUDE.md.
Подсказка
AI часто переусложняет архитектуру для простых приложений. Блогу не нужны микросервисы. Возражайте, когда AI предлагает сложность, которая не соответствует вашему масштабу. Лучшая архитектура — самая простая, удовлетворяющая требованиям.
- Начните с чёткого описания проблемы, а не с выбора технологии — пусть AI предложит архитектуру
- Оспаривайте предложения AI: просите обоснование, указывайте на недостатки и альтернативы
- CLAUDE.md — самый важный файл в проекте, институциональная память для AI-агентов
- README — это контракт: пишите о том, чем хотите сделать проект, а не только о том, чем он является
- Production-веб-приложение может работать менее чем за EUR 10 в месяц — AI делает это достижимым для одного разработчика
- Вы — архитектор, AI — строитель; это разделение труда — ключ к успеху