Урок 2 · 16 мая 2026 · запись

Второе занятие — живой Telegram-бот за три часа

3 часа 07 минут · русский · 24 главы · 9 ⚠ обязательных
youtube.com/watch?v=B6Lw0bWlYGM ↗

От атомарной заметки
до поста в Telegram

Эту схему Рустам собирал в реальном времени за три часа. Слева — где живёт знание. В центре — где работает агент. Справа — где видит результат пользователь.

КОНТЕКСТ · ЗНАНИЯ АГЕНТ · ОБЛАКО ПОТРЕБИТЕЛЬ · ВЫХОД Obsidian атомарные заметки граф из 101 файла GitHub private repo источник правды Исходники YouTube subs · подкасты · посты VPS · DIGITAL OCEAN · 24/7 $6–24 / мес · Ubuntu · Амстердам Claude API platform.cloud.ai · pay-as-you-go Python-агент оркестратор + детерминированный код Skills паттерны MCP интеграции Telegram-бот через BotFather live demo · Аня → бот → пост Контент посты в твоём ToV Команда whitelist · ограничение доступа Гейткипер ТЫ · approve / reject ⚠ кошелёк на platform.cloud.ai · НЕ путать с подпиской cloud.ai + OpenAI API ($5 для speech-to-text) · DigitalOcean droplet ($6–24/мес)
Это уже не «карта мира», как было на уроке 1. Это рабочая схема, которую можно повторить шаг в шаг.

Не теория.
Боевая практика на 3 часа.

Вчера была карта. Сегодня — Telegram-бот Александры Дорофеевой собран с нуля до живого поста. Эта страница — рабочий конспект записи, со всеми моментами, которые Рустам пометил как «в конспекте обязательно».

9
обязательных пунктов, которые Рустам прямо попросил вынести в конспект
4
рабочих схемы: контент-машина, multi-agent, cloud.ai vs platform, deploy
15
вопросов участников с развёрнутыми ответами
АКТ I · ЧАС ПЕРВЫЙ

Genesis сработал.
Поехали в практику.

Обратная связь по домашнему, ключевые скиллы (Plan Mode + Superpowers), выбор первого боевого проекта и старт детального ТЗ для Claude Code.

00:00

Как прошёл Genesis-онбординг

Рустам открывает занятие с круга обратной связи. У всех онбординг прошёл по-разному, но в одну сторону: глубже, чем ожидали. Genesis не «спрашивает вопросы для галочки» — он строит модель тебя через корневые вопросы и неожиданные связи.

Даша описывает это так: «не просто вопросы ради вопросов, а он действительно понимает, как я размышляю». У других — выходы на сны (dream interpreter), на jung-юнгианские паттерны, на связки между событиями жизни, которые сам не замечал.

«Ощутила по своим ответам, что я точно на своём месте».
— Даша, после Genesis-онбординга · 00:01:59
09:00

Genesis собран за 20 минут

Самый частый вопрос после онбординга — «как ты это вообще сделал». Рустам показывает изнутри: весь Genesis собран примерно за 20 минут. Он надиктовал промпт, дал Claude задание исследовать как делают качественные онбординги, тот вернулся с планом, Рустам подкрутил — и Genesis ушёл в работу.

Ограничение не в инструментах. Ограничение — в формулировке задачи. Когда понимаешь, что хочешь получить, агент превращает идею в работающую папку за вечер.

12:00

intensive.altotrade.app — конспект прошлого занятия

Рустам показывает участникам страницу intensive.altotrade.app — конспект первого занятия, собранный за ~10 минут после эфира. Видео, чаптеры, схемы, цитаты, Q&A. Это та страница, которую ты сейчас, кстати, уже видел.

Цель показа — продемонстрировать, во что превращается обычный YouTube-ролик, когда у тебя есть рабочая инфраструктура. «Если бы вы спросили меня неделю назад — я бы сказал, что на сайт надо два дня. С Claude Code это десять минут».

17:00

Выбор первого спикера — Александра Дорофеева

Чтобы практика была живой, нужен живой проект. Рустам предлагает кому-нибудь из участников отдать свой бизнес-кейс. Соглашается Александра Дорофеева — она ведёт Telegram-канал для предпринимателей и хочет систему, которая будет писать ей посты в её собственном тоне голоса.

Задача формулируется коротко: «бот, который пишет посты как Саша, но Саша делает только финальное approve». Под эту задачу мы будем собирать всю систему до конца занятия.

21:00

Plan Mode + Superpowers — два рычага, без которых дальше никак

До того как Claude начнёт писать что-то реальное — Рустам включает Plan Mode. В этом режиме модель не пишет код. Она составляет план: что собирается делать, какими шагами, какие задаст уточняющие вопросы. Только когда план одобрен — начинает исполнение.

Параллельно — устанавливает Superpowers skill. Это пакет инструкций, который Рустам называет «пилюлей, дисциплинирующей мозги»: TDD, debugging-протоколы, brainstorming-паттерны. Без него Claude импровизирует. С ним — ведёт себя как инженер.

