Как два ИИ-агента и один человек собрали этот сайт за ночь
Вы сейчас читаете статью, которую написал ИИ-агент. Она лежит в Notion. А сайт, на котором вы её видите, был собран этим же агентом — вместе с ещё одним ИИ и одним живым человеком. За одну ночь.
Звучит как маркетинговый буллшит? Сейчас расскажу, как всё было на самом деле.
Идея: «Мне нужен сайт, но я не хочу Tilda»
Меня зовут Сергей Пименов. Я занимаюсь ИИ-консалтингом, продюсирую контент и строю системы на основе ИИ-агентов. У меня есть Telegram-каналы, клиенты, проекты — а личного сайта про ИИ нет. Классика.
Почему не было? Потому что каждый раз, когда я думал о новом сайте, в голове запускался один и тот же сценарий: Tilda, хостинг, плагины, обновления, «ваш сайт был взломан», бэкапы, и бесконечное «а дизайн мы доделаем на следующей неделе». Я это проходил. Не хочу.
Я хотел другое:
- Писать контент в Notion — потому что я и так живу в Notion
- Сайт должен быть мгновенным — никаких серверных рендеров, чистая статика
- Без админских панелей — никаких логинов, паролей, дашбордов
- Обновляется сам — написал статью в Notion, она появилась на сайте
И ещё одно: я хотел собрать его с помощью ИИ. Не «использовать ChatGPT для генерации текста», а буквально — два ИИ-агента как полноценная команда.

Команда: человек, архитектор и разработчик
Вот моя команда:
Я — продакт-оунер. Принимаю решения, задаю направление, говорю «нет, переделай» и «да, это оно».
Шеф — ИИ-агент в Notion. Мой архитектор, менеджер проекта и автор этой статьи. Шеф пишет PRD, декомпозирует задачи, ревьюит код, ведёт лог проекта и следит за тем, чтобы всё двигалось. Он не пишет код — он думает.
Саркис — ИИ-агент на VPS. Разработчик. Получает задачу в виде чёткого ТЗ, пишет код, коммитит в GitHub, билдит, деплоит. Работает через терминал, живёт на сервере.
Процесс выглядит так: Саркис делает задачу → я пересылаю отчёт Шефу → Шеф ревьюит код в GitHub → даёт вердикт (APPROVED / NEEDS REVISION) → формулирует следующую задачу → я копирую её Саркису.
Я — связующее звено. И это осознанный выбор.
Да, я мог бы соединить агентов напрямую. Но я специально встал между ними, чтобы пропускать через себя каждый коммит, каждый PR, каждое архитектурное решение. Потому что мне нужно было не просто получить сайт — мне нужно было понять, как он создаётся.
И я понял. За эту ночь я прокачался в разработке больше, чем за любой онлайн-курс. Я теперь читаю диффы в GitHub, понимаю, зачем нужен Zod, и могу внятно объяснить, почему Astro Content Layer оборачивает данные в матрёшку. У меня появился новый навык — управление ИИ-командой разработки. Не абстрактное «я использую ИИ», а конкретное: декомпозиция задач, code review, контроль качества, принятие архитектурных решений.
Ирония: ИИ-консультант нанял двух ИИ — и сам стал лучшим техническим менеджером.
Почему Astro, а не Next.js
Первый архитектурный выбор: фреймворк.
Шеф предложил Astro — статический генератор, который по умолчанию отдаёт ноль JavaScript на клиент. Для контент-сайта это идеально: страницы генерируются при билде, nginx раздаёт готовый HTML, загрузка — мгновенная.
Next.js, Nuxt, SvelteKit — всё это серверные фреймворки. Им нужен Node.js-процесс, который работает постоянно. Для моего сайта с десятком статей — это как нанять дальнобойщика для доставки пиццы.
Astro + Tailwind CSS + DaisyUI — и у нас есть красивый, быстрый, адаптивный сайт с тремя темами оформления. Из коробки.

Notion как CMS: идея, которая не должна была работать
А вот это — самая интересная часть.
Notion — это не CMS. Notion — это блокнот с базами данных. Но у него есть API, а у API есть метод databases.query(). И если вы умеете думать нестандартно, то Notion становится CMS.
Мы создали три базы данных прямо в моём рабочем пространстве Notion:
- 📝 Статьи — экспертные материалы (вы сейчас читаете одну из них)
- ✏️ Блог — короткие заметки и мысли
- 💼 Услуги — список того, чем я могу помочь
Каждая запись — обычная страница Notion. Заголовок, описание, теги, статус, дата. Тело страницы — контент статьи. Я пишу прямо в Notion, как привык, с форматированием, картинками, блоками кода.
При каждом билде Astro подключается к Notion API, забирает все страницы со статусом «Опубликовано», конвертирует блоки в HTML и генерирует статический сайт.
Результат: я пишу статью в Notion → через несколько секунд она на сайте. Без единого логина в админку. Без CMS. Без базы данных на сервере.

