Учебник

Claude Code и агентность: ИИ который сам пишет, запускает и правит код

Как использовать Claude Code для реальных задач разработки: установка, первые команды, агентный режим и интеграция в рабочий процесс.

Макс Космов··12 мин чтения

Claude Code представляет собой инструмент ИИ, который позволяет создавать, запускать и править код самостоятельно. Этот инструмент использует передовые алгоритмы машинного обучения для генерации и редактирования кода, что делает его мощным инструментом для разработчиков. С помощью Claude Code разработчики могут автоматизировать многие задачи, связанные с написанием и редактированием кода, что повышает их производительность и эффективность.

до про · Claude

Что такое Claude Code и чем отличается от обычного Claude

Claude Code представляет собой специализированную версию ИИ, созданную для непосредственной работы с программным кодом и файловой системой. Это не просто чат-бот, который предлагает фрагменты кода в диалоговом окне, а полноценный агент, способный выполнять действия в терминале. Главная особенность заключается в том, что инструмент получает доступ к рабочему пространству разработчика, читает файлы проекта, вносит правки и запускает команды, превращая текстовые запросы в реальные изменения в коде.

Обычный Claude работает в режиме «читатель-советчик». Вы описываете задачу, копируете ошибку или кусок кода, модель анализирует информацию и пишет ответ, который нужно вручную перенести в редактор. Это требует постоянного переключения контекста между браузером и средой разработки. Если код не заработал с первого раза, процесс повторяется. Такой подход эффективен для консультаций, генерации идей или объяснения алгоритмов, но замедляет рутинные операции.

Claude Code устраняет этот разрыв. Инструмент интегрируется с проектом через интерфейс командной строки. Вы даете команду на рефакторинг модуля, и агент сам находит нужные файлы, анализирует зависимости, применяет изменения и даже запускает тесты для проверки результата. Если тесты падают, Claude Code читает логи ошибок, исправляет код и перезапускает проверку. Это циклический процесс самостоятельного решения задачи без участия человека на каждом этапе.

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

Использование Claude Code меняет роль программиста. Вместо написания каждой строчки кода вы становитесь архитектором и ревьюером. Вы ставите техническое задание, контролируете результат и принимаете решения о принятии изменений. Это повышает продуктивность, особенно при работе с большими кодовыми базами, где контекст играет решающую роль. Инструмент берет на себя техническую реализацию, оставляя вам стратегическое планирование и креативные аспекты разработки.

Установка и настройка: npm, директория проекта, первый запуск

Для работы с Claude Code необходим установленный Node.js. Проверьте наличие npm в терминале командой npm -v. Если система выдает версию, можно продолжать. В противном случае скачайте установщик с официального сайта Node.js и выполните базовую установку.

Создайте новую папку для проекта. Перейдите в неё через терминал:

mkdir my-ai-project
cd my-ai-project

Инициализируйте проект, чтобы создать файл package.json. Это позволит управлять зависимостями:

npm init -y

Флаг -y автоматически заполняет поля стандартными значениями, экономя время.

Установите Claude Code глобально для доступа из любой директории:

npm install -g @anthropic-ai/claude-code

Глобальная установка упрощает запуск, так как не требует указания пути к исполняемому файлу.

Настройте переменную окружения для аутентификации. Получите API-ключ в личном кабинете Anthropic. Добавьте ключ в системные переменные или создайте файл .env в корне проекта:

echo "ANTHROPIC_API_KEY=ваш_ключ_здесь" >> .env

Для загрузки переменных из .env установите пакет dotenv:

npm install dotenv

Создайте файл index.js для первого теста. Добавьте базовый код, который Claude Code сможет модифицировать:

console.log('Запуск проекта');

Запустите Claude Code с указанием файла:

claude-code index.js

Агент проанализирует содержимое, предложит улучшения или задаст уточняющие вопросы. Введите запрос, например: "Добавь функцию сложения двух чисел и выведи результат". Claude Code самостоятельно отредактирует index.js, сохранит изменения и предложит запустить код.

Для выполнения скрипта используйте стандартную команду:

node index.js

Если в коде есть ошибки, Claude Code определит их, исправит и перезапустит процесс. Это цикличное взаимодействие позволяет быстро итерировать без ручного редактирования файлов.

Проверьте структуру проекта. В корне должны находиться package.json, .env, index.js и папка node_modules. Убедитесь, что .env добавлен в .gitignore, чтобы избежать утечки API-ключа.