в конспекте обязательно
Plan Mode — для любой неопределённой задачи
Не давай Claude задачу «сделай X», пока не получил от него план. Plan Mode (Shift+Tab в Claude Code) переводит модель в режим «думаю и спрашиваю». Уточнения на этапе плана ловят 80% будущих ошибок и экономят часы переделок.
в конспекте обязательно
Superpowers skill — ставить сразу
Без Superpowers Claude импровизирует. Установи obra/superpowers (или из awesome-claude-skills) и положи в ~/.claude/skills/. Это базис для серьёзных задач.
30:00

Детальное ТЗ — как заставить Claude задавать вопросы

Рустам диктует Claude задачу для Сашиного бота. Ключевая фраза в ТЗ: «у тебя директивная задача — прежде чем приступать, задай мне максимум уточняющих вопросов». Даже когда сам ТЗ кажется подробным, агент находит дыры. Разреши ему их найти.

В ТЗ кладутся: ссылки на каналы (Сашин + 5 каналов-бенчмарков), YouTube-подкасты в её исполнении, целевая аудитория, что нельзя писать (приветствие, корпоративный новояз). Дальше — отпуск на 15 минут перерыва, агент работает параллельно по нескольким направлениям.

«Я очень детально даю ему ТЗ — но даже этого недостаточно. Его уточняющие вопросы ловят то, что я упустил».
— Рустам, 01:43
45:00

Многоагентные команды и CEO-агент

Перед перерывом Рустам забегает вперёд: как из одного агента вырастает организация на агентах. На вершине — CEO-агент, который видит все направления. Под ним — специализированные агенты (маркетинг, контент, продажи, операционка). Сбоку — reviewer-агенты, которые проверяют качество.

Это не модель «один большой Claude всё умеет». Это структура реальной команды, где каждый — узкий специалист, и вместе они масштабируются туда, куда штатной командой не дотянуться.

вопрос из зала · контекст: масштабирование
«Можно ли один проект делить на много папок — по функциям: маркетолог, контентщик, управленец?»
Рустам: держи всё в одном проекте. Внутри одного бизнеса один проект — этого достаточно. Разделяй только по бизнес-границам (личное vs бизнес). Если функции разнесены, агент медленнее переключается между ними.
АКТ II · ЧАС ВТОРОЙ

Контент-машина
в реальном времени

После перерыва агент возвращается с базой знаний для Сашиного канала: тон голоса, целевая аудитория, шаблоны постов, Style Rules. Дальше — Obsidian, GitHub, граф из 101 атомарной заметки.

1:00:00

Делегируй неопределённость самому агенту

Главный сдвиг мышления второго часа. Когда не знаешь, как сделать — не иди к Рустаму, не иди в Google, не парься. Иди к своему агенту и скажи: «я не знаю, как решить эту задачу, но понимаю, что нужно. Изучи варианты, найди лучшие практики, давай вместе подумаем».

Это не лень. Это новая роль человека: ты не исполнитель решений, ты тот, кто формулирует контекст и принимает результат. Решения находит агент.

«Приучайте себя — прямо с этой неопределённостью идите к нему. Он её рассеет и даст решение».
— Рустам, 01:00:01
1:05:00

Два слоя одного бота: VS Code и Telegram

Когда Саша работает с ботом, она работает не с ботом. Она работает с двумя слоями: VS Code — где живёт код, конфиг, инструкции, Knowledge Base. И Telegram — где она нажимает кнопку и получает готовый пост.

Это разделение принципиально. В Telegram быстрая правка не сжигает токены — поправил руками, поставил реакцию, всё. В VS Code меняется логика. Если бы всё было в Telegram, агент тратил бы деньги на каждый чих.

1:08:00

Не делай одного агента, который умеет всё

Типичная ошибка новичка — собрать «универсального помощника, который и пишет, и считает, и публикует». Рустам категоричен: один агент = одна функция. Маркетинг — отдельно. Контент — отдельно. Reels — отдельно. Финансы — отдельно.

Зачем: каждый специализированный агент глубже знает свой контекст, реже галлюцинирует, дешевле в обновлении. Когда меняется логика «маркетинга» — не страдает «контент». Микросервисы вместо монолита.

«Не пытайтесь сделать одного агента, который умеет делать всё то, что вы придумали».
— Рустам, 01:08:46
1:09:00

Вопрос Даши — связка всех регистраций

Даша задаёт вопрос, на который Рустам прямо в эфире говорит: «это обязательно в конспект». Все эти сервисы — GitHub, Telegram, API Anthropic, OpenAI, Digital Ocean, BotFather — это набор, который надо собрать в определённом порядке. Не зная порядка, ты застрянешь.

в конспекте обязательно · просьба Даши
Чек-лист регистраций по порядку

Когда поднимаешь свой первый бот, регистрируйся в этом порядке:

  1. GitHub — нужен сразу, чтобы агент сохранял код и KB
  2. Claude Code + связать с GitHub-аккаунтом (это один раз, дальше работает)
  3. Obsidian + Obsidian Git plugin — графовая база знаний
  4. Anthropic API на platform.cloud.ai (НЕ на cloud.ai!) — отдельный кошелёк для агентов
  5. OpenAI API на platform.openai.com — для распознавания речи ($5 хватит для старта)
  6. Digital Ocean — VPS-сервер в Амстердаме, $6–24/мес
  7. BotFather в Telegram — получить токен для бота

