Начинающий · Шаг 5 из 7

Типичные ошибки

8 ошибок, которые делают все новички — и как их не повторить. Прочитайте один раз, сэкономьте месяц разочарований.

8 ошибок с примерами мокапы терминала
Все делают эти ошибки — и это нормально
Знание о них заранее даёт огромное преимущество. Прочитайте один раз — и приходите сюда когда что-то пойдёт не так.
1
Расплывчатые задачи без контекста

Чем меньше контекста — тем хуже результат. Claude угадывает что вы имеете в виду, и часто угадывает неправильно. Ему нужно знать ЧТО сделать, ГДЕ (путь к файлу) и в каком КОНТЕКСТЕ (стек, версия, стиль).

Плохо
«Добавь пагинацию»
Хорошо
«Добавь пагинацию на страницу /orders (routes/web.php). Контроллер OrderController, метод index(). Laravel Eloquent, 20 записей на страницу, стиль Bootstrap 5»
Правило: всегда указывайте ЧТО + ГДЕ (путь к файлу) + СТЕК/ВЕРСИЮ. Это 80% успеха.
2
Не проверять результат перед коммитом

Claude может совершать ошибки — он уверенно пишет неверный код. Многие новички автоматически коммитят всё что Claude сделал, а потом удивляются что в продакшне что-то сломалось.

Команда git diff — ваш лучший друг. Смотрите что именно изменилось:

Terminal — git diff
$ git diff
diff --git a/app/Models/Order.php b/app/Models/Order.php
@@ -12,6 +12,9 @@ class Order extends Model
+ protected $guarded = []; # ← Claude добавил это
# ← ОПАСНО: отключает защиту!
# Видите? Без git diff вы не заметили бы этого.
# Правильно должно быть: protected $fillable = [...]
Закоммитили .env с паролями? Они навсегда останутся в git-истории, даже если вы удалите файл. git rm .env не поможет. Лечение — BFG Repo Cleaner. Защита — добавьте .env в .gitignore до первого коммита.
🧭 Консенсус практиков: автономность агента не отменяет финальную проверку человеком. Рутину можно делегировать, а вот архитектурные и security-решения — всегда должны проходить через ваш ревью на гейте. Об этом говорят Hrishi Olickel (Delegation Pyramid), Simon Willison, Anthropic и др. — см. сводную шпаргалку.
Правило: всегда git diff после задачи. Если есть тесты — запускайте. Не коммитьте не читая.
3
Слишком большие задачи за раз

«Реализуй весь модуль корзины» — это не одна задача, это 20 задач. Claude попытается сделать всё сразу, потеряет контекст и сделает что-то не так. Используйте планирование.

Плохо
«Реализуй весь модуль заказов: корзина, оформление, оплата, статусы, уведомления»
Хорошо
«Создай модель Order с миграцией. Поля: user_id, total, status (enum: pending/paid/shipped). Только это, ничего лишнего.»
Правило: одна задача = одно чёткое изменение. Составьте PLAN.md и работайте по этапам.
4
Не использовать Plan Mode для рискованных задач

Без Plan Mode Claude сразу начинает менять файлы. Для рискованных задач (миграции БД, рефакторинг) это опасно — он может затронуть файлы, которые вы не планировали.

Plan Mode показывает план до любых изменений:

Terminal — Plan Mode включён
Переименуй метод getUserOrders в getOrders во всём проекте
⚡ Режим планирования. Вот что я собираюсь сделать:
1. app/Http/Controllers/OrderController.php — строка 45
2. app/Services/OrderService.php — строка 12, 67
3. tests/Feature/OrderTest.php — строка 23
4. resources/js/api/orders.js — строка 8
Выполнить? [y/n]
y
✓ Готово · 4 файла · 6 замен

Без Plan Mode: Claude мог бы изменить файлы которые вы не планировали — и вы не узнаете до git diff.

Правило: Shift+Tab×2 для включения. Обязательно для: миграций БД, рефакторинга, задач на 3+ файла, изменений конфигов.
5
Работать без CLAUDE.md