Теперь среда готова к полноценной работе. Вы можете передавать агенту сложные задачи, требующие написания и отладки кода, а он будет выполнять их автономно.

Базовые команды: объяснить код, найти баг, написать тест

Для глубокого понимания логики используйте прямой запрос с указанием файла. Команда объясни файл main.py заставит модель разобрать структуру, выделить ключевые функции и описать потоки данных. Если код сложный, попросите пройти его строка за строкой. Это помогает выявить скрытые зависимости и неочевидные алгоритмические решения. Для получения контекста запросите как этот модуль взаимодействует с database.py. Claude проанализирует импорты и вызовы, нарисовав ментальную карту связей.

Поиск ошибок требует точности. Вместо общего найди баг скопируйте стек трассировки или описание аномального поведения в промпт. Команда почему функция возвращает None вместо списка направит внимание к конкретному узлу. Claude проверит типы данных, условия выхода из циклов и обработку исключений. Если ошибка воспроизводится, добавьте фрагмент логов. Модель сопоставит ожидаемое и фактическое поведение, указав на строку, где логика ломается. Часто проблема кроется в неправильной проверке условий или Race Condition при асинхронном выполнении.

Написание тестов начинается с уточнения фреймворка. Команда напиши юнит-тесты для auth_service.py на pytest сгенерирует шаблоны с моками и фикстурами. Укажите, какие сценарии важны: проверь валидацию токена и обработку неверного пароля. Claude создаст тесты, покрывающие как счастливый путь, так и исключительные ситуации. Чтобы улучшить покрытие, попросите добавить тест для граничного случая с пустой строкой. Модель предложит варианты входных данных, которые вы могли упустить. Если код уже покрыт тестами, запросите найди функции без тестов в этом каталоге. Это быстро выявит пробелы в тестировании.

Для интеграционных тестов используйте контекст. Команда создай тест, проверяющий создание заказа через API заставит Claude сгенерировать последовательность запросов и проверок ответов. Важно просить модель использовать реальные данные из схемы, а не абстрактные значения. Это делает тесты устойчивыми к изменениям валидации.

Агентный режим: как Claude сам выполняет многошаговые задачи

Агентный режим превращает Claude из статичного чат-бота в активного помощника, способного самостоятельно планировать и реализовывать сложные технические задачи. Вместо того чтобы ждать пошаговых инструкций, модель анализирует запрос, формирует план действий и выполняет его, обращаясь к инструментам по мере необходимости. Это позволяет делегировать рутинные операции, требующие последовательности и внимания к деталям.

Ключевая особенность агентности - цикл обратной связи. Claude не просто генерирует код и отправляет его пользователю. Он пишет скрипт, запускает его, анализирует вывод терминала, ищет ошибки и вносит правки. Если первая попытка не удалась, модель самостоятельно корректирует подход, меняет аргументы функций или структуру кода, повторяя цикл до достижения результата. Пользователю нужно только поставить финальную цель, не отвлекаясь на промежуточные правки.

Практическое применение выглядит так. Вы просите переписать проект с JavaScript на TypeScript. Claude сканирует структуру файлов, создает план миграции, устанавливает необходимые типы, последовательно конвертирует файлы и запускает тесты. Если тест падает, модель читает лог ошибки, исправляет типизацию в конкретном файле и перезапускает проверку. Весь процесс происходит без вашего участия, пока агент не сообщит об успешном завершении или возникшем критическом сбое.

Для работы в этом режиме Claude использует встроенный терминал и доступ к файловой системе. Он может читать содержимое репозитория, создавать новые файлы, редактировать существующие и выполнять команды оболочки. Это дает возможность работать с реальными проектами, а не с абстрактными примерами. Агент может установить зависимости, запустить локальный сервер, проверить API-эндпоинты и даже проанализировать производительность.

Эффективность агентного режима особенно заметна при рефакторинге и отладке. Вместо ручного поиска ошибки в логах вы просто описываете проблему. Claude самостоятельно воспроизводит баг, находит место в коде, где возникает сбой, предлагает и применяет исправление, затем проверяет работоспособность системы. Это сокращает время решения задач, которые раньше требовали многократного переключения между редактором и консолью.

Работа с файловой системой: чтение, редактирование, создание файлов

