Это небольшой вводный курс по основам работы с Claude Code. Здесь мы рассмотрим основы работы с этим инструментом: как его установить и начать пользоваться. Ссылка на полный курс по работе с Claude Code внизу этого материала.

Буду благодарен, если напишите здесь какие ожидания от курса и какие вопросы хотели бы решить.

Давайте начинать.

Что такое Claude Code и зачем это нужно

Что такое Claude Code и зачем это нужно? Давайте разберёмся в этом видео.

Claude Code — это ассистент от компании Anthropic, который позволяет нам работать с инструментами искусственного интеллекта через командную строку, через терминал, а не через веб-интерфейс, через привычные многим чаты.

Мы можем в нашей операционной системе запустить командную строку либо терминал. В этой командной строке всё у вас будет работать, если вы установите дополнительное ПО, и у вас появятся эти инструменты искусственного интеллекта.

Возникает вопрос: зачем такие сложности? Почему мы должны работать с этим через командную строку, когда у нас есть удобный веб-интерфейс, удобные чаты? На самом деле это сделано умышленно.

Благодаря тому, что это работает в командной строке, мы получаем универсальность использования этого инструмента. Мы можем использовать это в любой операционной системе, мы можем использовать это без браузера. Мы можем использовать это без привязки к конкретной IDE системе, независимо от того, где вы программируете.

Будь это VS Code, редакторы JetBrains, либо какое-то другое решение, даже обычный текстовый редактор — вы можете использовать этот инструмент искусственного интеллекта для взаимодействия с вашим программным кодом, с теми файлами, которые вы пишете.

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

По сути это альтернатива привычному чату с расширенными возможностями. Если мы говорим про Windows, то запустить мы его можем через меню Пуск. Набираем в строке поиска «терминал» и запускаем терминал.

У меня это установлено в операционной системе в WSL Windows, поэтому я запускаю Ubuntu. Запускаем здесь команду claude и жмём Enter. У нас запрашивается доступ к той папке, где мы сейчас находились в терминале. Мы открываем доступ, и открывается окно командной строки, где мы сможем теперь вводить команды, вписывать инструкции для искусственного интеллекта.

Решение проблем контекста и вставки изменений

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

Оно заключается в том, что Claude Code мы можем дать только входную точку, сказать: «Вот этот файл, и нужно решить такую проблему». Claude Code, работая из терминала, автоматически будет сканировать все необходимые зависимости.

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

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

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

Claude Code решает эту проблему благодаря системе сравнения. В IDE у нас появляется инструмент сравнения: что было и что стало. Нам остаётся только проверить изменения и либо их принять, либо отвергнуть. Мы можем отвергнуть их, немного уточнить, и Claude Code внесёт новые изменения. Мы не должны искать точки вставки, копировать, вставлять, как это происходит при работе с чатом.

Есть и минусы. Работая в терминале, мы получаем как ограничения, так и преимущества работы в командной строке. Сложно работать с мышкой, выделять текст, могут быть сложности с перемещением, переносами строк. Командная строка предназначена для одной команды без переноса строк.

Существуют разные инструменты и способы решения этих проблем. Неудобство просмотра — в чате это смотрится более наглядно, чем в командной строке. Но при этом мы получаем все преимущества командной строки: универсальность и так далее.

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

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

Как плюс — за счёт того, что Claude Code работает с большим контекстом, мы получаем лучшее качество изменений в коде. В разы выше будет качество его ответов, качество изменений, и в разы это будет нас ускорять.

Я могу сказать, что попробовав Claude Code, я больше не могу работать в чате. Это становится невыносимо — давать каждый раз контекст, просить что-то сделать. Намного удобнее происходит работа через Claude Code. Мы только дали входные данные, а дальше он делает всё за нас: всё найдёт, всё посмотрит и подставит в нужное место.

Для работы с Claude Code на момент записи этого видео для двух IDE систем есть плагины-расширения: для VS Code и для JetBrains. Это нужно для получения интеграции с этим инструментом из командной строки. Об этом в следующих видео мы подробнее остановимся.

Вас может напугать, что это может стоить достаточно дорого. На текущий момент у нас есть два варианта работы с Claude Code: первый вариант — токены, второй вариант — подписка. Мы можем использовать текущую подписку, которую мы оплатили для доступа к чату, для работы с Claude Code.

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

Я бы рекомендовал вариант подписки, так как он более экономный. Вот и всё, что я хотел рассказать по поводу этого инструмента. Давайте будем двигаться дальше к следующим урокам этого курса и будем знакомиться подробнее с этим инструментом.

Установка Claude Code

Установка Claude Code в операционную систему