Без этого порядка деньги уходят не туда, токены не работают, бот не отвечает.

Дальше пункты 4 и 5 раскрываются критическим блоком в Акте III — это самая частая точка, где новички жгут деньги.

1:31:00

15 минут работы агента — четыре документа

Перерыв закончен. Рустам открывает экран — и показывает, что агент собрал за время кофе:

  • Tone of Voice — 5 характеристик голоса Саши, вытащенных из её 19 постов + двух подкастов: доверительный, без пафоса, прямолинейный, эмпатичный к выгоранию, системный через метафоры.
  • Target Audience — 4 сегмента с долями: 50% онлайн-школы, 25% продюсеры, 15% молодые эксперты, 10% остальные.
  • 6 шаблонов постов — провокация, список, личная история, кейс, тренд-анализ, анонс.
  • Style Rules — что обязательно, что запрещено.

Параллельно вторая ветка — декомпозиция двух часовых подкастов в атомарные заметки (это 36 600 слов, агент сделал за 15 минут).

«Он конкретизировал, а GPT бы взял и обобщил».
— Рустам, о том, почему для контента нужен именно Claude · 01:34:51
1:33:00

Style Rules — самый ценный артефакт

Style Rules — отдельный файл, который агент создал и теперь использует в каждом ответе. Внутри две колонки:

в конспекте обязательно
Что должно быть в Style Rules каждого контент-агента

ОБЯЗАТЕЛЬНО:

  • Конкретика, цифры, имена
  • Call-to-action в каждом посте
  • Голос автора (характеристики из ToV)
  • Свежая боль из жизни ICP

ЗАПРЕЩЕНО:

  • «Здравствуй, дорогие друзья» и любые формальные приветствия
  • Корпоративный новояз (синергия, оптимизация, эффективная коммуникация)
  • Выдуманные цифры — лучше «несколько» чем «73%»
  • Информационный мусор (всё, что не несёт ценности)

Каждое замечание, которое Саша делает на пост, попадает в Style Rules. Следующий пост уже учитывает её правку. Это и есть итеративное обучение системы.

1:38:00

Португальский канал — +3000 подписчиков за ночь

Рустам делится свежим экспериментом. У него ночью один из агентов работал в португалоязычном пространстве — переводил, адаптировал контент, постил. Утром: +3000 подписчиков и +100 000 просмотров на канале, в который никто из людей не лез.

Это не магия. Это инфраструктура: один агент работает с твоей KB на любом языке, в любой стране, в любое время. Спишь — он публикует. Не знаешь португальского — у тебя есть португалоязычный канал. Холодный трафик масштабируется через языки, не через найм.

1:41:00

Структура: всё в одном проекте, одна Knowledge Base

Ванная спрашивает про правильную нарезку. Рустам отвечает: в рамках одного бизнеса — один проект. Один CLAUDE.md, одна knowledge/, один skills/. Все агенты (маркетинг, контент, продажи) смотрят в одно место.

Это позволяет не дублировать контекст. Когда добавляешь новую информацию о ICP — её сразу видят все. Когда меняется бренд-гайд — обновляется один файл. Дублирование = бардак.

вопрос из зала · контекст: KB архитектура
«Школа от лица бренда, но эксперт — хедлайнер со своими каналами. Подгружать его контент в KB школы?»
Рустам: не нужно. Темы эксперта обычно шире и не релевантны бизнес-задачам школы. От этого агент пишет хуже, не лучше: размывается фокус. Контент эксперта и контент школы — две разные системы.
1:47:00

Жёсткое правило: 3 фаундера, нет сотрудников

Рустам формулирует своё операционное правило:

в конспекте обязательно · принцип
Никаких наёмных сотрудников. Только агенты.

В школе у Рустама 3 фаундера и ноль сотрудников. Маркетинг, контент, продажи, операционка, языки, поддержка — всё на агентах. Жена и партнёр «технически не очень шарят», но это и не нужно: они формулируют задачу, агент исполняет.

Зачем это правило: масштабирование без фонда зарплат, покрытие 24/7 по часовым поясам, агенты не выгорают и не уходят. Каждый рубль, который ты вложил в инфраструктуру — твой навсегда.

1:50:00

Obsidian + GitHub — 101 атомарная заметка в графе

Финальный аккорд второго часа. Агент создал папку на рабочем столе, разложил туда 101 файл атомарных заметок (вытащенных из подкастов), Рустам открыл в Obsidian — и на экране появился граф связей.

Дальше — приватный репозиторий на GitHub, авторизация через MacOS Keychain прошла автоматически (агент сам пройдёт через эту настройку, если у тебя её ещё нет), git init + commit + push. 101 файл синкнулся в облако. Теперь KB доступна с любого устройства, для любого следующего агента.

