Детальный транскрипт: Разговор о Claude Code
Дмитрий Жечков (https://t.me/llm_notes)Оригинальное видео здесь https://www.youtube.com/watch?v=Yf_1w00qIKc
Участники:
- Алекс - руководитель отдела связей с Claude в Anthropic
- Борис - член технического персонала и создатель Claude Code
Алекс: Это секретный соус? Мы уверены, что хотим дать его людям? Ведь это тот же инструмент, который каждый день используют все в Anthropic.
Привет, я Алекс, я руководитель отдела связей с Claude здесь, в Anthropic.
Борис: А я Борис. Я член технического персонала и создатель Claude Code.
Алекс: И сегодня мы будем говорить о Claude Code. Борис, для начала, что такое Claude Code и как он появился?
Борис: Да, Claude Code - это способ заниматься агентным программированием в терминале. Так что вам не нужно осваивать новые инструменты, не нужно использовать новые IDE, не нужно использовать какой-то конкретный веб-сайт или что-то еще. Это просто агентное программирование, и оно работает там, где вы работаете.
И я думаю, что это на самом деле произошло из того, как инженеры и исследователи Anthropic используют инструменты для выполнения работы, потому что у людей есть самые разные стеки. Это очень странно. Нет одного нормального стека, который используют все. Есть люди, которые используют Zed IDE, и есть люди, которые используют VS Code, а затем есть люди, которые говорят: "Вы никогда не отберете у меня мой Vim. Вырвите его из моих холодных, мертвых рук."
И мы хотели создать что-то, что работает для всех, и вот так мы оказались в терминале.
Алекс: Понятно, так что терминал - это почти самый универсальный из всех интерфейсов в том смысле, что он гибкий и уже встроен в рабочий процесс каждого.
Борис: Именно, именно. И он также оказывается самым простым, и поскольку он такой простой, мы можем очень быстро итерировать. И это, оглядываясь назад, оказалось хорошей вещью, но определенно не было намерением с самого начала.
Алекс: Интересно, так что если я новый разработчик и хочу использовать Claude Code, как выглядит процесс запуска этого продукта?
Борис: Да, это довольно просто. Вы просто скачиваете его из NPM. Это npm install -g @anthropic-ai/claude-code, так что это немного заклинание. Вы скачиваете его, вам просто нужен Node.js в вашей системе, и у многих людей он есть, и это все. Вы открываете его, и он проведет вас через все остальное.
Алекс: Вау, так что вы просто вводите Claude в терминал, нажимаете enter, и это все, и это просто как Claude проведет вас через остальной процесс, а затем вы можете просто начать говорить с ним, и он начнет программировать.
Борис: Именно. Именно, да. Вы устанавливаете его, а затем запускаете Claude. Одна из крутых вещей заключается в том, что Claude работает в любом терминале, как вы сказали, так что если вы используете iTerm2, или терминал Apple, или какой бы терминал вы ни использовали, даже в SSH-сессии или TMUX-сессии, он будет работать.
Один из фактически топовых способов, которыми люди используют Claude Code, - это внутри терминалов IDE. Так что одна вещь, которую вы можете сделать, - это запустить Claude внутри, например, терминала VS Code, и он станет более мощным. Так что вместо того, чтобы видеть редактирование файлов в терминале, вы будете видеть их красиво и большими в самой IDE.
Алекс: Хорошо, интересно.
Борис: И мы также используем больше сигналов от этой IDE, чтобы сделать Claude более умным, но опыт тот же, вы просто запускаете Claude в терминале.
Алекс: Хорошо, так что там много всего, к чему я хочу вернуться через секунду. Но прежде чем мы к этому перейдем, мы выпустили Claude Code в феврале.
Борис: Да.
Алекс: Так что прошло чуть больше трех месяцев. Каково это было? Какова была реакция сообщества?
Борис: Да, просто безумная, такая неожиданная. Но прежде чем мы его выпустили, мы не были уверены, хотим ли мы его выпускать. Это был инструмент, который внутренне просто делает наших инженеров и исследователей такими продуктивными, и у нас были эти дебаты. Мы говорили: "Это секретный соус? Мы уверены, что хотим дать его людям?" Потому что это тот же инструмент, который каждый день используют все в Anthropic.
И да, я думаю, это оказалось правильным решением, потому что это делает людей более продуктивными, и людям это нравится.
Алекс: Какой был момент, когда вы поняли, что мы должны его выпустить?
Борис: Так что это началось в небольшой группе, и это было всего несколько человек из нашей основной команды, использующих его. А затем, в какой-то момент, мы дали его всем сотрудникам Anthropic, и была эта диаграмма DAU, так что ежедневные активные пользователи, просто смотря на сотрудников, и она была вертикальной три дня подряд.
Алекс: Вау.
Борис: И мы сказали: "Хорошо, это безумие. Это хит." А затем в какой-то момент мы даем его нескольким людям извне, просто чтобы посмотреть, сходим ли мы с ума, полезно ли это? И вся обратная связь была просто супер позитивной, и я думаю, это было довольно очевидно.
Алекс: Хорошо, так что он действительно загорелся внутри Anthropic сначала, а затем все инженеры, все исследователи использовали его сами, и это сделало довольно очевидным для нас, что мы должны выпустить его в мир тоже.
Борис: Да, да, и это большой способ, которым мы разработали эту вещь. Claude Code написан с использованием Claude Code. Почти все программирование Claude Code было написано и переписано и переписано с использованием Claude Code. И да, мы очень большие сторонники dogfooding. Это так важно, потому что когда вы используете продукт, который очевидно был dogfooded, вы можете это почувствовать.
И в продуктах, которые я использую каждый день, я могу почувствовать, что это то, что команда использует все время, а это нет, и да, мы просто хотели, чтобы это был один из тех продуктов, что когда вы берете его и пробуете, это очевидно, что в него вложено много любви, и это то, что мы используем сами.
Алекс: Кто, по вашему мнению, идеальный клиент Claude Code прямо сейчас? Кто использует Claude Code? Какой тип человека? Какой тип разработчика?
Борис: Да, так что я думаю, самое большое - это то, что Claude Code довольно дорогой. Так что если вы программируете по выходным, вы можете попробовать его немного. Так что вы получаете API-ключ и вкладываете пять баксов, и вы можете просто попробовать его.
Но если вы хотите использовать его для более серьезной работы, это будет стоить вам 50, 100, 200 баксов в месяц, что-то вроде этого. Есть большой диапазон. Это зависит от того, для чего вы его используете. Но в общем ожидайте может быть около 50 баксов в месяц.
Есть много предприятий, которые его используют, так что если вы в большой компании, это обычно очень хорошо подходит. Он потрясающий для больших кодовых баз. Нет шага индексации. Нет дополнительных вещей для настройки. Вы просто запускаете его, и он работает из коробки для практически любой большой кодовой базы на любом языке.
Алекс: А что с этой интеграцией с Claude Max? Как это работает?
Борис: Да, так что одна вещь, которую мы обнаружили, это то, что когда люди использовали API-ключи для оплаты этого, они немного беспокоились о своем использовании. И они не использовали его так много, как хотели.
И поэтому мы выпустили Claude Code как часть Claude Max, так что вы платите за подписку Max. Это как 100 баксов в месяц или 200 баксов в месяц, вы можете выбрать ценовую точку, и есть разные лимиты использования. И вы получаете практически столько Claude Code, сколько хотите. И практически, вы не собираетесь достичь каких-либо лимитов скорости. Очень немногие люди это делают. Это неограниченный Claude Code.
Алекс: Вау, так что объединено между вашими аккаунтами Claude.ai и затем Claude Code - это просто один пакет подписки.
Борис: Именно.
Алекс: Хорошо. Так что если я разработчик и использую Claude Code, и у меня есть кодовая база, над которой я работаю на моем компьютере, я захожу в мой терминал, ввожу "Claude", нажимаю enter. Что происходит дальше?
Борис: Да, Claude приступает к работе.
Алекс: Хорошо.
Борис: Так что он будет использовать инструменты, он будет выходить и делать свое дело. Он будет делать много шагов. Так что если вы только использовали помощников по программированию в IDE раньше, и вы привыкли к опыту, где то, что делает помощник, это завершает строку или завершает несколько строк или что-то, это совсем не то. Это супер, супер агентно.
Так что Claude поймет ваш запрос, и он будет использовать все инструменты в своем распоряжении, так что это Bash, редактирование файлов и так далее, чтобы исследовать кодовую базу, читать файлы, получить контекст, который ему нужен, а затем редактировать файлы, вносить любые изменения, которые вы хотите.
Алекс: Вау, так что это может быть новый форм-фактор программирования по сравнению с тем, как мы это делали последние 20 или 30 лет или около того.
Борис: Да, для меня мой путь в программировании уходит далеко назад. Так что я программирую уже некоторое время, но мой дедушка был фактически одним из первых компьютерных программистов в Советском Союзе еще в 1940-х или что-то вроде того.
Алекс: Вау.
Борис: И он программировал, используя перфокарты, потому что программирование с программным обеспечением еще не было вещью. И то, что он делал, это он брал эти большие перфокарты, и в США была эта вещь IBM, которая была своего рода IDE того времени, и он использовал это для программирования этих бумажных перфокарт, и вот как он программировал, и он приносил их домой каждую ночь.
И моя мама рассказывала мне истории, когда я рос, о том, как она рисовала поверх них мелками, и для нее это было частью ее опыта взросления.
И с тех пор программирование эволюционировало. Так что это были перфокарты, а затем у нас был ассемблер, а затем у нас были эти первые высокоуровневые языки, так что COBOL и FORTRAN. А затем мы получили, в восьмидесятых, Java и эти типизированные языки в Haskell, и это было действительно захватывающе.
А затем в девяностых мы перешли к JavaScript и Python. Так что это интерпретируемые языки, которые все еще дают вам много безопасности.
И я думаю о языке программирования и опыте использования языка программирования как эволюционирующих в ногу. Потому что примерно в то время, когда Java начала появляться, вы видели, например, Eclipse IDE, и у него были первые типы функций head. Как вы могли ввести символ, а затем получить выпадающий список, и идея была такой: вы имеете в виду это или это и это? И это было просто невероятно. Потому что как человек, вам больше не нужно было читать код. И поэтому я вижу это как эволюцию, так что это... Языки в некотором роде, я думаю, выровнялись. Все современные языки принадлежат к похожим семействам. Есть несколько больших семейств языков, и они довольно похожи, если взглянуть. Но опыт сейчас действительно эволюционирует, где теперь вам не нужно иметь дело с перфокартами или ассемблером или даже кодом, вы имеете дело с промптами, и модель выясняет часть программирования, и это просто чрезвычайно захватывающе для меня как программиста.
Алекс: Да, мне это нравится. Мы перешли от перфокарт к промптам в основном. Ну, у меня есть пара вопросов к вам на эту тему позже, но прежде чем мы к этому перейдем, я хочу поговорить немного о модельном фронте.
Так что до недавнего времени Claude Code работал в основном на Claude 3.7 Sonnet. Теперь с моделями Claude 4, питающими Claude Code под капотом, что это разблокировало и куда, по вашему мнению, мы движемся?
Борис: Да, может быть, пару месяцев или около того, до того как модели вышли, мы начали пробовать их внутренне, и я просто помню, как у меня отвисла челюсть от того, насколько более способным это ощущается.
Так что я думаю, есть все эти новые случаи использования, которые разблокированы. Когда вы используете Claude Code синхронно в терминале, я думаю, одно из больших изменений заключается в том, что Claude просто намного лучше держит ваши инструкции. И поэтому вы говорите ему сделать что-то либо в промпте, либо в Claude.md, и он будет склонен просто делать это и придерживаться этого.
И это большое изменение, потому что 3.7 был своего рода зверем. Это потрясающая модель для программирования, но, черт, ее трудно направлять. Как вы пытаетесь писать тесты, и он просто мокал все ваши тесты, и вы такой: "Нет, это не то, что я имею в виду." И обычно вы говорите это один или два раза, и он это выясняет, но он был просто настолько мощным, что это стоило того.
И я чувствую, что теперь с этим новым поколением моделей 4 вам больше не нужно этого делать. Они обычно делают то, что вы хотите, с первого выстрела. И Opus, он ощущается как этот следующий уровень выше Sonnet, где он не только понимает мое намерение действительно хорошо, но также способен сделать с одного выстрела много вещей, которые предыдущие модели просто не могли.
Так что, например, я не писал юнит-тест месяцами, потому что Opus просто пишет мои тесты, и почти каждый раз он сделает это идеально с первого раза. И это довольно полезно в терминале. Это делает так, что это может быть немного более hands-off.
Но я думаю, один из самых крутых случаев использования - это запуск его в GitHub Actions и других средах, где вы можете дать задачу, а затем модель просто уйдет и будет делать свое дело, и когда она вернется с правильным результатом с первого раза, это ощущается потрясающе.
Алекс: Так что с GitHub Actions теперь мы можем, внутри GitHub, @Claude, а затем заставить его уйти и работать над задачей в фоне, а затем вернуть его с результатом и новым PR.
Борис: Именно.
Алекс: Хорошо.
Борис: Да, вы открываете Claude в терминале, как обычно, просто запускаете Claude, а затем запускаете /install GitHub Action, и это проведет вас через этот шаг установки. Есть несколько шагов. Все автоматически. Вам просто нужно нажать кнопку или две, и это установит приложение Claude в ваш GitHub репозиторий.
И да, опыт довольно крутой. Так что в любой проблеме вы можете @упомянуть Claude, просто @Claude. Я использую это в PR каждый день. Коллега выложит pull request, и вместо того, чтобы спросить их: "Эй, можешь исправить эту вещь?" Я просто скажу: "Эй @Claude, исправь эту вещь", и он это исправит.
Алекс: Вау.
Борис: И вместо того, чтобы спрашивать: "Можешь написать тесты?" Я всегда чувствую себя немного виноватым, когда мне приходится это делать. Я просто скажу: "Эй @Claude, напиши тесты." Это просто больше не вещь.
Алекс: Я имею в виду, это кажется мне невероятным. Это как совершенно новый аспект программирования прямо там, где мы можем в основном привлечь вашего всегда доступного по требованию программиста, чтобы исправить эти проблемы для вас, даже не на вашем компьютере, а работающего в фоне.
Борис: Да, да, и я думаю, это начало взаимодействия с моделью, как вы бы с коллегой-программистом. Так что вместо @упоминания коллеги, я бы @упомянул Claude.
Алекс: Как это меняет разработку программного обеспечения, когда мы переходим к этой модели? Мы управляем всеми этими Claude Code в фоне.
Борис: Я думаю, есть немного ментального, есть немного ментального сдвига, который должен произойти, где некоторые люди действительно любят контролировать код, и если вы привыкли писать код вручную, я думаю, сейчас индустрия сдвигается к месту, где вы оркеструете агентов, которые пишут ваш код, и это больше о рецензировании кода, чем о написании кода вручную.
И да, я думаю, людям приходится иметь дело с этим переходом, и я думаю, как программист, это невероятно захватывающе, потому что вы можете делать так много больше так много быстрее. И все еще есть некоторые вещи, где мне придется спуститься и писать код вручную, но теперь я этого боюсь, потому что Claude просто так хорош в этом.
Алекс: Интересно.
Борис: И я думаю, все больше, по мере того как модели становятся более способными, эти окна, где вам приходится писать код вручную, либо потому что это сложная модель данных, либо это просто что-то действительно сложное, как взаимодействие между кучей системных компонентов или что-то, что трудно набрать в промпте, я думаю, это будет продолжать отступать, и все больше и больше программирования будет об оркестровке агентов.
Алекс: Так что я хочу погрузиться в это немного больше о вашем типе рабочего процесса. Так как вы в настоящее время используете комбинацию всех этих вещей от интеграции IDE до просто Claude Code, как он есть в терминале, до этих фоновых действий в GitHub?
Борис: Да, я думаю, есть два вида работы, которую я делаю. Некоторые вещи действительно легкие. Так что, например, написание некоторых тестов или исправление небольшого бага или что-то. И обычно я попрошу Claude сделать это в GitHub issues. Или другая вещь, которую я сделаю, это у меня есть пара Claude, работающих параллельно обычно. У меня есть пара checkout нашей кодовой базы, и поэтому в одной из этих вкладок терминала я попрошу Claude сделать что-то. Я нажму shift-enter, чтобы войти в режим автоматического принятия, а затем я вернусь через несколько минут, и я получу уведомление терминала, когда Claude закончит.
Алекс: О, вау.
Борис: Есть второй вид работы, где вам нужно быть немного более вовлеченным, и я думаю, это все еще большинство инженерии. Большинство инженерии, вы не можете сделать с одного выстрела, это все еще сложно. И поэтому то, что я сделаю, это запущу Claude в моем терминале IDE, и я попрошу его сделать что-то, и в какой-то момент он застрянет, или код не будет идеальным или что-то. И поэтому я войду и отредактирую в моей IDE, чтобы получить эту последнюю милю правок, и-
Алекс: Понятно, так что есть этот спектр почти сложности задачи по сравнению с тем, где вы взаимодействуете с Claude.
Борис: Да, да, есть период обучения, когда вы впервые начинаете использовать этот вид инструмента. Я думаю, что-то, что люди иногда делают, это пытаются использовать его для слишком многого, и вы даете ему что-то слишком сложное, и он задыхается, и вы не довольны результатом.
И это обучение, через которое каждый должен пройти, чтобы внутренне откалиброваться на то, что может делать Claude, что он может сделать с одного выстрела, что он может сделать с двух выстрелов, и каково это взаимодействие? И к сожалению, это меняется с каждой моделью, так что вы не можете просто запустить это один раз. Каждый раз, когда есть новый релиз, способность растет, и Claude способен делать больше вещей правильно с первого раза, и поэтому вы можете просить его немного больше каждый раз.
Алекс: Правильно, я заметил это просто в общем, даже вне кода, где эти модели меняются так быстро и улучшаются так быстро, что если бы вы попробовали модель шесть месяцев назад и списали ее для задачи, неправильно все еще предполагать этот фрейм в настоящем дне. Вам почти нужно сбросить ваши интуиции каждый раз.
Борис: Да, именно.
Алекс: Да. Мне любопытны другие может быть советы или трюки, которые вы видите от использования от разработчиков или от людей внутри Anthropic, какие крутые вещи люди делают с Claude Code?
Борис: Да, я бы сказал, самая большая вещь, которую я видел, как опытные пользователи начинают делать в Anthropic и вне его, это просить Claude составить план, прежде чем он начнет программировать. И что-то, что люди иногда делают, когда они впервые начинают использовать Claude Code, это они такие: "Эй, напиши эту действительно большую сложную функцию", а затем они расстраиваются, когда он не делает это так, как они представляли в своем уме.
И действительно хороший способ выровнять то, что вы хотите сделать, с тем, что Claude хочет сделать, это попросить его составить план и пропустить его через вас сначала. И я иногда явно скажу: "Вот проблема, которую я хочу решить. Прежде чем ты программируешь, мозговой штурм некоторых идей и сделай мне список идей о том, как к этому подойти, и не пиши никакого кода пока."
И Claude, знаете, он даст мне вариант один, вариант два, вариант три. И я могу быть такой: "Хорошо, вариант один и три звучат хорошо. Давайте объединим это. Теперь ты можешь начать программировать." И он обычно довольно хорош в слушании.
Другая вещь, чтобы поднять это на следующий уровень, это попросить Claude использовать расширенное мышление, и это работает лучше всего, если у Claude уже есть некоторый контекст. Это не работает очень хорошо, если у Claude еще нет никакого контекста, и он просто думает. И это своего рода как человек, правильно? Вы можете думать так долго, как хотите, но пока вы не войдете и не прочитаете код, вы фактически не будете знать, что вы делаете.
И это то же самое с Claude, просто попросите его сначала прочитать файлы, затем сделать паузу, а затем я попрошу его подумать и мозговой штурм некоторых идей, а затем я попрошу его программировать.
Алекс: Интересно, так что этот своего рода чередующийся подход, где он способен вызвать инструмент, подумать о результатах, подумать о том, что ему нужно делать дальше, а затем вызвать другой инструмент и продолжить это взад и вперед.
Борис: Да, именно, именно. И мы фактически видим это и на внутренних бенчмарках тоже, когда мы делаем внутренние бенчмарки разных видов оценок. Обычно, если вы сначала получаете контекст, а затем думаете, а затем используете инструменты для редактирования и используете Bash и так далее, результаты намного лучше, и это то, что ощущается тоже как пользователь.
Алекс: Да, расскажите мне о файлах Claude.md. Они кажутся действительно мощными.
Борис: Да, Claude.md, мы используем его для всего. Это память Claude. Это инструкции для Claude, которые вы хотите поделиться в нашей команде. Это инструкции, которые вы хотите поделиться во всех ваших проектах. Так что да, это очень мощно. Есть много разных Claude.md.
И так, самый простой вид - это файл под названием Claude.md, и вы помещаете его в корень вашего репозитория.
Алекс: Просто markdown файл.
Борис: Просто markdown файл, да. CLAUDE заглавными буквами, md строчными. И Claude автоматически прочитает его, когда вы запустите Claude в этой папке. Так что он будет автоматически прочитан в контекст, любые инструкции, которые вы хотите, чтобы Claude делал каждый раз, так что команды Bash, которые вы хотите, чтобы он запускал часто, или файлы, о которых он действительно должен знать при внесении изменений, или большие архитектурные решения, что угодно подобное, MCP серверы, просто поместите это в Claude.md.
Есть второй вид Claude.md, и этот вы проверяете, и поэтому вы хотите поделиться им с вашей командой. Вы хотите написать его один раз, а затем поделиться им со всеми в вашей команде, так что людям не нужно писать его самим.
Алекс: Да, интересно.
Борис: Второй вид Claude.md просто для вас, и это называется Claude.local.md. И этот тоже идет в то же место, и он просто для вас. Вы не делитесь им с вашей командой. Вы можете игнорировать его, так что вы не проверяете его.
Третий - это глобальный Claude.md, и он идет в вашу папку .Claude в вашем домашнем каталоге. Большинство людей фактически не используют этот, но если вы хотите, вы можете поместить любые инструкции, которые вы хотите поделиться между Claude там.
А затем финальный - это то, что вы можете поместить Claude.md в любой вложенный файл в любом каталоге в вашей кодовой базе.
Алекс: О, вау.
Борис: И Claude автоматически подтянет его, когда он думает, что это релевантно, просто чтобы получить инструкции о работе с этой частью кодовой базы.
Алекс: Так что это, да, специфические инструкции или даже ваши предпочтения просто для стиля программирования или что угодно подобное, о том, как Claude должен взаимодействовать, что он должен знать о вас, как вам нравится работать, может быть что угодно.
Борис: Именно. И иногда, когда я вижу, что Claude делает что-то действительно хорошее или действительно плохое во время разговора, то, что я сделаю, это нажму знак решетки, и это переходит в режим памяти, и я скажу Claude: "Эй, ты должен запомнить это." И это может быть инструкция, например: "Всякий раз, когда я делаю изменения кода, всегда запускай линтер", и я скажу ему это, и он включит это в правильный файл памяти.
Алекс: Интересно. Мне нужно делать больше этого, я думаю. Что дальше для Claude Code?
Борис: Да, я думаю, есть два направления, о которых мы думаем. Так что одно - это как заставить Claude работать еще лучше со всеми вашими инструментами. И это началось с работы с каждым терминалом. Теперь он может работать со многими IDE, и он также может работать с множеством CI систем. И мы думали о том, что дальше там, просто чтобы убедиться, что он работает со всеми инструментами, которые вы используете, Claude должен знать, как их использовать, и он должен работать с инструментами нативно.
Вторая вещь - это как заставить Claude лучше справляться с этими своего рода легкими задачами, для которых вы можете не хотеть открывать терминал. Так что если бы я мог отметить Claude в чат-приложении или что-то подобное и заставить его исправить проблему для меня тем же способом, которым я могу делать на GitHub. И что это означает, что ощущается хорошо в использовании? Так что мы пробовали кучу вариантов здесь. Мы хотим убедиться, что это ощущается действительно хорошо, прежде чем мы дадим это пользователям.
Алекс: Это захватывающе. Ну, я бы хотел видеть Claude Code везде, так что с нетерпением жду этого. И спасибо, Борис, за разговор.
Борис: Да, спасибо.
Заключение
Этот транскрипт представляет подробное обсуждение Claude Code - инструмента для агентного программирования в терминале, разработанного Anthropic. В разговоре освещаются ключевые аспекты продукта: от его происхождения и философии разработки до практического использования и будущих планов развития.
Основные темы включают универсальность терминального интерфейса, эволюцию от традиционного программирования к агентному подходу, интеграцию с различными средами разработки и новые возможности, открываемые моделями Claude 4.