Без CLAUDE.md Claude не знает ваш стек, соглашения, правила именования. Каждую сессию придётся объяснять всё заново. Или Claude будет делать «стандартно» — что не совпадает с вашим проектом.

Без CLAUDE.md
Claude создаёт тесты на PHPUnit, а у вас Pest. Использует $request->all(), а у вас запрещено. Пишет коммиты «update code».
С CLAUDE.md
Claude знает стек, форматтер, тестовый фреймворк, правила коммитов. Работает в вашем стиле с первой сессии.
Правило: создайте CLAUDE.md в первые 15 минут работы с проектом. Шаблон здесь →
6
Накапливать слишком длинную сессию

Это называется Context Rot — деградация качества при долгих сессиях. Чем длиннее разговор, тем больше «шума» в контексте, и тем хуже становятся ответы.

Симптомы: ответы стали расплывчатые, Claude «забыл» правила из CLAUDE.md, повторяет одно и то же.

Начало
Отличное качество
0–50K токенов
2–3 часа
Хорошее
100–150K
4–6 часов
Слабое
180K+
Два варианта сброса:
/compact — сжимает историю в резюме. Claude помнит суть, но не детали. Хорошо когда задача ещё не закончена.
/clear — полный сброс. Подходит для новой крупной задачи. Хороший CLAUDE.md восстановит контекст автоматически.
Правило: новая крупная задача — новая сессия. CLAUDE.md компенсирует потерю истории.
7
Доверять Claude безоговорочно

Claude может уверенно объяснять то, что неверно. Особенно для редких библиотек, устаревших API, специфических конфигов. Он не гуглит в реальном времени — его знания ограничены датой обучения.

Проблема
Claude предложил использовать метод который удалён в Laravel 11. Вы скопировали код не проверив → ошибка в продакшне.
Решение
Для нестандартного кода: «Это точная информация? Проверь в официальной документации Laravel 11». Или проверьте сами.
🧭 Консенсус практиков: не доверяйте тону ответа — уверенное «готово» не значит правильно. Прогоняйте реальную команду или тест и смотрите вывод сами, это самый частый совет среди опытных практиков. Так работают Thorsten Ball, Simon Willison, Boris Cherny, Kent Beck и др. — см. сводную шпаргалку.
Правило: для безопасности, финансов, продакшн-конфигов — всегда проверяйте в официальной документации. Claude — умный помощник, не оракул.
8
Игнорировать ошибку вместо объяснения

Когда Claude делает что-то не то, многие пишут «нет, переделай» без объяснения. Claude пробует ещё раз — с тем же результатом, потому что не знает что именно не так.

Плохо
«Нет, это неправильно. Переделай.»
Хорошо
«Не то — ты создал новый контроллер, а нужно добавить метод store() в существующий app/Http/Controllers/UserController.php, строка 45.»
Правило: при правке всегда объясняйте ЧТО не так и КАК должно быть — с конкретным путём к файлу.

Что делать когда что-то пошло не так

Ваш аварийный набор команд
# Claude изменил не те файлы — откатить всё
$ git checkout . # ← спасение №1
# Посмотреть что изменилось
$ git diff # до коммита
$ git diff HEAD~1 # после коммита
# Claude завис — прервать без потери сессии
Ctrl+C # ← сессия сохраняется
# Ответы стали хуже — сбросить контекст
/compact # сжать историю
/clear # полный сброс
СитуацияКомандаПояснение
Claude изменил не те файлыgit checkout .Откат всех несохранённых изменений
Claude завис / долго думаетCtrl+CПрерывает выполнение, сессия сохраняется
Ответы стали хуже/compact или /clearСжать историю или полный сброс
Непонятно что измененоgit diffПоказывает все изменения построчно
Claude спрашивает «Что изменилось?»git status + git diffИли спросите CC: «Что ты изменил и почему?»
Ошибка 403 / слетела авторизацияFAQ → авторизация
Готовы к последнему разделу! Осталось изучить частые вопросы — стоимость, лимиты, VPN, разница между тарифами.