Урок 1

Совет — зная это, вы уже можете командовать

Установка Claude Code — одна строка.

Откройте терминал (чёрный экран) и вставьте одну строку. Всё.

Агенту: “curl -fsSL https://claude.ai/install.sh | bash”

Пользователям Windows нужно сначала установить WSL (среду Linux). Выполните “wsl –install” в PowerShell и перезагрузитесь.

5 ключевых слов для команд

  1. API — стандарт общения между программами. “Сделай API”
  2. Фронтенд — видимый экран. “Сделай экран на React”
  3. База данных (БД) — место хранения данных. “Сохрани в БД”
  4. Коммит — сохранение текущего состояния. “Закоммить”
  5. Деплой — загрузка в интернет. “Задеплой”

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

Памятью ИИ управляют 3 файла

  • CLAUDE.md — правила проекта. ИИ автоматически считывает его при каждом новом сеансе. Сюда пишут: “Наша команда работает так”
  • Требования.md — запись ваших решений. Бизнес-решения вроде “Скидка для VIP 10%” записываются с датами
  • Прогресс.md — что уже сделано. Позволяет команде “продолжи” работать в новой сессии

Все три файла в формате Markdown. Их может читать и писать даже человек без навыков программирования.

Советы по общению

  • Давайте задания по одному. “Сделай сначала API логина” лучше, чем “Сделай логин, регистрацию и дашборд”
  • При ошибке Claude Code сам проверяет и исправляет. Не нужно копировать вручную
  • После 100 сообщений качество ИИ падает. Начните новую сессию, но обновите те 3 файла

Быстрый старт

Установите Claude Code и проведите первый диалог. Это займёт 5 минут.

  1. Создайте папку проекта в терминале и запустите Claude Code

Агенту: “mkdir -p ~/projects/my-first-app && cd ~/projects/my-first-app && claude”

  1. Авторизуйтесь в браузере (только в первый раз)

  2. Начните первый диалог

Агенту: “Создай в этой папке сервер Go Gin. Один API на порту 8080, возвращающий Hello, World.”

ИИ создаст файлы, запустит сервер и проверит. Откройте http://localhost:8080 в браузере.


Почему нужно командовать именно так

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

“Можно ли продолжать наращивать это?”

Чтобы ответить на этот вопрос, сначала нужно точно увидеть, где мы находимся. Какие инструменты есть, какие термины используются, по каким паттернам ведётся работа. Урок 1 — это время развернуть карту. Со 2-го урока мы прокладываем маршруты на этой карте.

Ландшафт инструментов ИИ-кодирования

Существует несколько инструментов, которые пишут код по словесным указаниям. Они делятся на две категории.

Инструменты на базе редактора — ИИ встроен в редактор кода.

ИнструментОсобенности
CursorИИ-редактор на базе VS Code. Даёте ИИ правки, видя код
GitHub CopilotПлагин для VS Code/JetBrains. Автодополнение и чат
WindsurfИИ-редактор, аналогичный Cursor

Инструменты на базе редактора оптимизированы для правки кода визуально. Для программистов это удобно. Но для человека, не читающего код, символы на экране бессмысленны.

Терминальные агенты — ИИ самостоятельно принимает решения и действует в терминале (чёрном экране).

ИнструментОсобенности
Claude CodeТерминальный агент от Anthropic. Использует модель Claude
Codex CLIТерминальный агент от OpenAI. Использует модели GPT/o

Терминальные агенты самостоятельно решают не только редактирование кода, но и выполнение команд, проверку тестов, создание файлов. Скажете “сделай экран” — он создаст файлы, запустит сервер, исправит ошибки и снова проверит. Этот цикл автономной проверки — ключевое отличие от инструментов на базе редактора.

Почему Claude Code

Этот курс основан на Claude Code.

Claude Code на данный момент лучше всех среди терминальных агентов справляется с автономной обработкой сложных многофайловых задач. Токены — это единицы текста, которые ИИ считывает. 200K (200 тысяч) — это примерно одна книга, 1M (миллион) — пять книг. Claude Code поддерживает базовый контекст 200K токенов, а модель Opus 4.6 — до 1M, что позволяет охватить весь проект и одновременно редактировать множество файлов. Скажете “сделай эту функцию” — он найдёт связанные файлы, напишет код, запустит тесты и исправит ошибки в автоматическом цикле. Агентный режим в редакторах вроде Cursor делает похожие попытки, но по охвату и глубине автономных решений терминальные агенты на шаг впереди.