«Я просто словами через рот сказал ему: сделай так, чтобы вот этой базой знаний было удобно пользоваться разным агентам. И он расшифровал это в архитектуру».
— Рустам, 01:45:48
АКТ III · ЧАС ТРЕТИЙ

VPS, API, BotFather.
Бот вышел в эфир.

Самый плотный по «обязательным в конспекте» час. Здесь живут грабли, на которые наступают все — особенно с оплатой Claude API. Если пропустишь, потеряешь деньги.

2:00:00

Возвращение из перерыва — отладка Obsidian Git

У одной из участниц после перерыва не заработал плагин Obsidian Git. Рустам не лезет руками. Он говорит ей: «сделай скриншот того, что видишь, и отправь Claude. Скажи: вот тут ошибка, разберись». Claude разбирается за минуту: оказались пустые wikilink'и в related notes, агент их чинит.

Урок не про Obsidian. Урок про скриншот как универсальный язык с агентом. Когда не понимаешь, что Claude от тебя хочет — не описывай словами. Покажи ему то, что видишь сам.

2:08:00

Digital Ocean VPS — обязательная инфраструктура

Пока бот живёт на ноутбуке — он умирает, когда ты закрываешь крышку. Чтобы он работал 24/7 и отвечал пользователям в любое время, нужен VPS. Рустам ставит его на Digital Ocean — Droplet в Амстердаме, Ubuntu 24.04 LTS, 2 ГБ RAM, $12 в месяц.

в конспекте обязательно
VPS — обязательный шаг, если бот публичный
Локальный скрипт ≠ продакшн. Если бот должен отвечать кому-то кроме тебя — нужен сервер в облаке. Digital Ocean / Hetzner / любой провайдер. Регион ближе к пользователям. Ubuntu 24.04 LTS. От $6 в месяц. Без этого пункта система не работает в реальности.
2:10:00

Telegram-боты НЕ входят в подписку Claude

Самый неожиданный момент для новичков. Ты платишь $20 в месяц за Claude Pro, работаешь в VS Code, всё включено в подписку — ты привык. И вдруг твой Telegram-бот начинает падать или не отвечает.

в конспекте обязательно · экономика
Подписка Claude Pro и API — это два разных кошелька

Каждый запрос, который твой Telegram-бот делает к Claude, идёт через API на platform.cloud.ai — это pay-as-you-go, отдельный счёт. Подписка $20/мес на cloud.ai (для работы в чате) этот счёт не покрывает.

Если у бота большая аудитория, бюджет на API легко уходит в $50–500 в месяц. Это нормально — но планируй заранее, иначе сюрприз.

2:23:00

cloud.ai vs platform.cloud.ai — самое критическое в курсе

Здесь Рустам останавливается и говорит дословно: «это важная деталь, друзья. Пожалуйста, запомните, зафиксируйте». Это самая частая точка, где деньги уходят в никуда.

в конспекте обязательно · ⚠⚠⚠ критично
Это два разных сайта. Не перепутай.

cloud.ai — это веб-интерфейс Claude. Сюда заходишь чатиться. Тут подписка $20/мес.

platform.cloud.ai — это API-консоль. Тут создаются API-ключи, тут лежит кошелёк для агентов, тут pay-as-you-go.

Типичная ошибка: положил деньги на cloud.ai, ждёшь что Telegram-бот заработает. Не заработает. Бот стучится в platform.cloud.ai — там нулевой баланс.

Схема №1 · Два кошелька
cloud.ai Подписка для работы в чате и VS Code 💳 $20/мес фикс 💬 чат в браузере ⚙ Claude Code в VS Code ❌ Telegram-бот не работает platform.cloud.ai API · pay-as-you-go для агентов и ботов 💰 кошелёк по запросу 🔑 API keys 🤖 Telegram-бот живёт здесь ✓ платишь за каждый запрос
Запомни как банковские счета: один — для тебя, второй — для агента. Деньги между ними не перетекают.
2:27:00

BotFather и API-ключи — за 5 минут

Рустам открывает Telegram, идёт в @BotFather, создаёт бота за 30 секунд, копирует токен. Дальше — на platform.cloud.ai → Keys → Create, копирует API-ключ. Параллельно на platform.openai.com — ещё $5 кладёт на распознавание речи (это понадобится, когда бот будет принимать голосовые сообщения).

Все три токена — Telegram, Anthropic, OpenAI — кладутся в .env на VPS. Никогда в Git. Никогда в чат. Только в env-переменные на сервере.

2:35:00

Бот ЖИВ — vibe-coded за сессию

Рустам пишет в свой Telegram-бот: «привет, напиши пост на тему X». Бот думает несколько секунд — и присылает пост в Сашином тоне голоса, с её Style Rules, в одном из шаблонов. Зал в восторге.

За одну сессию — от чистого VS Code до живого бота в Telegram. Без программистов, без бэкенда, без подрядчиков. Вся логика — текст в файлах, который написал Claude по ТЗ.

«Мы с вами, друзья, завайп-кодили Telegram-бота сегодня. Вот».
— Рустам, момент, когда бот отвечает в Telegram · 02:35:32
2:37:00