Claude Code устанавливается в терминал, и для каждого типа оболочки требуется отдельная установка. Например, в Ubuntu с WSL Windows он устанавливается отдельно для PowerShell. Если у вас оболочка PowerShell, вы должны отдельно установить его туда.

Если у вас оболочка Command Prompt от Windows, то вы тоже должны устанавливать отдельно. Однако, если вы работаете в Windows, я рекомендую устанавливать в WSL Windows. Все инструменты заточены под Claude Code и Linux, работают с Linux командами по умолчанию.

Если вы будете работать в среде Linux, это будет проще. Я лично установил именно в WSL Linux, хотя можно устанавливать и в Command Prompt.

Требования и процесс установки

Для установки Claude Code должна быть установлена среда Node.js в той командной оболочке, где вы будете его устанавливать. Убедиться, что она установлена, можно командой node -v. У вас должна вывестись версия Node.

В документации в разделе Quickstart есть инструкция - для работы требуется версия Node.js 18 и выше. Если у вас не установлена нужная версия, её необходимо установить. В интернете достаточно много инструкций по установке.

Сама установка выполняется командой npm install -g @anthropic-ai/claude-code. Копируем её и вставляем в терминал. Выполняется установка пакета.

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

Для macOS, Linux и WSL есть соответствующие команды установки. Для оболочки PowerShell также есть отдельные инструкции. Можно почитать документацию - всё достаточно просто устанавливается.

После установки нужно с помощью команды cd перейти в нужный проект, в папку, с которой будете работать. Затем выполнить команды для запуска среды разработки, которая будет взаимодействовать с папками в текущей директории.

Проверка ошибок установки Claude Code. Команда doctor.

Проверка установки Claude Code

Очень важный момент, который нужно сделать после установки Claude Code - это убедиться в том, что он установлен у вас без ошибок. Для этого существует специальная команда, которая называется Doctor. Вызываем эту команду и убеждаемся, что в диагностике у вас нет ошибок.

Если вы установили Claude Code с какими-то ошибками, то могут быть проблемы:

  • с обновлением и автообновлением
  • с распознаванием кастомных слеш-команд
  • с другим функционалом, который должен подгрузиться в сессию (например, MCP серверы)

Всё это может не подгружаться из-за неправильной настройки прав доступа и других причин.

Устранение ошибок

Нужно добиться того, чтобы команда Doctor показала, что у вас всё в порядке. Если здесь какие-то ошибки, просто копируем вывод, нажимаем Enter и вставляем его в Claude Code, чтобы он проанализировал причину этих ошибок и сказал, что вам нужно сделать. Всё достаточно просто.

Выполняем эти команды и выясняем причину неправильной установки. Важно, чтобы это всё заработало. Если у вас всё установлено правильно, то Claude Code будет работать быстрее. Есть несколько особенностей по местам, где он будет установлен - если он установлен в правильное место, он будет работать быстрее.

У меня, например, была ошибка - я установил Claude Code с командой sudo, то есть с правами администратора, и из-за этого не работал алгоритм автообновления. С помощью команды Doctor я проанализировал это, и Claude Code написал мне инструкцию, как всё переустановить более правильно. После этого всё заработало успешно.

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

Базовые возможности Claude Code

Давайте рассмотрим базовые возможности работы с Cloud Code. Как мы можем это всё запустить и начать пользоваться?

Для этого нам потребуется открыть терминал. Я нажимаю правую клавишу мыши, зажав на клавиатуре клавишу Shift. У меня здесь есть "Открыть оболочку Linux в этой папке".

Я просто создал пустую тестовую папку и попробуем открыть её в среде WSL (Windows Subsystem for Linux - подсистема Linux для Windows), чтобы у нас открылось именно в этой среде. Именно здесь у меня установлен Cloud Code.

Для того чтобы начать пользоваться Cloud Code, у нас есть два варианта работы. Либо мы можем напрямую работать прямо из командной строки, выполнять какие-то команды. Либо мы можем это делать в специальной оболочке Cloud, которая работает в терминале и выполнять команды там.

Работа через командную строку и оболочку

Давайте рассмотрим сначала вариант выполнения команд прямо из командной строки без захода в какую-то оболочку. Для этого мы набираем такую команду: cloud -p. Флаг -p означает print, то есть выводить результаты на экран. Далее пишем любую произвольную команду, которую мы хотим выполнить.

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

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

Чтобы зайти в оболочку, нам нужно выполнить просто команду cloud без аргументов. Нас запрашивают права для доступа к той папке, в которой мы находимся. Говорим: "Да, предоставить эти права".

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

Давайте разрешим создание этого документа. В нашей директории создался новый документ. Cloud автоматически подставил туда содержимое. Он знает моё имя и фамилию и подставил это всё. Я ему это в память всё добавлял, но пока мы не касаемся вопросов работы с памятью.