А как же Codex CLI? Это терминальный агент OpenAI, концептуально идентичный Claude Code. Программа сделана быстро и доступна в подписке ChatGPT. Однако автор не имеет опыта использования в продакшене, поэтому в этом курсе он не рассматривается. Освоив принципы Claude Code, вы сможете применить их к Codex CLI. Инструменты разные, но методология одна.

Установка Claude Code

Курс ориентирован на Ubuntu (или WSL). Для Mac пользователей большинство команд тоже работает.

Предварительные требования

  1. Аккаунт Anthropic: зарегистрируйтесь на https://console.anthropic.com
  2. План подписки: Claude Pro ($20/мес.), Max ($100/мес. или $200/мес.). Max имеет более щедрые лимиты
  3. Ubuntu или WSL: пользователи Windows сначала устанавливают WSL (Windows Subsystem for Linux)

Пользователям Windows: установка WSL

Откройте Windows PowerShell от имени администратора и выполните:

wsl --install

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

Внимание: Вся дальнейшая работа ведётся в терминале Ubuntu. Если установить Claude Code в PowerShell или CMD, появится ошибка “Windows is not supported”.

Способ 1: Нативная установка (рекомендуется)

Самый простой способ, не требующий Node.js.

curl -fsSL https://claude.ai/install.sh | bash

После установки проверьте:

claude --version

Если появился номер версии — успех.

Способ 2: Установка через npm

Этот способ для тех, у кого уже есть опыт с Node.js. Если вы новичок, используйте способ 1.

Используется, когда Node.js уже установлен или нужно управление версиями.

Шаг 1 — Установка Node.js (требуется 18+)

# Установка nvm (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

# Перезапустите терминал или выполните
source ~/.bashrc

# Установка Node.js LTS
nvm install --lts

# Проверка
node --version   # v22.x.x и выше — OK
npm --version    # 10.x.x и выше — OK

Шаг 2 — Установка Claude Code

npm install -g @anthropic-ai/claude-code

Внимание: Не используйте sudo npm install -g. Это создаёт проблемы с правами доступа и безопасностью.

Первый запуск и аутентификация

# Перейдите в папку проекта (создайте, если нет)
mkdir -p ~/projects/my-first-app
cd ~/projects/my-first-app

# Запустите Claude Code
claude

При первом запуске откроется браузер с запросом на вход в Anthropic. После входа аутентификация завершена, и в дальнейшем подключение будет автоматическим.

Совет для WSL: Проект обязательно должен находиться в файловой системе Linux (/home/имя_пользователя/). Если разместить на стороне Windows (/mnt/c/), чтение файлов будет крайне медленным.

Чек-лист проверки установки

  • claude --version выводит номер версии
  • claude запускается и появляется приглашение
  • Аутентификация завершена (успешный вход в браузере)

Словарь ключевых слов для команд

Чтобы командовать ИИ без чтения кода, нужно знать минимальный набор ключевых слов. Не нужно учить все термины программирования. Достаточно знать столько, сколько нужно для указания направления.

Запоминать прямо сейчас не нужно. Таблица ниже — это словарь. Просмотрите его один раз, а потом возвращайтесь, когда ИИ скажет незнакомое слово.

Бэкенд — невидимый двигатель

Серверная программа, невидимая пользователю. Принимает, обрабатывает, сохраняет и возвращает данные.

"Сделай API на Go Gin"
"Сделай бэкенд на FastAPI"
"Сделай сервер на Node.js Express"
ТерминЗначениеАналогия
APIСтандарт общения между программамиБланк заказа в ресторане
ЭндпоинтАдрес каждой функции APIОтдельный пункт меню в бланке заказа
СерверПрограмма, работающая 24/7 и обрабатывающая запросыКухня
GoЯзык программирования от Google. Быстрый и простой
GinФреймворк для создания API на Go
FastAPIИнструмент для создания API на Python. Легко изучать
Node.jsСреда для создания серверов на JavaScript