Skills — повторяющиеся действия, которые агент запоминает

Когда бот собран, Рустам показывает, как добавить ему новый skill. Skill copywriter — это уже не «инструкция в чате», это отдельная папка, которую агент подгружает по триггеру. Сказал «напиши посты на месяц» — Claude поднимает copywriter, читает Style Rules, пишет 30 постов.

Каждый skill — это сжатый опыт. Чем больше ты их собираешь, тем умнее становится агент в твоих процессах. Skills передаются: можно скачать готовые, можно делиться своими. Это валюта эпохи.

вопрос из зала · контекст: ограничение доступа
«Стоит ли ограничивать доступ к Telegram-боту?» (Настя)
Рустам: да, всегда. В интернете есть боты, которые скликивают чужие бюджеты. Ограничивай по whitelist (по списку user-id) или по группе друзей/сотрудников. Сотрудников обязательно обучай: каждый запрос стоит денег.
2:44:00

«В конспекте этой схемы нет» — запрос участника

Кто-то из зала просит: «а если не сложно, кстати, в конспекте вот этой схемы нет — той, где MacBook заменяется на VPS, как у тебя на доске сейчас». Рустам соглашается. Это та схема, которая лежит в самом начале этой страницы — «От атомарной заметки до поста в Telegram».

в конспекте обязательно · запрос из зала
Архитектурная диаграмма Obsidian → GitHub → VPS → Claude → Telegram
Эта схема нужна, чтобы держать в голове весь поток. Где знание (Obsidian). Где сохраняется (GitHub). Где живёт агент (VPS + Claude API). Где пользователь его видит (Telegram). Эта схема — наверху страницы.
2:47:00

Синтез: всё, что мы собрали за три часа

Рустам прокручивает всю траекторию: начали с пустого VS Code → собрали Knowledge Base в Obsidian → синхронизировали с GitHub → подняли VPS на Digital Ocean → подключили Claude API (на правильном сайте!) → положили туда OpenAI ключ → создали бота через BotFather → задеплоили Python-агента → бот отвечает в Telegram.

Каждый из этих кусков по отдельности — простой. Сила в том, что они соединены. Это и есть инфраструктура: не отдельные инструменты, а связка.

3:02:00

Обратная связь участников

Александр: «это было ужасно. Жизнь теперь никогда не будет такой, как прежде. Я уже не выспался этой ночью. И рекавери у меня хреновый». Рустам: «я первые два месяца плохо спал, когда с этим разбирался. Главное смелее идти».

Станислав: описал двойственное чувство — хочется поделиться со всеми, потому что это другой мир свободы. И одновременно — никому не рассказывать, держать в тайне как преимущество.

Алёна формулирует ключевой инсайт занятия в форме вопроса: «любой бот — это неконечный продукт. Если он что-то не то делает, мы можем его бесконечно направлять и обучать, правильно?». Рустам: «всё верно. До каждой буковки ты можешь всё, что угодно менять».

«Реально берёт бессонницы. Потому что мы всего одну идею с вами реализовывали, ребят».
— Станислав · 03:02:59

Как мы собрали бот для Саши

То, что заняло три часа в эфире, можно повторить за вечер — если знать, в каком порядке. Ниже — 22 шага и пять моих реальных промптов, ровно как я их продиктовал Claude. Имена и каналы Сашины — у себя меняешь на свои.

5 фаз 22 шага 5 ключевых промптов 1 критический ⚠
Фаза 1

Уточнить требования

00:25 → 00:34 · ~10 минут
01
00:25

Опрос заказчика — цель, материалы, инструменты

Спрашиваю у Саши: что хочешь от бота (генерить посты), какие материалы у тебя есть (Telegram-канал, YouTube-подкасты), какие инструменты подключены (Obsidian? Digital Ocean? Claude Pro?). До этого момента — никакого кода, никакого Claude. Только живой разговор.

Зачем: ровно отсюда вытащим список материалов для Knowledge Base. Без этого Claude напишет «средний пост в среднем тоне».

02
00:27

Зафиксировать критический контекст

Саша поправляет меня вслух: «важно запомнить, я не Александр, я Александра, я девочка, девочка женского рода. Пожалуйста, запомни это». Я моментально кидаю это в чат Claude, чтобы попало в permanent memory бота.

Зачем: одна неисправленная мелочь будет вылезать каждый раз. Бот, который называет тебя не тем родом — раздражает на десятой минуте.

03
00:30

Определить интерфейс и стандарт качества

Решаем: как Саша будет триггерить бота — командой, голосом или текстом в чате. Саша выбирает «по запросу текстом или голосом, без автопубликации». Параллельно — стандарт качества: «уровень топ-каналов Telegram, не отличаются от качественных бизнес-каналов».

Зачем: интерфейс определяет UX. Стандарт качества — критерий, против которого Claude будет себя сверять.

04
00:32

Объявить методологию — атомарные заметки как фундамент

