Курс по Claude Code

Как на самом деле работает Claude Code

Как на самом деле работает Claude Code

Понимание внутреннего устройства Claude Code помогает предсказывать его поведение и эффективнее им управлять.

Агентный цикл

Claude Code работает в цикле: воспринимает окружение → думает → действует → снова воспринимает.

┌──────────────────────────────────────┐
│  Пользователь даёт задачу             │
└─────────────────┬────────────────────┘
                  ↓
┌──────────────────────────────────────┐
│  Claude анализирует задачу            │
│  + текущий контекст (файлы, история) │
└─────────────────┬────────────────────┘
                  ↓
┌──────────────────────────────────────┐
│  Выбирает инструмент и параметры     │
│  (Read, Edit, Bash, WebSearch...)    │
└─────────────────┬────────────────────┘
                  ↓
┌──────────────────────────────────────┐
│  Выполняет действие                  │
│  Видит результат                     │
└─────────────────┬────────────────────┘
                  ↓
        ┌─────────────────┐
        │  Задача решена?  │
        └────┬────────────┘
           Нет ↓         Да ↓
        Следующий   Ответ пользователю
        шаг цикла

Инструменты Claude Code

Claude Code использует набор встроенных инструментов:

ИнструментЧто делает
ReadЧитает файл или директорию
Edit / WriteРедактирует или создаёт файл
BashВыполняет команду в терминале
GlobИщет файлы по паттерну
GrepИщет паттерн в файлах
WebSearchИщет в интернете
WebFetchЗагружает страницу
AgentЗапускает субагента
TodoWriteУправляет списком задач

Контекстное окно и память

Claude Code хранит в контексте:

  • Системный промпт (внутренние инструкции)
  • Содержимое CLAUDE.md
  • Историю диалога
  • Файлы, которые читались в этой сессии
  • Вывод выполненных команд

Когда контекст приближается к лимиту, Claude Code автоматически сжимает историю (compaction).

Разрешения (Permissions)

По умолчанию Claude Code спрашивает разрешение перед:

  • Изменением файлов
  • Выполнением команд
  • Сетевыми запросами

Разрешения можно настроить в ~/.claude/settings.json:

{
  "permissions": {
    "allow": ["Read", "Edit", "Bash(git *)"],
    "deny": ["Bash(rm -rf *)"]
  }
}

Системный промпт и CLAUDE.md

При каждом запуске Claude Code загружает:

  1. Встроенный системный промпт (определяет его базовое поведение)
  2. CLAUDE.md из текущего проекта (ваши правила проекта)
  3. ~/.claude/CLAUDE.md (ваши глобальные правила)

Итог

  • Claude Code работает в цикле: воспринять → думать → действовать → повторить
  • Использует набор инструментов для взаимодействия с системой
  • Контекст ограничен — длинные сессии накапливают «мусор»
  • Поведение настраивается через CLAUDE.md и settings.json

Практические задания

#1

Понаблюдай за инструментами в действии

Запусти Claude Code в реальном проекте и дай ему задачу: «Найди все функции, которые делают HTTP-запросы, и добавь к ним логирование».

После выполнения запиши: какие инструменты использовал Claude (чтение файлов, поиск, редактирование), в каком порядке, сколько итераций потребовалось.

Подсказки