Фронтенд — видимый экран

Экран, который пользователь видит и по которому кликает. Работает в браузере.

"Сделай экран на React"
"Сделай страницу логина"
"Покажи список в таблице"
ТерминЗначениеАналогия
ReactИнструмент для создания интерфейсов на JavaScript. Самый популярный сейчас
КомпонентФрагмент экрана (кнопка, поле ввода, список и т.д.)Блок Лего
SPAПриложение, меняющее содержимое без перезагрузки страницы, как чат в мессенджере
CSSЯзык для определения внешнего вида (цвета, размеры, расположение)Дизайн интерьера

База данных — хранилище памяти

Место постоянного хранения данных. Данные сохраняются даже при выключении сервера.

"Создай базу данных PostgreSQL"
"Создай таблицу пользователей"
"Сохрани в БД"
ТерминЗначениеАналогия
PostgreSQLСамая надёжная БД с открытым исходным кодомСейф
ТаблицаДанные, организованные в строки и столбцыЛист Excel
DDLЯзык определения структуры таблицНастройка заголовков столбцов в Excel
CRUDCreate (создание), Read (чтение), Update (обновление), Delete (удаление)Добавить/просмотреть/изменить/удалить строку в Excel
SQLЯзык команд для базы данных

Деплой — выход в мир

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

"Задеплой через Docker"
"Загрузи на AWS"
"Подключи домен"
ТерминЗначениеАналогия
DockerИнструмент для упаковки программы в контейнер, чтобы она работала одинаково вездеКонтейнер для переезда
AWSОблачные сервисы Amazon. Серверы, хранилища, домены и т.д.Арендованное здание
Деплой (deploy)Загрузка кода на сервер и запускОткрытие магазина
CI/CDКонвейер автоматического тестирования и деплоя при изменении кодаСистема автоматической доставки

Другие часто встречающиеся термины

ТерминЗначениеАналогия
GitИнструмент управления версиями кода. Точки сохраненияСохранение в игре
Коммит (commit)Действие сохранения текущего состоянияНажатие кнопки “Сохранить”
GitHubСервис хранения Git-репозиториев в интернетеОблачное сохранение
ТерминалЧёрный экран для отправки команд компьютеру текстомУправление ассистентом через SMS
Директория/папкаКонтейнер для классификации файловЯщик картотеки
JSONСтандартный формат обмена данными. Записывается как имя:значение в { }Форма накладной
Переменная окруженияСпособ хранения паролей и настроек вне кодаКлюч, спрятанный в сейфе

Эти термины не нужно заучивать. Можно сказать ИИ “ну, знаешь, то, что данные хранит”, и он поймёт. Но чтобы понимать ответы ИИ, полезно примерно знать эти слова.

Теперь, зная ключевые слова, следующий вопрос: нужно ли объяснять всё это ИИ каждый раз? Помнит ли ИИ предыдущую работу при росте проекта? Здесь появляется управление контекстом.

Управление контекстом — как обращаться с памятью ИИ

Если спросить, что самое важное для ИИ, большинство скажет “умная модель”. Неправильно. Контекст.

Контекст (context) — это вся информация, которую ИИ держит в памяти прямо сейчас. Ваши слова, слова ИИ, файлы проекта, правила — всё это контекст. Проблема в том, что у этой памяти есть предел.

ИИ забывает

По мере удлинения диалога ИИ забывает то, что было сказано ранее. Если вы говорите “помнишь функцию логина, которую мы делали?”, а ИИ отвечает “какую функцию логина?” — контекст утрачен.

Новая сессия — чистый лист. Весь ночной диалог испаряется. Поэтому “продолжи” не работает.

Что же делать? Экстернализировать память в файлы.

CLAUDE.md — конституция проекта

CLAUDE.md — это специальный файл в папке проекта. Claude Code автоматически читает его в начале каждой сессии. Даже без ваших объяснений ИИ будет знать правила проекта с самого начала.

Представьте, что это документ утреннего брифинга для нового члена команды в первый день. “Наша команда работает так, это делать нельзя, важные вещи здесь.”