Говорю Claude: «принцип тамар-заметка у нас фундаментальным процессом». Это значит: всю информацию (подкасты, посты) разбираем на маленькие узлы по 300–500 слов, каждый с одной идеей. Дальше любой агент Саши сможет лезть в эту KB.

Зачем: система рассчитана на масштабирование до 10–100 тысяч заметок. Без атомарной структуры на 1000-й заметке начнётся хаос.

05
01:43

Включить Plan Mode и сказать «директивная задача»

Перевожу Claude в Plan Mode (Shift+Tab) и диктую формулу, которую использую при каждой большой задаче. Без неё Claude начинает писать код, не уточнив главное.

⌨ Промпт в Claude Code · вербатим «У тебя директивная задача. Прежде чем к ней приступать, задать мне огромное, неограниченное, ну типа десятки количеств вопросов уточняющих, для того чтобы ты чётко понял, что я от тебя хочу.»

Зачем: уточнения на этапе плана ловят 80% будущих ошибок. Без них переделывать дороже в 5 раз.

Фаза 2

Получить план и запустить research

00:41 → 01:50 · ~70 минут (с перерывом)
06
00:41

Принять план Claude из 5 этапов

Claude после уточняющих вопросов отдаёт план: Knowledge Base research → Obsidian setup → GitHub sync → VPS deploy → Bot testing. Читаю его глазами и одобряю одной фразой.

Зачем: план — это договор. Если что-то пойдёт не так, можно вернуться и спросить «ты обещал то-то, что произошло».

07
00:51

Bypass mode + параллельный research

Включаю режим bypass (Claude перестаёт спрашивать разрешения на каждый шаг), запускаю три параллельных research-агента: один читает Сашин Telegram-канал, второй — её YouTube-подкасты (через автосубтитры), третий — 5 каналов-бенчмарков. Уходим на перерыв.

Зачем: 15 минут параллельной работы = пара часов сериального чтения. Bypass нужен потому, что иначе будет 50 промптов «можно мне открыть файл?».

08
01:50

Получить артефакты Knowledge Base

После перерыва Claude отдаёт 75 атомарных заметок из подкастов (18 000 слов после очистки), Tone of Voice (5 характеристик), Target Audience (4 сегмента с долями), 6 шаблонов постов и Style Rules (что обязательно / что запрещено).

Зачем: это сердцевина бота. Если хочешь, чтобы он писал твоим голосом — твой голос должен быть разложен на эти артефакты.

Фаза 3

Obsidian + GitHub — база знаний в облако

01:51 → 02:01 · ~10 минут
09
01:51

Сказать Claude словами про Obsidian и GitHub

Жму на квадратик внизу VS Code (выходит из текущей задачи), диктую простыми словами. Claude сам находит приложение на компьютере, сам создаёт vault, сам инициализирует git.

⌨ Промпт в Claude Code · вербатим «Слушай, во-первых, ты нашёл программу Обсидиан на моём компьютере. Я хочу, чтобы ты создал там новую папочку и всё туда перенёс. И второе, что я хочу, чтобы ты сделал — это поводу гитхаба. Ты нашёл мой аккаунт Рустам, но я там новые репозитарии создам, имею это в виду.»

Зачем: ты не должен знать, где у Claude находится бинарник Obsidian или как сделать git init. Ты говоришь намерение. Он находит способ.

10
01:55

Открыть vault в Obsidian

Claude создал папку «Alex Knowledge» на Desktop с 101 файлом атомарных заметок. Открываю Obsidian: Settings → Open folder as vault → выбираю Alex Knowledge. На экране — граф связей идей из подкастов Саши.

11
01:57

Создать приватный GitHub-репозиторий

Иду на github.com → New repository → имя alex-knowledge → выбираю Private → Create. Копирую SSH-ссылку. Это будет облачным хранилищем базы знаний.

Зачем: GitHub — это точка сохранения. Если ноутбук умрёт, KB останется. И к ней можно подключить других агентов с других машин.

12
01:58

Git init + первый commit (101 файл)

Claude сам выполняет: git initgit add .git commit -m "initial knowledge base"git remote add origingit push. Авторизация прошла автоматически через MacOS Keychain (была настроена в L1). 101 файл в облаке.

13
01:59

Установить Obsidian Git plugin

В Obsidian: Settings → Community plugins → Browse → "Obsidian Git" → Install → Enable. Теперь каждое изменение в заметках автоматически коммитится и пушится в GitHub без ручной работы.

Зачем: каждая мысль, которую ты записал ночью, утром уже в облаке. Бот, который завтра запустится на VPS, увидит её мгновенно.

Фаза 4

Прод-инфраструктура — VPS, ключи, BotFather

02:08 → 02:29 · ~20 минут
14
02:08

Digital Ocean → Create Droplet

Иду на digitalocean.com → Droplets → Create Droplet. Выбираю: регион Амстердам (ближе к ЕС-аудитории), ОС Ubuntu 24.04 LTS, размер Basic 2GB RAM / 1 CPU ($12/мес). SSH-ключ — мой основной. Жму Create.

Зачем: VPS — это «домик в интернете», где живёт Python-агент. Без него бот работает только пока твой ноутбук открыт.