Ночь багов: как всё ломалось
Теперь самое интересное — как это не работало.
Баг 1: Invisible Environment
Astro Content Layer запускается в изолированном контексте Vite. Это значит, что process.env — пустой. Совсем. Ваш .env файл есть, переменные в нём есть, но код их не видит.
Мы потратили час, пытаясь понять, почему Notion API возвращает object_not_found. Ключ правильный? Правильный. ID базы правильный? Правильный. curl работает? Работает. Astro — нет.
Решение: loadEnv из Vite вместо process.env. Одна строчка. Час жизни.
Баг 2: The Phantom Function
Саркис установил @notionhq/client версии 5.9. Свежая, последняя. И в ней... databases.query() больше не существует.
API клиента полностью переписан в v5. Но ошибка маскировалась — вместо внятного method not found мы получали всё тот же object_not_found. Час отладки. Даунгрейд до v2.2.15. Заработало.
Мораль: «последняя версия» — не всегда лучшая.
Баг 3: The Matryoshka Data
Astro Content Layer simple loader оборачивает всё, что вы вернёте, в объект data. Если вы вернёте {id, data: {title: "Привет"}, body: "текст"}, то реальный title окажется в entry.data.data.title.
Матрёшка. Данные внутри данных внутри данных.
Все slug'и показывали «Untitled». Все описания — пустые. Zod-валидация проходила, потому что мы поставили optional() и default() на все поля.
Час. Ещё один час. Debug-логи. И вот оно: data keys = title, slug, ..., id, data, body — лишние ключи id, data, body внутри entry.data. Root cause найдена. Фикс: возвращать плоские объекты.
Баг 4: Исчезающие картинки
Notion API отдаёт файлы через подписанные URL Amazon S3. Срок жизни — один час. Через час после билда все картинки на сайте превращаются в 404.
Это был блокер. Без решения этой проблемы наполнять сайт контентом с иллюстрациями невозможно.
Решение: при каждом билде скачиваем все изображения из Notion, конвертируем в WebP (оптимальный формат для веба), ресайзим до 1200px, кэшируем по ID. Повторный билд не перекачивает уже скачанное. URL на сайте ведут на локальные файлы — они не истекают никогда.

Что получилось
Итого: за одну ночь (ладно, длинную ночь) мы собрали:
- ✅ Полностью статический сайт на Astro + Tailwind + DaisyUI
- ✅ CMS на базе Notion — контент управляется без кода
- ✅ Автоматический image pipeline — обложки и иллюстрации
- ✅ Динамические OG-картинки для соцсетей
- ✅ Sitemap с датами для Google
- ✅ 3 цветовые темы (переключите — кнопка вверху справа)
- ✅ SSL, nginx, автосборка дважды в день
- ✅ Всё в GitHub, всё версионировано
8 страниц. 26+ коммитов. Ноль нанятых разработчиков.
Так, а зачем всё это?
Честный вопрос. Зачем ИИ-консультант строит сайт с помощью ИИ?
Потому что это демонстрация подхода, а не просто сайт.
Я мог нанять фрилансера. Мог купить шаблон. Мог вообще сделать одностраничник в Tilda за полчаса. Но тогда у меня был бы сайт. А сейчас у меня есть кейс.
Вот что я показываю клиентам: ИИ-агенты — это не игрушка. Не чат-бот, который отвечает «Как я могу вам помочь?». Это рабочая сила. Архитектор, который пишет PRD и ревьюит код. Разработчик, который коммитит в GitHub и деплоит на сервер.
Эта статья — живое доказательство. Она написана ИИ-агентом, лежит в Notion и отображается на сайте, который этот же агент помогал спроектировать.
Что дальше
Фаза 2 — кастомный дизайн. Сейчас сайт работает на стартовой теме. Скоро он будет выглядеть по-другому. Но фундамент — Notion CMS, image pipeline, OG-генератор, автосборка — это уже готово и работает.
А ещё — здесь будут появляться новые статьи. О том, как работают ИИ-агенты. Как выстраивать с ними процессы. Как думать об автоматизации. И о том, как перестать бояться того, что ИИ «заберёт вашу работу» — и начать с ним работать.
Добро пожаловать на pimenov.ai. Мы только начали.
Статья написана Шефом — ИИ-агентом в Notion. Отредактирована и утверждена Сергеем Пименовым. Опубликована через тот самый пайплайн, о котором вы только что прочитали.