Ниже пример содержимого CLAUDE.md. Это не команды для выполнения, а текст, записываемый в файл, который ИИ будет читать каждый раз.

# CLAUDE.md

## Обзор проекта
Приложение списка задач. Go Gin бэкенд + React фронтенд + SQLite.

## Команды
- `go run main.go` — запуск сервера (порт 8080)
- `cd frontend && npm run dev` — запуск фронтенда

## Правила
- API-ответы всегда в JSON
- Сообщения об ошибках на русском
- При добавлении новых функций убедиться, что существующие не сломаны

## Структура
- `main.go` — точка входа сервера
- `internal/handler/` — обработчики API
- `internal/model/` — модели данных
- `frontend/src/pages/` — файлы экранов

Главное свойство этого файла: его может читать и писать человек без навыков программирования. Markdown — это простой формат записи с # для заголовков и - для списков. Содержание — обычный язык.

Требования.md — запись решений

Вы сказали ИИ “после логина показывай дашборд”, и ИИ это сделал. Через неделю вы говорите “измени первый экран после логина на страницу настроек”. ИИ не знает, какое было первоначальное решение. Возможно, и вы забыли.

Записывайте решения в файл.

# Требования.md

## Аутентификация
- Поддержка только OAuth через Naver
- При успешном входе переход на дашборд (решено 20.05.2026)
- Нет функции восстановления пароля (т.к. OAuth)

## Управление задачами
- Задача имеет: название, описание, срок, приоритет
- Выполненные задачи не удаляются, а помечаются как выполненные (решено 21.05.2026)
- Приоритет: высокий/средний/низкий — 3 уровня (решено 21.05.2026)

Даты нужны для отслеживания “почему мы так решили?” позже.

Прогресс.md — отметка текущей позиции

# Прогресс.md

## Завершено
- [x] Начальная настройка проекта
- [x] Создание таблицы пользователей
- [x] API логина
- [x] CRUD API задач

## В работе
- [ ] Фронтенд — экран списка задач

## Запланировано
- [ ] Фильтр по приоритету
- [ ] Уведомления о дедлайнах

Когда вы говорите ИИ “продолжи”, этот файл точно показывает, что уже сделано.

Почему файлы

Вот ключ к управлению ИИ в долгосрочном проекте для человека без навыков программирования. Код вы не читаете, но документы — можете. Откройте CLAUDE.md и проверьте “это правило верно?”, добавьте новое решение в Требования.md, посмотрите текущую позицию в Прогресс.md.

Не доверяйте память ИИ самому ИИ. Извлеките её в файлы и держите в своих руках.

Паттерн вайб-кодинга

Термин “вайб-кодинг” (vibe coding) впервые ввёл Андрей Карпатый. Кодирование по ощущениям (vibe). Не читая код. Проверяя кликами и вводом на экране. При ошибке копируя сообщение об ошибке и отправляя ИИ. (Claude Code делает это автоматически — обнаруживает ошибки и сам пытается исправить.)

То, что вы уже делаете, и есть вайб-кодинг. Систематизированно это выглядит так.

Базовый поток

Идея → Команда ИИ → Проверка результата → Запрос правок → Повторение

На практике диалог выглядит примерно так.

Шаг 1: Начинаем с данных

"Посмотри этот файл Excel. Спроектируй таблицу БД для хранения этих данных."

ИИ предложит структуру таблицы. Вы указываете правки: “этот столбец не нужен”, “формат даты должен быть такой”.

Шаг 2: Создание API

"Создай CRUD API для этой таблицы."

API создан. Это функции сохранения и чтения данных. На этом этапе экрана нет. Но ИИ сам тестирует в терминале.

Шаг 3: Создание экрана

"Сделай React-экран, вызывающий этот API. Список, добавление, редактирование, удаление."

Проверяете в браузере. Видите список, кнопку добавления, вводите — сохраняется.

Шаг 4: Добавление функций

"Добавь поиск."
"Добавь кнопку фильтра только завершённых."
"Сортировка по приоритету."

Здесь заканчивается “золотое время” вайб-кодинга. До 3 функций — магия и скорость.

Как проверять