Сейчас просто важно, что был создан такой документ. Мы можем попросить его отредактировать этот документ. Например: "Оставь в этом документе только одну строку - привет".

Опять же запрашиваются права на редактирование файла, показываются изменения. Говорим: "Да". Теперь в документе одна строка "привет".

Мы можем также удалить этот файл, попросить его удалить. Можем попросить поискать в нём какую-то информацию - она будет нам выдана.

Кроме того, мы даже можем делать запросы к внешним URL-адресам, чтобы получать информацию. Например: "Сделай запрос на страницу https://google.com и посмотри, что там находится".

Как вы видите, нас опять запрашивают разрешение на этот запрос. Здесь встроен инструмент HTTP-клиента, который делает запросы на удалённые адреса. Ничего нам дополнительно не нужно устанавливать с помощью MCP. Мы можем спокойно делать эти запросы - всё встроено и работает из коробки.

Мы видим, на каком процессе у нас сейчас идёт выполнение. Вот мы получили данные - стандартная страница Google.

Для того чтобы нам выйти из режима командной оболочки, мы зажимаем сочетание клавиш Ctrl+C два раза. Вот мы снова вышли в терминал.

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

Например, команда --version или -v покажет текущую версию Cloud. Команда cloud version покажет текущую версию.

Есть также и дополнительные команды: команды конфигурации, MCP, токен, обновление. Важно понимать, каким образом в общих чертах работать с этим Cloud Code клиентом, как вы это можете делать. Вот такой принцип основной работы.

Claude Code Плагины для IDE

Интеграция Claude Code с IDE

Кроме того, что мы можем взаимодействовать с Claude Code из командной строки, для наших IDE систем, в которых мы работаем, тоже есть возможность встроить дополнительный плагин, который будет иметь поддержку Claude Code. На момент записи этого видео существует интеграция с двумя популярными IDE системами: Visual Studio Code и JetBrains IDE, такими как PhpStorm, WebStorm и так далее.

На странице документации Claude Code to IDE вы можете посмотреть инструкции, как это можно сделать. Есть инструкция для VS Code - это делается через интеграцию. И соответственно, для JetBrains, в которых можно установить специальный плагин.

Здесь даётся ссылка на этот плагин в документации. Вот таким образом выглядит этот плагин.

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

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

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

Какие у нас есть преимущества? Во-первых, плагин позволяет нам, когда он соединяется с IDE системой, видеть и задавать сразу же контекст, где мы находимся. Например, я кликну по этому файлу, и он говорит, что мы находимся в этой категории, и она автоматически попадает в контекст. Нам не нужно писать "найди файл category.html.twig, добавь туда что-то". Мы просто сразу пишем "исправь вот это". Не нужно уточнять, где это нужно исправить.

Это первое преимущество. Потом мы можем выделить какую-то строчку кода. Как вы видите, здесь у нас это уже попало в контекст. Одна линия выделена. Мы можем выделить большее количество линий - оно сразу попадает в контекст. Нам не нужно писать "найди вот этот кусок кода, сделай с ним что-то". У нас это автоматически находится в контексте, и мы можем это использовать.

Следующее преимущество - давайте я его продемонстрирую, как это работает. Например, я напишу "добавь сюда CSS класс test". Он начинает работу. Сейчас посмотрим, как он запросит изменения в этот файл. Обратите внимание, что показывается, как было и как станет.

Благодаря плагину этот функционал у нас доступен. Мы прямо в IDE системе видим изменения. Мы можем их применить либо отвергнуть. Допустим, применим эти изменения. Всё - у нас добавился этот класс.

Аналогично это работает и в редакторе VS Code. Если вы установите там интеграцию с Claude Code, вот такой принцип работы. Для этого и нужны эти плагины.

Хочу уточнить важный момент. На момент записи этого видео была небольшая трудность. Так как мы работаем с Claude Code в WSL в терминале подсистемы Linux для Windows, то не всегда получается пробросить порты, дать разрешение для доступа к портам, на которых работает наш Claude Code в Windows систему. PhpStorm работает в Windows системе, а Claude Code в подсистеме Linux для Windows.

Здесь у нас возникает проблема - иногда не получается соединиться. Особенно это может произойти после обновления. Как я решил эту задачу? Я зашёл в C:\Users\Дмитрий (мой текущий пользователь) и создал файл .wslconfig. В обычном текстовом редакторе можем мы его отредактировать.

Добавил здесь такую конструкцию: networkingMode=mirrored. Это позволяет нам отзеркалить порты, которые используются в WSL внутрь Windows системы. По крайней мере, мне это помогло. Как пишут разработчики, это немного небезопасно - таким образом открывать порты, но тем не менее это значительно упрощает конфигурацию системы.

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

История сообщений Claude Code

