Перейти к содержимому
NEWЧат с 15 ИИ-моделями — попробуйте бесплатно / имейте совесть, когда будете делиться или копировать
>AISTUDY_

Модуль 2.2 · Урок 2

Урок 2: Базовые команды и формулировка задач

30 мин
Практика
2.2 / Урок 2 из 5

Чему вы научитесь

  • Использовать основные слэш-команды для управления сессией
  • Правильно формулировать задачи для Claude
  • Различать слэш-команды и естественный язык
  • Читать и понимать output Claude при выполнении команд
  • Оптимизировать работу с файлами проекта

Основные слэш-команды

Навигация и помощь

/help              # Показать справку по всем командам
/status            # Статус текущей сессии и потребления токенов
/model claude-opus # Переключиться на другую модель
/clear             # Очистить историю сессии (начать заново)

Управление контекстом

/init                    # Создать файл CLAUDE.md с инструкциями проекта
/compact                 # Сжать контекст сессии (подробнее в уроке 3)
/cost                    # Показать расходы на текущую сессию
/read path/to/file.py    # Явно добавить файл в контекст
Claude Code — Terminal
Добро пожаловать в 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 автоматически:

  1. Сканирует проектную структуру — читает список файлов и папок
  2. Определяет язык — Python, JavaScript, Go, etc.
  3. Анализирует конфигурацию — package.json, requirements.txt, pyproject.toml
  4. Индексирует файлы — запоминает имена и пути всех файлов
  5. Готовит контекст — загружает релевантные файлы при первом запросе

Это означает, что 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 для больших задач.

Скачать урок

Есть идея или нашли ошибку?

// Обсуждение

Можно писать анонимно. Укажите email, чтобы получать уведомления об ответах.