Раз вы не читаете код, способ проверки один: попробовать самому.

  • Откройте экран в браузере и покликайте
  • Введите данные и проверьте, сохранились ли они
  • Проверьте список заново
  • Попробуйте отредактировать и удалить

Ошибка? Claude Code автоматически обнаружит и попытается исправить. Копировать-вставлять не нужно.

ИИ исправит сам.

Ограничения этого паттерна

Вайб-кодинг поразительно быстрый. Но после 5 функций начинают происходить странные вещи. Вы добавили новую функцию — сломалась старая. Просите ИИ исправить — ломается другое место. Начинается игра “ударь крота”.

Почему? Ответ — во 2-м уроке. Сейчас запомните: этот паттерн работает, но у него есть ограничения.

Использование Claude Code — практическое руководство

Установили — давайте попробуем. Освоим базовое использование.

Запуск и выход

# Запуск в папке проекта
cd ~/projects/my-first-app
claude

# Внутри Claude Code ведёте диалог
# Для выхода:
/exit

Базовый диалог

Внутри Claude Code просто говорите естественным языком.

> Создай в этой папке сервер Go Gin. Один API на порту 8080, возвращающий "Hello, World".

ИИ создаст файлы, установит пакеты, напишет код. Периодически спрашивает: “можно создать этот файл?”, “можно выполнить эту команду?”. При разрешении — продолжает.

Полезные команды

Внутри Claude Code можно использовать команды, начинающиеся с косой черты (/).

КомандаФункция
/exitВыход из Claude Code
/clearОчистка истории диалога (сброс контекста)
/compactСжатие диалога для экономии контекста
/helpСправка

Советы по диалогу

  1. Задавайте по одному. “Сделай сначала API логина” даёт лучший результат, чем “Сделай логин, регистрацию и дашборд”.

  2. Будьте конкретны. “Покажи красное сообщение пользователю при ошибке” лучше, чем “сделай лучше”.

  3. Ошибки Claude Code исправляет сам. При ошибке Claude Code автоматически обнаруживает и пытается исправить. Копировать-вставлять не нужно.

  4. Проверяйте промежуточные результаты. Безопаснее проверять в браузере каждые 2-3 задачи, чем давать 10 и проверять в конце.

  5. При длинном контексте начинайте заново. После 100 сообщений качество ответов падает. Сбросьте через /clear или заново запустите claude в новом терминале.

Практика: создание приложения списка задач

Теории достаточно. Давайте создадим.

Цель

Создать приложение списка задач за одну сессию Claude Code и добавить 3 функции. Время: 30-60 минут.

Предварительные требования

Перед началом должно быть установлено следующее. Если ещё нет — попросите Claude Code.

  • Go: скажите Claude Code "Установи Go"
  • Node.js: скажите Claude Code "Установи Node.js LTS"
  • Проверка Claude Code: работает ли claude --version

Совет: Если в процессе установки встретится что-то непонятное, спросите Claude Code “как это сделать?” — он разберётся сам.

Подготовка

# Создание папки проекта
mkdir -p ~/projects/todo-app
cd ~/projects/todo-app

# Запуск Claude Code
claude

Шаг 1: Создание базового приложения

Введите в Claude Code:

Создай веб-приложение списка задач.

Технологический стек:
- Бэкенд: Go + Gin
- Фронтенд: React
- База данных: SQLite (файловая БД, без установки)

Функции:
- Добавление задачи (название, описание)
- Просмотр списка задач
- Пометка задачи как выполненной
- Удаление задачи

Фронтенд простой. Всё на одной странице.
Бэкенд-сервер отдаёт и экран тоже.

ИИ начнёт работу. Создание файлов, установка пакетов, написание кода — всё автономно. При появлении запросов на разрешение — одобряйте.

После завершения запустите сервер и проверьте в браузере.

Запусти сервер. И скажи адрес для доступа.

Откройте http://localhost:8080 в браузере. Добавьте задачу, отметьте выполнение, удалите.

Шаг 2: Добавление функции — приоритет

Добавь приоритет к задачам. 3 уровня: высокий/средний/низкий.
- При добавлении можно выбрать приоритет
- В списке приоритет отображается
- Высокий — красный, средний — синий, низкий — серый

