Агентний режим
Автономна робота Claude Code — режими дозволів, делегування задач та мультиагентна архітектура
📎ОФІЦІЙНА ДОКУМЕНТАЦІЯ
Що таке агентний режим?
В агентному режимі Claude Code працює як автономний AI-агент — він самостійно планує послідовність дій, вибирає інструменти, аналізує результати та ітерує до досягнення мети. Це відрізняє його від простого чат-бота, який відповідає на окремі запитання.
Claude Code завжди працює як агент. Кожен ваш запит запускає цикл "планування → дія → спостереження → корекція", який продовжується, поки задача не буде виконана.
Цикл роботи агента
┌──────────────────────────────────┐
│ Користувач ставить задачу │
└──────────────┬───────────────────┘
│
┌───────▼───────┐
│ Планування │ ← Аналіз задачі, розробка плану
└───────┬───────┘
│
┌───────▼───────┐
│ Дія │ ← Виклик інструменту (Read, Edit, Bash...)
└───────┬───────┘
│
┌───────▼───────┐
│ Спостереження │ ← Аналіз результату
└───────┬───────┘
│
┌───────▼───────┐
│ Корекція │ ← Чи потрібні додаткові дії?
└───────┬───────┘
│
Так ───┘──── Ні → Відповідь користувачу
│
Повернення до "Дія"
Режими дозволів
Claude Code має систему дозволів, яка контролює, що агент може робити автономно:
Запит дозволу (за замовчуванням)
Claude Code запитує підтвердження перед кожною потенційно небезпечною дією:
Claude wants to run: rm -rf dist/
Allow? (y/n/always)
Попередньо дозволені дії
У settings.json можна визначити, які дії дозволені без підтвердження:
{
"permissions": {
"allow": [
"Read",
"Glob",
"Grep",
"Bash(npm run test)",
"Bash(npm run build)",
"Bash(npm run lint)",
"Bash(git status)",
"Bash(git diff *)",
"Bash(git log *)",
"Write",
"Edit"
],
"deny": [
"Bash(rm -rf *)",
"Bash(sudo *)",
"Bash(curl * | bash)",
"Bash(git push --force *)"
]
}
}
Yolo mode
Режим "yolo" дозволяє агенту виконувати будь-які дії без підтвердження. Використовуйте тільки у ізольованих середовищах (Docker, VM, sandbox).
claude --dangerously-skip-permissions
Headless режим для CI/CD
Claude Code можна використовувати в автоматизованих pipeline-ах:
# В GitHub Actions
claude -p "Виправ всі ESLint помилки та створи коміт" \
--output-format json \
--max-turns 20 \
--dangerously-skip-permissions
Приклад GitHub Actions workflow
name: AI Code Review
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Claude Code Review
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
npm install -g @anthropic-ai/claude-code
claude -p "Проведи code review змін у цьому PR.
Зверни увагу на безпеку, продуктивність та якість коду." \
--output-format json > review.json
Мультиагентна архітектура
Субагенти
Claude Code може делегувати частини роботи субагентам — окремим екземплярам, які працюють паралельно над незалежними задачами:
# Головний агент отримує складну задачу
> Проведи рефакторинг всіх API endpoints:
додай валідацію через Zod, error handling та тести
# Claude Code автоматично може розділити на підзадачі:
# Субагент 1: рефакторинг /api/users
# Субагент 2: рефакторинг /api/products
# Субагент 3: рефакторинг /api/orders
Як працюють субагенти
- Головний агент аналізує задачу та визначає незалежні частини
- Субагенти запускаються паралельно, кожен працює над своєю частиною
- Результати збираються та інтегруються головним агентом
- Субагенти мають обмежений контекст — тільки те, що їм передано
Субагенти ефективні для задач, які можна розбити на незалежні частини: рефакторинг різних модулів, додавання тестів до різних файлів, оновлення документації.
Обмеження субагентів
| Аспект | Обмеження |
|---|---|
| Контекст | Субагент не бачить весь контекст головного агента |
| Координація | Субагенти не спілкуються між собою |
| Конфлікти | Можуть виникати конфлікти при зміні спільних файлів |
| Дозволи | Наслідують дозволи від головного агента |
Делегування задач
Через prompt
# Просте делегування
> Використай субагентів для паралельної обробки кожного файлу в src/utils/
# Складне делегування
> Для кожного компонента у src/components/ паралельно:
1. Додай PropTypes або TypeScript інтерфейс
2. Створи unit тест
3. Додай JSDoc документацію
Через --max-turns
Обмеження кількості кроків запобігає нескінченним циклам:
claude -p "Виправ баг у формі логіна" --max-turns 10
Безпека автономного режиму
Рекомендації
- Починайте з обмежених дозволів — додавайте allow-правила поступово
- Використовуйте deny-список — явно забороняйте небезпечні дії
- Обмежуйте max-turns — запобігає нескінченним циклам
- Тестуйте в sandbox — нове середовище або Docker контейнер
- Моніторте виконання — використовуйте verbose mode
# Безпечний запуск з обмеженнями
claude -p "Рефакторинг utils.ts" \
--max-turns 15 \
--allowedTools Read,Edit,Grep,Glob,Bash
Як безпечно та ефективно використовувати агентний режим
Загальні принципи побудови та використання AI-агентів