15
02:23

⚠ Anthropic API key — на platform.cloud.ai, НЕ на cloud.ai

Самый частый промах. Открываю platform.cloud.ai (НЕ cloud.ai!) → Settings → API keys → Create API key → имя «Dorofeyeva» → Copy. Сразу проверяю баланс на этом же сайте — там должны быть деньги.

⚠ Что Рустам сказал на занятии · вербатим «У вас в клоде вот есть клод, где вы подписку оформляете. И здесь есть баланс. Вот этот баланс — это не тот баланс, который нужно пополнять для того, чтобы по апе ваши Telegram-боты-агенты работали. Это не он. Запомните, пожалуйста, это не он. Он не находится на cloud.ai, он находится на platform.cloud.ai. Это очень важно, иначе вы просто пополните деньги и всё равно работать не будут.»

Зачем выделять: подписка ($20/мес на cloud.ai) — это для тебя в чате/IDE. API на platform.cloud.ai — это для бота. Деньги между ними не перетекают. Это место, где люди жгут $50–100, не понимая, почему бот молчит.

16
02:25

OpenAI API key + $5 на баланс

Открываю platform.openai.comAPI keys → Create new secret key → Copy. Пополняю баланс на $5 — этого хватит на месяцы распознавания голосовых через Whisper.

Зачем OpenAI, если бот на Claude: Anthropic не делает speech-to-text. Whisper от OpenAI — самый стабильный для голосовых сообщений в Telegram.

17
02:27

Создать бота через @BotFather

В Telegram: пишу @BotFather/newbot → имя Dorofeyeva_content_bot → @username. BotFather возвращает токен формата 123456:ABC-DEF.... Копирую.

18
02:28

Получить свой Telegram User ID через @getmyidbot

В Telegram: @getmyidbot/start → бот возвращает твой числовой ID (например, 123456789). Этот ID будет в whitelist — только этот юзер сможет писать боту, остальные получат отказ.

Зачем: без whitelist любой случайный человек найдёт твоего бота и начнёт скликивать твой API-бюджет. $50 в день — реальный риск.

Фаза 5

Подключить и получить первый пост

02:29 → 02:50 · ~20 минут
19
02:29

Передать Claude 4 параметра одной командой

Возвращаюсь в Claude Code и говорю: «вот тебе ключи, подключи и запусти бота локально перед деплоем на VPS». Кидаю четыре строки одним блоком:

⌨ 4 параметра, которые отдаёшь Claude ANTHROPIC_API_KEY=sk-ant-... (из platform.cloud.ai) OPENAI_API_KEY=sk-... (из platform.openai.com) TELEGRAM_BOT_TOKEN=123456:ABC... (из BotFather) TELEGRAM_USER_ID=123456789 (из @getmyidbot)

Claude сам кладёт это в .env на VPS, подключает Sonnet, Whisper и Telegram API, добавляет проверку whitelist. Никогда не кладёт ключи в Git.

20
02:33

Тест: первый промпт боту в Telegram

Иду в свой только что созданный Telegram-бот, пишу прямо туда:

⌨ Первый промпт боту · вербатим «Привет. Скажи мне, пожалуйста, можешь ли ты написать мне пост про то, о чём стоит думать собственнику онлайн-школы в ближайшем году. В первую очередь.»

Тестим именно так — как реальный пользователь, а не как разработчик. Если живой человек не может говорить с ботом обычным языком — что-то не так в ТЗ.

21
02:35

Бот отвечает готовым постом в стилистике Саши

Бот думает несколько секунд → подгружает релевантные атомарные заметки из KB → собирает пост по одному из 6 шаблонов → возвращает в Telegram. В ответе есть и сам пост, и reference на использованные заметки, и подсказка: «дать правки текстом, переписать заново, или прислать голосовой фидбэк».

Это и есть момент Х — за один сеанс от пустого VS Code до живого бота, отвечающего в твоём тоне голоса.

22
02:37

Превратить всё в Skill для масштабирования

Финальная капитализация: то, что мы собрали как разовый бот, я прошу Claude свернуть в skill. Дальше в любом проекте смогу его вызывать — без перенастройки.

⌨ Промпт «сделай скилл» · вербатим «Слушай, можешь из всего того, что мы с тобой сделали, бота, которого мы сделали, информацию, которую мы сделали, сделать скилл копирайтера. И каждый раз, когда я буду писать тебе просить "Напиши мне посты вот на эту тему", ты будешь писать посты в рамках вот этого веськода, в рамках этого скила. Он будет всю нашу постройку использовать и в рамках подписки использовать.»

Зачем: после этого можно открыть новый чат и сказать «используй скилл копирайтера и напиши посты на месяц» — Claude поднимет всё, что мы сегодня собирали, и применит. Это конвертирует разовую сборку в инструмент на всю жизнь.

Итог
Три часа в эфире = 22 шага по списку. Теперь это твой боевой шаблон. Имена, канал, бенчмарки — меняешь под себя. Остальное остаётся.

Общие вопросы
из зала