Проверьте в браузере. Добавьте задачу с выбранным приоритетом.

Шаг 3: Добавление функции — дедлайн

Добавь дедлайн к задачам.
- При добавлении выбор даты из календаря
- В списке дедлайн отображается
- Если дедлайн прошёл — красный фон

Проверьте в браузере. Задача с вчерашним дедлайном должна выделяться красным фоном.

Шаг 4: Добавление функции — поиск

Добавь поиск задач.
- Поле ввода поиска над списком
- Фильтрация задач, в названии или описании которых есть поисковый запрос
- Фильтрация в реальном времени при вводе

Проверьте в браузере. Добавьте несколько задач и введите поисковый запрос для проверки фильтрации.

Шаг 5: Создание CLAUDE.md

Зафиксируйте текущее состояние проекта.

Создай файл CLAUDE.md для этого проекта. Включи обзор проекта, команды запуска, структуру директорий, список функций.

Откройте созданный CLAUDE.md и прочитайте. Завтра в новой сессии, когда скажете “продолжи”, этот файл станет памятью ИИ.

Шаг 6: Создание Требования.md

Сделайте это сами. Не через Claude Code, а вручную. Откройте текстовый редактор для requirements.md и запишите:

Подсказка для WSL:

  • Редактирование прямо в терминале: nano requirements.md (сохранить: Ctrl+O → Enter, выход: Ctrl+X)
  • Редактирование в VS Code: code requirements.md (при установленном VS Code автоматически подключится к WSL)
# Требования.md

## Управление задачами
- Задача имеет: название, описание, приоритет (высокий/средний/низкий), дедлайн
- Выполненные задачи не удаляются, а помечаются
- Просроченные задачи выделяются красным фоном

## Поиск
- Поиск по названию и описанию
- Фильтрация в реальном времени

## Технологии
- База данных — файловая SQLite
- Бэкенд обслуживает и фронтенд

Этот файл написали вы, а не ИИ. И это важно. Решения принимаете вы, и записываете тоже вы.


Итоги урока 1

Что мы рассмотрели:

  1. Ландшафт инструментов: делятся на инструменты на базе редактора (Cursor, Copilot) и терминальные агенты (Claude Code, Codex CLI)
  2. Claude Code: автономный цикл проверки, большой контекст, многофайловое редактирование — самый мощный терминальный агент на данный момент
  3. Установка: curl -fsSL https://claude.ai/install.sh | bash — одна строка
  4. Ключевые слова: бэкенд, фронтенд, БД, деплой — достаточно знать для указания направления
  5. Управление контекстом: CLAUDE.md (правила), Требования.md (решения), Прогресс.md (состояние) — экстернализация памяти ИИ
  6. Паттерн вайб-кодинга: Excel → проект БД → API → экран → добавление функций. До 3 — магия, с 5 — трещины

Анонс следующего урока: “Почему всё ломается на 5-й функции.” В приложение из урока 1 добавляем 5 функций подряд. Примерно на 3-й вы лично увидите, как ломается существующая функция. И мы разберём причину структурно.


Домашнее задание

После завершения практики урока 1 попробуйте следующее.

  1. Добавьте ещё 2 функции: что угодно — категории, тёмная тема, сортировка задач и т.д. Наблюдайте, до какого момента всё идёт гладко, а где начинаются странности.

  2. Доработайте CLAUDE.md: откройте сгенерированный ИИ CLAUDE.md и прочитайте. Есть ли непонятные места? Пропущена ли информация? Отредактируйте сами.

  3. Продолжите в новой сессии: выйдите из Claude Code и запустите снова. Скажите “продолжи текущую работу”. Сравните разницу между наличием и отсутствием CLAUDE.md.


Полный курс Reins Engineering

УрокНазвание
Урок 1Как командовать ИИ
Урок 2Как не доверять ИИ
Урок 3Нерушимое приложение
Урок 4Решения — за пределы кода
Урок 5ИИ на поводьях
Урок 6Прошёл — зафиксировал
Урок 7Как обратить лесть
Урок 8Фабрика агентов
Урок 9Автоматизация за пределами кода
Урок 10Закон данных