Claude Code взаимодействует с файлами через специализированные инструменты. Модель не просто читает содержимое, а анализирует структуру проекта, понимает связи между модулями и вносит точечные изменения. Основной способ запроса содержимого - команда чтения. Укажите конкретный путь к файлу. Если путь относительный, система определит его от корня рабочей директории. Для больших файлов Claude автоматически разбивает вывод на части, сохраняя контекст.

Редактирование происходит через механизм диффов. Вы описываете задачу на естественном языке, а модель генерирует патч. Это безопаснее полной перезаписи, так как сохраняется форматирование и не затрагиваются посторонние участки кода. Попросите найти функцию авторизации и добавить логирование. Claude найдет нужный блок, вставит строки и оставит остальной код нетронутым. Если изменений много, модель предложит последовательность шагов для сохранения работоспособности приложения.

Создание файлов начинается с описания назначения. Укажите имя, расширение и желаемое содержимое. Claude создаст структуру, добавит импорты и базовую логику. Полезно просить модель сразу сгенерировать тесты для нового модуля. Это сократит время на отладку.

Работа с директориями включает поиск и навигацию. Команда поиска по дереву файлов позволяет найти все конфигурационные файлы или скрипты определенного типа. Это помогает быстро ориентироваться в незнакомом проекте. Можно попросить показать структуру папки, чтобы понять архитектуру перед началом правок.

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

Интеграция с git: коммиты, ревью, объяснение диффов

Claude Code превращает git из инструмента контроля версий в интеллектуального помощника по разработке. Он не просто форматирует сообщения коммитов, но и понимает контекст изменений, предлагая осмысленные описания на основе анализа модифицированных файлов. Для создания коммита достаточно попросить модель проанализировать текущее состояние репозитория. Она соберет изменения, сгруппирует их по логическим блокам и сгенерирует сообщение, соответствующее конвенции проекта. Если изменения касаются нескольких независимых задач, Claude предложит разбить их на отдельные коммиты для чистоты истории.

Ревью кода с помощью Claude Code выходит за рамки простого поиска синтаксических ошибок. Модель оценивает архитектурные решения, указывает на потенциальные узкие места по производительности и проверяет соответствие стилю кода. При запросе ревью Claude может сравнить новую ветку с основной, выделить ключевые изменения и прокомментировать их. Он найдет неочевидные баги, такие как race conditions или утечки памяти, которые могут упустить даже опытные разработчики. Модель также предложит конкретные улучшения, например, рефакторинг функции для повышения читаемости или замену алгоритма на более эффективный.

Работа с диффами становится менее болезненной благодаря способности Claude объяснять сложные изменения простым языком. Вместо того чтобы вникать в сотни строк измененного кода, можно попросить модель кратко описать суть правок. Claude выделит, что именно было добавлено, удалено или изменено, и объяснит, почему это важно. Это особенно полезно при слиянии больших веток или возврате к старым версиям. Модель может также сравнить два разных коммита и рассказать, как эволюционировал код между ними.

Claude помогает разрешать конфликты при слиянии. Он анализирует конфликтующие участки, понимает намерения разработчиков и предлагает компромиссное решение, сохраняющее логику обеих сторон. Это экономит время и снижает риск ошибок при ручном слиянии. Модель также может автоматически исправить мелкие конфликты, если они не требуют глубокого понимания бизнес-логики.

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

Безопасность и контроль: что разрешить, что запретить

При работе с инструментами ИИ, такими как Claude, важно установить четкие правила безопасности и контроля, чтобы избежать потенциальных рисков. Одним из ключевых аспектов является определение того, что разрешить, а что запретить инструменту делать.

Разрешение доступа к определенным ресурсам и данным может быть полезным для эффективной работы инструмента, но также может представлять риск, если не будет должным образом контролироваться. Например, если инструменту дан доступ к конфиденциальным данным, существует риск утечки информации. Поэтому важно определить, какие данные и ресурсы могут быть доступны инструменту, и установить меры контроля, чтобы предотвратить неправомерный доступ.

Запрет определенных действий также является важным аспектом безопасности и контроля. Например, инструменту можно запретить выполнять операции, которые могут привести к финансовым потерям или ущербу репутации. Это может включать запрет на совершение транзакций, отправку электронных писем или публикацию информации в социальных сетях.

Кроме того, важно установить правила поведения инструмента в различных ситуациях. Например, если инструмент встречает неожиданную ошибку или не может выполнить задание, он должен быть запрограммирован на правильное поведение, чтобы не нанести вреда или не вызвать непредвиденных последствий.

