Модуль 2.2 · Урок 2
Урок 2: Базовые команды и формулировка задач
Содержание
- Чему вы научитесь
- Основные слэш-команды
- Навигация и помощь
- Управление контекстом
- Пример работы с /help
- Как Claude Code читает проект
- Правильная формулировка задач
- [+] Хорошие примеры задач
- [-] Плохие примеры задач
- Структура хорошей задачи
- Примеры реальных сеансов
- Сеанс 1: Добавление функции
- Сеанс 2: Исправление ошибки
- Работа с файлами
- Автоматическое чтение файлов
- Явное добавление файлов в контекст
- Команда /status в деталях
- Когда Claude Code подходит, а когда нет
- Фильтрация файлов при работе
- Попробуйте сами
- Ключевые выводы
- Следующий урок
Чему вы научитесь
- Использовать основные слэш-команды для управления сессией
- Правильно формулировать задачи для Claude
- Различать слэш-команды и естественный язык
- Читать и понимать output Claude при выполнении команд
- Оптимизировать работу с файлами проекта
Основные слэш-команды
Навигация и помощь
/help # Показать справку по всем командам
/status # Статус текущей сессии и потребления токенов
/model claude-opus # Переключиться на другую модель
/clear # Очистить историю сессии (начать заново)
Управление контекстом
/init # Создать файл CLAUDE.md с инструкциями проекта
/compact # Сжать контекст сессии (подробнее в уроке 3)
/cost # Показать расходы на текущую сессию
/read path/to/file.py # Явно добавить файл в контекст
Добро пожаловать в Claude Code! Введите команду или нажмите одну из кнопок ниже.
Пример работы с /help
claude
> /help
╔═══════════════════════════════════════════════════════════════╗
║ Available Commands ║
╚═══════════════════════════════════════════════════════════════╝
/help Show this help message
/status Show current session stats
/model <name> Switch Claude model
/compact Compress context (advanced)
/clear Clear session history
/cost Show spending in current session
/init Initialize CLAUDE.md
/read <path> Add specific file to context
Type 'q' to quit, 'n' to continue with next message.
Как Claude Code читает проект
Когда вы запустили claude, AI автоматически:
- Сканирует проектную структуру — читает список файлов и папок
- Определяет язык — Python, JavaScript, Go, etc.
- Анализирует конфигурацию — package.json, requirements.txt, pyproject.toml
- Индексирует файлы — запоминает имена и пути всех файлов
- Готовит контекст — загружает релевантные файлы при первом запросе
Это означает, что Claude знает структуру вашего проекта и может работать с файлами автоматически.
Правильная формулировка задач
[+] Хорошие примеры задач
# Конкретная, четкая задача
"fix the bug in auth.py on line 42 where password validation fails"
# С примером ошибки
"add error handling for empty input in utils.js — currently throws TypeError"
# С четким требованием
"create unit tests for the calculate_total() function in models.py"
# Улучшение кода
"refactor the user_login function to use async/await instead of callbacks"
# С контекстом
"add a REST endpoint /api/users/profile that returns user data without password field"
[-] Плохие примеры задач
# Слишком расплывчато
"fix bugs"
"improve code"
"make it better"
# Без контекста
"add login" # В каком файле? Какой механизм?
# Двусмысленно
"change the function" # Какую функцию?
# Слишком много за раз
"refactor entire database layer, add caching, optimize queries, update docs"
Структура хорошей задачи
[Глагол] [Что] [Где] [Как/Почему]
Пример:
"Add input validation to the login_user function in auth.py
to prevent SQL injection attacks"
Разбор:
- Глагол: Add
- Что: input validation
- Где: login_user function in auth.py
- Как/Почему: to prevent SQL injection attacks
Примеры реальных сеансов
Сеанс 1: Добавление функции
$ cd ~/projects/my-app
$ claude
Project: /Users/alice/projects/my-app
Model: claude-sonnet-4-6
> add a function to calculate the average rating from the reviews list
Claude's response:
┌─────────────────────────────────────────────────────────────┐
│ I'll add an average rating function. Here's my plan: │
│ │
│ 1. Read the current structure of the reviews module │
│ 2. Create calculate_average_rating(reviews) function │
│ 3. Add proper type hints and docstring │
│ 4. Write tests in test_reviews.py │
│ 5. Show you the diff before applying │
└─────────────────────────────────────────────────────────────┘
[[+]] Proceed [?] Ask clarifications [E] Edit plan
> [[+]] Proceed
┌─────────────────────────────────────────────────────────────┐
│ Creating: utils/ratings.py │
│ Modifying: tests/test_ratings.py │
│ │
│ def calculate_average_rating(reviews: List[dict]) -> float: │
│ """Calculate average rating from reviews list.""" │
│ if not reviews: │
│ return 0.0 │
│ total = sum(r.get('rating', 0) for r in reviews) │
│ return total / len(reviews) │
│ │
│ [+] Changes applied successfully │
│ [+] Tests passed: 5/5 │
└─────────────────────────────────────────────────────────────┘
Сеанс 2: Исправление ошибки
$ claude
> there's an error in the API response parsing when the server returns empty array
Claude's response:
┌─────────────────────────────────────────────────────────────┐
│ I found the issue. In api/client.py line 67, the parser │
│ doesn't handle empty arrays. Let me fix it: │
│ │
│ Before: │
│ data = response.json()['results'] # Crashes on empty │
│ │
│ After: │
│ data = response.json().get('results', []) # Safe │
│ │
│ [+] Fix applied │
│ [+] Tests passed │
│ [+] No regressions detected │
└─────────────────────────────────────────────────────────────┘
Работа с файлами
Автоматическое чтение файлов
Когда вы упомянете файл или функцию, Claude автоматически их найдет:
> fix the bug in database.py
Claude автоматически:
1. Найдет файл database.py в проекте
2. Прочитает его содержимое
3. Проанализирует код
4. Предложит исправления
Явное добавление файлов в контекст
Для больших файлов или специальных случаев используйте /read:
/read src/components/Dashboard.jsx
# Claude специально прочитает этот файл и добавит в контекст
> now add error handling to this component
# Claude помнит содержимое файла из предыдущей команды
Команда /status в деталях
/status
╔═════════════════════════════════════════════════════════════╗
║ Session Information ║
╚═════════════════════════════════════════════════════════════╝
Project Path: /Users/bob/projects/chat-app
Current Model: claude-sonnet-4-6
Session Duration: 8m 32s
Files in Project: 42
Context Usage:
├─ Input tokens: 24,532
├─ Output tokens: 8,945
├─ Total tokens: 33,477
└─ Cost estimate: $0.14 USD
Recent Files Read:
├─ handlers/chat.py (245 lines)
├─ models/message.py (189 lines)
└─ config/settings.py (78 lines)
Messages in Session: 7
Когда Claude Code подходит, а когда нет
| Задача | Хорошо для Claude Code | Не подходит |
|---|---|---|
| Баг-фиксинг | Да — находит причину и правит код | — |
| Рефакторинг | Да — переименовывает, переносит, разбивает | — |
| Написание тестов | Да — генерирует полные тест-кейсы | — |
| Добавление feature | Да — создаёт файлы и обновляет импорты | — |
| Архитектурные решения | — | Нет — лучше обсудить с командой |
| Дизайн UI / UX | — | Нет — не видит визуал |
| Code review с бизнес-контекстом | — | Нет — не знает продуктовых требований |
| Миграция БД в продакшне | — | Нет — слишком высокий риск |
Фильтрация файлов при работе
Claude автоматически игнорирует:
- node_modules/, venv/, .git/
- pycache/, dist/, build/
- .env, .env.local, secrets.json
- Бинарные файлы (изображения, видео, и т.д.)
Это экономит контекст и защищает конфиденциальные данные.
Попробуйте сами
Задание 1: Основные команды
claude
/status # Посмотрите информацию сессии
/help # Изучите доступные команды
/cost # Проверьте расходы
Задание 2: Правильная формулировка Попробуйте эти задачи:
> show me the main entry point file
> what dependencies does this project have
> list all Python files in src/ directory
Задание 3: Работа с файлом
/read src/main.py # Добавить файл в контекст
> explain the structure of this file
> add comments to the complex parts
Ключевые выводы
- Слэш-команды (
/help,/status,/cost) управляют сессией - Естественный язык используется для описания задач
- Хорошие задачи: конкретные, четкие и с контекстом
- Claude автоматически находит и читает релевантные файлы
/readкоманда для явного добавления файлов в контекст- Команда
/statusпоказывает затраты и статус сессии
Следующий урок
Урок 3: Workflow и планирование
В следующем уроке мы изучим трёхфазный workflow (Исследование-План-Код) и разберем, как правильно работать с Claude для больших задач.