Работа с историей сообщений в Claude Code

Давайте посмотрим, как мы можем работать с историей наших сообщений, которые мы ввели в переписку ранее в Claude Code.

Для того чтобы продолжить ваше последнее сообщение, с которого вы закончили общение с Claude Code, вы можете выполнить команду claude --continue. Тогда Claude Code запустится на том этапе, на котором вы завершили с ним работу.

Навигация по истории

Для того чтобы посмотреть историю сообщений, которая у вас была использована в этом проекте, можно два раза нажать клавишу Escape. У нас появляется окно, где мы можем переключиться на ту ветку, на которой мы остановились, на то последнее сообщение.

Например, на команду Clear я переключусь, и я нахожусь в начале. Если вы что-то сделали, потом хотите вернуться на какой-то этап работы, вы можете сделать это, два раза нажав Escape и выбрав нужную ветку, на которой вы остановились.

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

Контекст Claude Code. Команды clear, compact и context.

Важность понимания контекста в Cloud Code

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

Что же у нас показано на этом графике? Фиолетовая линия показывает объём контекста, который используется. Коричневой линией показан объём памяти, который есть в данный момент у LLM-агента, который обрабатывает данные, то есть у Cloud Code.

Какие выводы мы можем сделать из этого графика? Чем больше контекста вы даёте вашей модели для обработки, чем больше вы этот контекст забиваете, тем меньше у модели остаётся памяти для обработки ваших запросов, и тем хуже качество ответов у нашей LLM-системы.

Как вы видите, при малом объёме контекста качество ответов практически 100%. Чем больше контекста, которым оперирует наша модель, тем значительно снижается качество её ответов. Обратите внимание, что на последних участках кривой, когда мы уже достигли практически предела по количеству контекста для данной модели, качество ответов падает значительно на приличное количество процентов.

Поэтому очень важно, когда вы даёте какие-то запросы LLM-модели, не доходить до этого конечного участка кривой. Это очень важно.

Основные команды для работы с контекстом

Если мы говорим про Cloud Code, у нас для работы с контекстом есть три основные команды.

Первая команда - это команда context. Благодаря этой команде мы можем увидеть, что находится у нас в контексте на данный момент. Context usage (использование контекста) показывает, сколько у нас свободного пространства остаётся. В данном случае у меня остаётся 60%. Также показывается, сколько осталось до автосжатия этого контекста и сколько занимают MCP-серверы.

Обратите внимание на MCP-серверы. Чем больше MCP-серверов вы используете в своём проекте и устанавливаете в свою операционную систему, тем сильнее они занимают размер контекста. У меня в данном случае около 8% от всего контекста занимают кастомные промпты, которые предоставляют нам MCP-серверы.

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

Имейте в виду, что установка большого количества MCP-серверов может быть вредна для вашей работы, потому что она значительно увеличивает контекст, который нужно будет обрабатывать LLM-модели.

С помощью команды context вы можете контролировать то, что у вас находится в контексте, и делать выводы насчёт того, нужно ли вам это очищать или нет. Как вы видите, в контекст попадают кастомные агенты, субагенты, которые мы можем создавать для обработки запросов, и файл cloud.md. Memory-файлы тоже занимают место в нашем контексте.

Самая простая команда для очистки контекста - это команда clear. Она просто очищает весь контекст, который вы передали в модель, и всё начинается с чистого листа. Это что-то вроде создания нового чата, если мы работаем в веб-интерфейсе.

Другая команда, которая предназначена для работы с контекстом - это команда compact. Мы можем вызывать её просто как compact. Тогда Cloud Code постарается автоматически понять из текущей ситуации, что он может почистить, и по своему решению сжать беседу, выкинуть ненужные части беседы.

Мы можем прямо указать, что нужно почистить информацию, которая не относится к определённой теме. Либо сказать "давай сконцентрируемся на таком-то моменте", чтобы он всё остальное выкинул. Такие инструкции мы можем прописать текстом, указав, что именно необходимо сжать.

Нужно понимать, что команда compact иногда вызывается автоматически. Когда вы уже дошли до предела лимита вашего контекста, она просто будет автоматически вызываться Cloud Code, чтобы он мог продолжить работу дальше. Он по своим алгоритмам будет её автоматически вызывать.

Команда compact - это уже крайний случай, когда уже ничего больше не помогает. Доводить до такого состояния, чтобы у вас срабатывал автокомпакт, не стоит. Если автокомпакт срабатывает, значит, что-то вы делаете не так, и вам нужно ограничивать лимит, чтобы не доводить до того участка кривой, в котором ваша LLM-система будет работать не столь эффективно, как если бы у неё было меньше контекста.

Это основные команды для работы с контекстом Cloud Code, которые вы можете применять.

ПРОДОЛЖИТЬ