Установление четких правил безопасности и контроля также включает в себя мониторинг деятельности инструмента и анализ его результатов. Это позволяет выявить потенциальные проблемы на ранней стадии и принять меры для их решения.

В целом, безопасность и контроль при работе с инструментами ИИ, такими как Claude, требуют тщательного планирования и внимания к деталям. Установление четких правил и мер контроля может помочь минимизировать риски и обеспечить эффективную и безопасную работу инструмента.

Реальный кейс: рефакторинг проекта с нуля через Claude Code

Представим легаси-проект на Python: монолитный сервис с тысячами строк спагетти-кода, отсутствием тестов и хаотичной структурой. Ручной рефакторинг занял бы недели, но с Claude Code процесс укладывается в несколько часов.

Первым делом ИИ анализирует репозиторий. Команда claude-code analyze сканирует файлы, выявляет зависимости и строит граф архитектуры. Агент сразу отмечает дублирующиеся функции, устаревшие библиотеки и узкие места производительности. На основе этого анализа он предлагает план разбивки монолита на микросервисы.

Начинаем с выделения модуля авторизации. Claude Code создает новую директорию, переносит соответствующие файлы и автоматически обновляет импорты во всем проекте. При этом он не просто копирует код, а переписывает его, используя современные паттерны. Например, заменяет глобальные переменные на dependency injection, а прямые SQL-запросы оборачивает в ORM.

Далее агент пишет тесты. Для каждого нового модуля он генерирует юнит-тесты с покрытием более 90%. Тесты запускаются автоматически, и если какой-то падает, Claude Code сам исправляет код и перезапускает проверку. Это итеративный процесс: код пишется, тестируется, правится, пока все тесты не пройдут.

Особенно ценна работа с ошибками. При запуске линтеров агент получает список предупреждений и исправляет их пакетами. Он переименовывает переменные в соответствии с PEP 8, разбивает длинные функции на более мелкие и добавляет type hints. Весь этот процесс происходит без участия разработчика, который лишь наблюдает за логом в терминале.

Когда базовая структура готова, Claude Code настраивает CI/CD пайплайн. Он создает файлы конфигурации для GitHub Actions, прописывает шаги сборки, тестирования и деплоя. Агент также генерирует документацию в формате Markdown, описывая новые API и архитектуру.

Результат - полностью рефакторенный проект с чистой структурой, тестами и документацией. Разработчик потратил время только на постановку задач и проверку итогового кода, в то время как рутинную работу выполнил ИИ.

Частые вопросы

Нужна ли платная подписка для Claude Code?

Для полноценной работы Claude Code требуется платная подписка Claude Pro или Team. Бесплатная версия не поддерживает запуск кода и работу с файлами. Подписка обеспечивает доступ к модели с расширенной агентностью и необходимыми инструментами.

Claude Code видит весь мой проект или только один файл?

Claude Code работает с контекстом всей сессии, а не с отдельными файлами. Вы можете добавить в диалог любое количество файлов, и модель будет анализировать их взаимосвязи. Это позволяет понимать структуру проекта и вносить изменения сразу в нескольких местах.

Может ли Claude Code сломать мой код?

Да, инструмент может вносить ошибки или ломать функционал при автоматических изменениях. Для минимизации рисков используйте систему контроля версий и проверяйте изменения перед слиянием. Рекомендуется запускать код в изолированной среде и тестировать критические участки вручную.

На каких языках программирования работает Claude Code?

Claude Code поддерживает все популярные языки программирования, включая Python, JavaScript, TypeScript, Java, C++, Go, Rust и многие другие. Он способен писать, запускать и исправлять код независимо от выбранного языка, так как работает с текстовым представлением программ. Ограничения зависят только от доступных в среде инструментов и компиляторов.

Как отменить действие которое сделал Claude Code?

Используйте команду git revert или git reset, чтобы вернуть изменения в репозитории. Если код ещё не был сохранён, просто удалите или закомментируйте проблемные строки. Для локальных файлов можно восстановить предыдущую версию из истории редактора или системы контроля версий.

Что дальше

Следующий шаг в учебном плане: MCP: подключаем Claude к базам данных, Notion, GitHub и другим сервисам.

Разборы свежих AI-новостей - в канале AI Компас.

Больше гайдов - ai-uchebnik.ru/uchebnik.