Эти вопросы участники задавали по ходу занятия, но они не привязаны к конкретному моменту демо. Полезны для тех, кто будет смотреть запись.

0:21Что такое Plan Mode и когда им пользоваться?

Plan Mode — это режим Claude Code, в котором модель не пишет код. Она составляет план: какие шаги, какие файлы тронет, какие задаст уточняющие вопросы. Включается через Shift+Tab.

Использовать всегда, когда задача неопределённая, большая или с неизвестной архитектурой. Уточнения на этапе плана дешевле, чем переделки кода.

0:20Что такое Superpowers skill и зачем он нужен?

Это набор инструкций (skill в Claude Code), который Рустам называет «пилюлей, дисциплинирующей мозги». Внутри — паттерны TDD, debugging, brainstorming, безопасной работы с кодом. Когда установлен — Claude ведёт себя как инженер: проверяет, тестирует, не торопится.

Без него Claude импровизирует. Это разница между «студент сдал лабу» и «инженер сделал релиз». Ставится в ~/.claude/skills/. Источник: obra/superpowers на GitHub.

0:09Как делал Genesis? Это сложный продукт.

~20 минут на надиктовку промпта + указание Claude поисследовать, как делают качественные онбординги в людском коучинге (D.O.S., Robbins, Motivational Interviewing). Claude вернул план — Рустам подкрутил формулировки. Дальше Claude собрал папку skills/genesis/ с инструкциями для интервью.

Сложность не в продукте. Сложность в формулировке: что должно получиться. Когда это понятно — агент превращает идею в работающую папку за вечер.

1:41Как делить проекты — по функциям или по бизнесам?

По бизнес-границам, не по функциям. Один бизнес = один проект (один CLAUDE.md, одна KB, один skills/). Внутри проекта функции (маркетинг, контент, продажи) обслуживают разные агенты — но смотрят в одну Knowledge Base.

Исключение: личное и бизнес. Это две разные системы, держи в разных папках.

1:46Школа от лица бренда + эксперт-хедлайнер со своими каналами. Подгружать ли его контент в KB школы?

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

Если эксперт — публичная фигура, его контент — отдельная система. Можно её строить параллельно, но не смешивать с KB школы.

2:11Как оценить бюджет на API? С чего начать?

Очень зависит от объёма. Грубый ориентир: один пост через Claude API в Telegram-боте — несколько центов. 100 постов в месяц — 5–10$. 1000 постов — 50–100$.

Для старта: пополни на platform.cloud.ai минимум $20, посмотри неделю реальную траты. Дальше планируешь по факту. Внутри Claude Pro ($20/мес в VS Code) — всё бесплатно, поэтому держи разработку в VS Code, а в Telegram только финальный продакшн.

2:31В какой момент начинать платить за всё это?

Когда запускаешь агента на VPS и начинаются реальные запросы. До этого момента вся разработка в VS Code — внутри подписки Claude Pro.

Минимальный стартовый бюджет: Digital Ocean ($6–12), Anthropic API ($20 на старт), OpenAI ($5 для распознавания речи). Итого ~$30 в первый месяц, дальше зависит от трафика.

1:40А что с генерацией картинок — баннеры, обложки? Отдельно в дизайне?

Сегодня не дошли. Рустам обещал разобрать на третьем занятии все способы создания картинок — статика, баннеры, иллюстрации. Это отдельный слой, требует отдельной демонстрации (Claude Design, Midjourney через MCP, видео-skills).

2:45Как ограничить доступ к Telegram-боту?

Желательно всегда ограничивать. В интернете есть боты, которые скликивают чужие API-бюджеты.

Простой способ — whitelist по Telegram user-id. На уровне Python-агента проверяй message.from_user.id in ALLOWED_USERS. Если не свой — отказываешь. Сотрудников обучай: каждый запрос стоит денег, не пиши боту «привет, как дела» 20 раз в день.

3:07Бот — это «конечный продукт» или он бесконечно обучаемый?

Вопрос Алёны на закрытие. Рустам: любой бот неконечный. Каждый раз, когда он что-то делает не так, ты можешь поправить его инструкцию, поправить Style Rules, поправить KB. Следующий запрос будет лучше.

«До каждой буковки ты можешь всё, что угодно менять». Это и есть главное отличие от наёмного сотрудника — агент сохраняет каждую правку навсегда.

Завтра — третье занятие

Теория управления идеями.
Как не утонуть в собственных проектах

Рустам анонсирует: завтра будет большой теоретический блок. Главная боль вайп-кодеров — слишком много идей, параллельных недоведённых проектов, бардак в системе. Будет разбор подхода, которым он сам управляет хаосом.

1.
Подход к управлению идеями (anti-chaos framework)
2.
Как доводить проекты до конца, когда хочется браться за следующее
3.
Создание картинок и визуала через AI — отложенный с сегодня раздел
4.
Финальная сборка: куда дальше развивать вашу систему после интенсива

«Завтра то, что мы будем разбирать, — оно фиксит ту проблему, с которой вы все сейчас столкнётесь после этого занятия».