Пользовательские агенты

Разработка программного обеспечения с Claude Code

Dani Zysman

AI Curriculum Manager @ DataCamp

Что такое агенты?

Команда специализированных роботов-помощников с разными инструментами

Агенты — это специализированные ИИ-помощники в Claude Code:

  • У каждого свои возможности, работает независимо
  • Может быть встроенным или пользовательским
Разработка программного обеспечения с Claude Code

Встроенные агенты

Агент Назначение Когда используется
Explore Исследование кода в режиме только для чтения «Составьте карту этой архитектуры»
Plan Исследование и выработка стратегии «Как нам подойти к этому?»
General Выполнение задач с полным набором инструментов Используется по умолчанию для большинства задач

Используйте /agents, чтобы увидеть список всех доступных агентов

Разработка программного обеспечения с Claude Code

Зачем создавать пользовательских агентов?

Пользовательские агенты для специализированных задач

  • Преимущества: можно переиспользовать, единообразие, можно делиться с командой
  • Типичные сценарии использования:
    • Проверка кода — соблюдение стандартов команды
    • Аудит безопасности — поиск уязвимостей
    • Документация — генерация единообразной документации
    • Тестирование — предложение тестовых сценариев
Разработка программного обеспечения с Claude Code

Создание файла агента

  • Расположение файла:
    • .claude/agents/code-reviewer.md
  • Обязательные разделы:
    • name: идентификатор агента
    • description: что его запускает
    • Тело: инструкции в формате markdown
___
# code-reviewer.md
name: code-reviewer
description: Reviews code for 
best practices
___
Check for:
1. Clear naming conventions
2. Proper error handling
3. Performance concerns
Разработка программного обеспечения с Claude Code

Создание пользовательского агента для проверки кода

> /agents

> [Select] Create new agent
> [Select] Project level (.claude/agents)
> [Select] Generate with Claude (recommended)
> Create a code reviewer agent that reviews code for naming, error handling, and performance.

Просмотрите и подтвердите сгенерированный файл.

Разработка программного обеспечения с Claude Code

Текущее состояние проекта

music-analytics-api/
  app.py
  routes.py        # <- We'll review this file
  models.py
  analytics.py
  CLAUDE.md
  .claude/
    agents/
      code-reviewer.md  # <- Our custom agent
Разработка программного обеспечения с Claude Code

Когда запускаются суб-агенты

Без суб-агента (прямая обработка):

"Fix the bug in routes.py"
  -> Claude handles it

"Add validation here"
  -> Claude handles it

Запускает суб-агента:

"Map the architecture"
  -> Explore agent

"How should we refactor?"
  -> Plan agent
Разработка программного обеспечения с Claude Code

Используем наш пользовательский агент

> @code-reviewer review @routes.py
Review Complete

Quick Fixes:
- Remove unused `session` import (line 3)
- Replace hardcoded `* 5` popularity metric with a named constant

Structural Issues:
- Album dictionaries built twice in get_album_stats() and
  get_average_tracks() extract to a shared helper
- get_artist_albums() returns empty list if artist doesn't exist;
  validate artist first
- No range validation on artist_id parameter

Would you like me to fix any of these?
Разработка программного обеспечения с Claude Code

Преимущества агентов

Лупа с защитным щитом для безопасного исследования

  • Отдельный контекст
    • Агенты работают изолированно
    • Основной диалог остаётся чистым
  • Безопасное исследование
    • Агент Explore работает только для чтения
    • Идеально подходит для незнакомого кода
Разработка программного обеспечения с Claude Code

Когда использовать агентов

Тип вопроса Что происходит
«Что делает эта функция?» Claude отвечает напрямую
«Как работает аутентификация в этом коде?» Исследует агент Explore
«Как лучше всего отрефакторить это?» Исследует агент Plan
"code review @routes.py" Обрабатывается пользовательским агентом
Разработка программного обеспечения с Claude Code

Давайте потренируемся!

Разработка программного обеспечения с Claude Code

Preparing Video For Download...