Как на самом деле работает 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 загружает:
- Встроенный системный промпт (определяет его базовое поведение)
- CLAUDE.md из текущего проекта (ваши правила проекта)
- ~/.claude/CLAUDE.md (ваши глобальные правила)
Итог
- Claude Code работает в цикле: воспринять → думать → действовать → повторить
- Использует набор инструментов для взаимодействия с системой
- Контекст ограничен — длинные сессии накапливают «мусор»
- Поведение настраивается через CLAUDE.md и settings.json
Практические задания
Понаблюдай за инструментами в действии
Запусти Claude Code в реальном проекте и дай ему задачу: «Найди все функции, которые делают HTTP-запросы, и добавь к ним логирование».
После выполнения запиши: какие инструменты использовал Claude (чтение файлов, поиск, редактирование), в каком порядке, сколько итераций потребовалось.
Подсказки