Transcript
00:00:00Один единственный файл решает, будет ли продукт, который вы получите, действительно
00:00:04тем, что вам нужно.
00:00:05Для пользователей Claude Code это claud.md, у других есть свои файлы, но чаще всего
00:00:10они используют agents.md.
00:00:11Но что бы вы ни использовали, если вы не настроите это должным образом, вы будете продолжать бороться со своим
00:00:15агентом в каждой задаче.
00:00:17И если вы думаете, что запуска простой команды init достаточно для вас, то вы на самом деле
00:00:20ошибаетесь.
00:00:21Вам нужно следовать структурированному шаблону, адаптированному к проекту, который действительно заставляет вашего агента
00:00:26работать лучше.
00:00:27По этой причине мы собрали лучшие практики, которым вам нужно следовать, из других заслуживающих доверия источников,
00:00:31а также из нашего опыта работы с Claude Code, чтобы вы могли применить их напрямую в
00:00:35своем рабочем процессе.
00:00:36И последнее важно, потому что оно определяет, как ваш агент на самом деле следует вашим инструкциям,
00:00:41и если их не соблюдать, остальные инструкции в вашем файле не будут такими эффективными.
00:00:45Первое, что вам нужно добавить в файл claud.md, — это кое-что, взятое прямо
00:00:49из репозитория навыков Андрея Карпатого, где содержатся лучшие шаблоны для claud.md, о которых он говорит.
00:00:54Вам нужно добавить явную инструкцию для Claude думать перед написанием кода.
00:00:58Это заставляет Claude выражать предположения явно.
00:01:01Если существует несколько интерпретаций, он должен представить их все, чтобы мы могли выбрать из
00:01:05набора реализаций.
00:01:07Это заставляет Claude мыслить с другой точки зрения, прежде чем он на самом деле погрузится в
00:01:11решение.
00:01:12Это гарантирует, что реализованное решение соответствует тому, что вы хотели.
00:01:15Эта строка избавляет наш рабочий процесс от огромного количества правок, поэтому мы нашли ее
00:01:20такой полезной.
00:01:21С добавлением этой инструкции, всякий раз, когда вы просите Claude реализовать функцию, он будет, по сути,
00:01:25задавать ряд вопросов, связанных с поставленной задачей, чтобы ваши ответы направляли его
00:01:29в том, как на самом деле выполнить задачу.
00:01:31Эта часть особенно полезна, потому что теперь Claude не будет гадать с реализацией
00:01:35и сразу приступать к выполнению на основе шаблонов, которые он запомнил из обучающих данных.
00:01:39Он будет тщательно продумывать, какая реализация является правильной, и подтверждать с вами, является ли это
00:01:43задуманной реализацией, а затем действительно работать над функцией, вместо того чтобы просто дико
00:01:48угадывать ее, а вам приходится прерывать Claude, потому что он не следовал правильным реализациям,
00:01:52которые были у вас в голове, что происходит гораздо чаще и требует от вас много
00:01:56исправлений.
00:01:57Следующее правило — выбирать простоту в первую очередь.
00:01:59Это что-то настолько простое, но все же это должно быть специально указано в claud.md, чтобы
00:02:04агенту правильно напоминали об этом принципе.
00:02:07Claude или любой другой агент имеет тенденцию писать большие решения для проблем, которые можно решить
00:02:11простыми.
00:02:12Но это проблема не только потому, что вызывает задержки.
00:02:15Это также затрудняет рефакторинг кода в дальнейшем и еще больше усложняет добавление функций, потому что
00:02:19реализация настолько многословна, что потребляет много токенов для реализации простых вещей.
00:02:24Так что эта строка буквально подталкивает Claude итерироваться в сторону простоты.
00:02:27Мы также добавляем это в каждый проект, особенно при работе над масштабными приложениями, потому что
00:02:32в этом масштабе это становится более важным.
00:02:35Это конкретно говорит Claude не добавлять никаких функций сверх того, что было запрошено, и обеспечить
00:02:39надлежащую обработку ошибок для реализации.
00:02:41Дисциплинированная структура вокруг этого — это, по сути, жесткий порог.
00:02:44Если решение любой задачи, о которой вы просите, может быть обработано в 200 строках и может быть переработано
00:02:49до 50, то Claude должен переписать решение, потому что его подход неверный.
00:02:54Это действительно предотвратит написание Claude большого количества бесполезного кода с вещами,
00:02:58которые даже не реализуемы, и отражает неверное направление, которое выбрал Claude.
00:03:03Третья часть claud.md — это выполнение хирургических изменений, или, проще говоря, затрагивание
00:03:08только тех частей, которые агент абсолютно обязан затронуть.
00:03:11Это касается того, с чем мы часто сталкиваемся, когда Claude пишет большое количество кода за
00:03:15один раз, и исправление должно быть явно указано в файле claud.md.
00:03:19Claude или агенты в целом, когда их просят выполнить одну задачу, склонны пытаться улучшить вещи
00:03:24вокруг этой задачи тоже.
00:03:25Эти улучшения могут выглядеть как изменения смежного кода или форматирование кодовой базы, на чем
00:03:29мы на самом деле не хотим, чтобы он фокусировался в данный момент.
00:03:32Но это раздражает, потому что внимание Claude рассеивается между несколькими вещами, которые он
00:03:36пытается реализовать одновременно.
00:03:37Настройка таких изменений не является хорошей идеей, потому что Claude по сути включает вещи,
00:03:41которые мы не хотели, чтобы он делал прямо сейчас.
00:03:43Поэтому нам нужно прямо указать в claud.md инструкцию не делать этого.
00:03:47Если агент замечает какой-либо не связанный с задачей мертвый код, он должен упомянуть об этом, вместо того чтобы исправлять его самостоятельно.
00:03:52Порой такие вещи присутствуют по определенным причинам, которые должны быть решены позже,
00:03:56а не на той стадии, на которой сейчас находится приложение.
00:03:58Ментальная структура, которая позволяет Claude решать, как действовать должным образом, заключается в проверке каждого изменения
00:04:03и просмотре, действительно ли оно возвращается к тому, о чем просил пользователь.
00:04:06Если возвращается, то он должен внести это изменение.
00:04:08Если нет, он не должен затрагивать эту функцию.
00:04:10Если эта строка добавлена, то всякий раз, когда у Claude есть какая-либо проблема в реализации, он будет, по сути,
00:04:14изменять только то, что пользователь попросил его исправить.
00:04:17Поэтому он расскажет вам обо всех других проблемах, которые он нашел в том же файле, и вы сможете решить
00:04:21оттуда, хотите ли вы на самом деле, чтобы он исправил их или нет.
00:04:24Последний шаблон, который был извлечен из работы Андрея Карпатого, — это выполнение, управляемое целью.
00:04:29Агенты не знают, как должен выглядеть правильный результат, что является основной проблемой.
00:04:33Они работали бы намного эффективнее, если бы знали, и именно это правило исправляет.
00:04:36В файле claud.md нам нужно явно указать Claude определить критерии успеха
00:04:41для каждой задачи, которую мы ему даем.
00:04:43Поэтому для любой задачи, которую мы передаем, Claude должен преобразовать ее в проверяемую цель.
00:04:47Например, если вы даете ему задачу добавить валидацию, он напишет тесты для недопустимых входных данных
00:04:52и обеспечит, чтобы эти тестовые случаи действительно проходили с правильными возвращаемыми значениями для правильных входных данных.
00:04:57Так что вся идея заключается в том, чтобы агент реализовал тестовые случаи, а затем итерировал, пока все тестовые
00:05:01случаи не будут пройдены, и в конце проект будет иметь такое же поведение, которое нам на самом деле нужно от него.
00:05:06Если вы дадите ему любую подсказку по задаче, он установит проверяемую цель и спланирует реализацию.
00:05:11Затем он проверит работу для вас, добавив все тестовые случаи и показав, как он будет
00:05:15обрабатывать все приложение в целом.
00:05:17Теперь, это может работать для логических рассуждений, но если вы хотите, чтобы агент проверил, как ваш
00:05:21интерфейс выглядит, агент не может написать тестовые случаи для этого.
00:05:23Поэтому для этого вы можете добавить расширение Claud Chrome или Puppeteer MCP, чтобы он мог проверить
00:05:28как выглядит интерфейс, используя эти инструменты.
00:05:30Это помогает, потому что изменения в интерфейсе трудно оценить, глядя на код самого себя, и давая
00:05:35агенту проверяемый способ позволить ему увидеть текущие визуальные эффекты приложения, и, используя это, он может исправить
00:05:40проблемы.
00:05:41Поэтому вы можете явно добавить строку, чтобы он знал, что после реализации интерфейса
00:05:45он также должен проверить результат через MCP.
00:05:48Если вы создали файл claud.md с помощью собственной команды init Claude Code, вы увидите, что
00:05:53он добавляет команды для запуска сервера разработки и сервера сборки.
00:05:57Но они уже есть в его обучающих данных, и Claude уже знает эти команды, и
00:06:01нам не нужно явно тратить строки в claud.md, говоря ему то, что он уже знает.
00:06:05Так что в своем файле вам нужно упомянуть только инструменты, которые вы хотите, чтобы Claude использовал вместо
00:06:09тех, к которым он прибегает по умолчанию.
00:06:11Существуют определенные инструменты командной строки, которые делают рабочий процесс быстрее, но которых нет в обучающих данных Claude
00:06:16или шаблонах, на которые он уже полагается.
00:06:18Поэтому вам нужно добавить их явно, чтобы Claude знал, что эти инструменты установлены
00:06:22и не возвращался к тому, что он использует самостоятельно все время.
00:06:26Например, если вы установили CLI GitHub вместо использования git для работы, вы можете
00:06:30добавить инструкцию в claud.md использовать его CLI вместо стандартных команд git для всех
00:06:36операций.
00:06:37Аналогично, вы можете добавить больше команд, которые не являются стандартными.
00:06:41Вам также нужно добавить инструкции по запуску проекта в этом файле, если они отличаются
00:06:45от обычных.
00:06:46Например, большинство проектов в стандартной настройке запускаются с помощью npm, и если ваш проект запускается с
00:06:51pnpm, вам нужно добавить эту информацию, чтобы агент знал, какие команды на самом деле должны
00:06:56быть выполнены.
00:06:57Все остальное, помимо команд, которые Claude уже знает, не должно быть включено в файл claud.md.
00:07:01файл.
00:07:02Следующее упоминание в claud.md вдохновлено создателем Claude Code и рабочим процессом,
00:07:07который он раскрыл.
00:07:08Он говорил о том, что claud.md — это не файл «написал один раз и используй вечно».
00:07:12Это то, что постоянно нуждается в изменении, обновлении и улучшении в процессе
00:07:16создания, как постоянный процесс, который требует итераций снова и снова.
00:07:20Поэтому вам нужно добавить инструкцию, что если Claude должен был быть уведомлен пользователем о том, что его реализация
00:07:25была неверной, он должен сначала применить исправления, указанные пользователем.
00:07:29Как только Claude применит эти исправления, он должен также добавить эти знания в специальный
00:07:33файл, чтобы Claude мог постепенно создавать базу знаний о том, чего он не должен делать и что является
00:07:38правильным способом выполнения вещей, к которому он может обращаться позже по мере необходимости.
00:07:42Но прежде чем мы двинемся вперед, давайте послушаем слово от нашего спонсора.
00:07:45Klaus, вы, наверное, слышали об ИИ-агентах.
00:07:47Может быть, вы пытались настроить его самостоятельно, 15 минут вы смотрите в терминал,
00:07:51вставляя API-ключи в конфигурационные файлы, задаваясь вопросом, не слили ли вы только что что-то важное.
00:07:56Klaus пропускает все это.
00:07:57Klaus запускает OpenClaw, open-source ИИ-агента в облаке.
00:08:00Вы регистрируетесь, получаете $15 в кредитах Open Router и начинаете промптить.
00:08:04Никакого терминала, никакого docker, никакого квеста по поиску API-ключей.
00:08:07Я протестировал его, попросив Klaus проскрейпить каталог стартапов, организовать результаты в таблицу
00:08:12и отправить мне по электронной почте.
00:08:13Один промпт в окне чата, готово.
00:08:15Никакого кода, никаких расширений браузера.
00:08:17Он поставляется со встроенными инструментами, такими как Exa и Apollo, и подключается к Slack, WhatsApp, даже
00:08:21iMessage.
00:08:22Все работает на изолированной машине, полностью отделенной от ваших личных учетных записей.
00:08:27Если что-то ломается, их агент автоисправления Clawbert исправляет это без вашего вмешательства.
00:08:31Переходите по ссылке в закрепленном комментарии и попробуйте Klaus бесплатно.
00:08:35Поскольку большинство проектов по программированию управляются Git, вам нужно явно добавить инструкцию
00:08:39в claud.md, что Claude не должен запускать команды, которые необратимы без подтверждения.
00:08:44И если возникает необходимость выполнить такую команду, агент должен сначала запросить разрешение.
00:08:48Эти команды опасны, потому что как только они выполнены, последствия необратимы
00:08:53и они могут нанести ущерб производству.
00:08:55Вещи, такие как принудительная отправка (force push), сброс головы (reset head), слияние веток или выполнение команд принудительного удаления
00:09:00команд.
00:09:01Вам также нужно добавить инструкцию, что если Claude не уверен, является ли команда деструктивной
00:09:04или нет, он должен спросить, вместо того чтобы предполагать.
00:09:07Это избавит вас от множества проблем.
00:09:08Например, если Claude случайно попытается объединить ветку, которую вы не хотите объединять,
00:09:12он попросит разрешения, прежде чем делать это, и вы можете отказать, чтобы ваша работа
00:09:16оставалась в безопасности.
00:09:17Нет необходимости помещать все аспекты информации в один файл claud.md, потому что это
00:09:22просто раздует его без необходимости и отвлечет агента от того, что ему на самом деле нужно делать.
00:09:27Поэтому вам нужно создать файлы правил с областью действия пути, которые объявляют свою область действия на первой строке
00:09:31и содержат инструкции, адаптированные для этих конкретных файлов.
00:09:34Вам также нужно упомянуть расположение этих файлов в claud.md, чтобы Claude знал, что они существуют.
00:09:40Например, если вы хотите, чтобы Claude следовал определенным специфическим инструкциям при написании API, вы
00:09:44можете добавить их в файл правил для них, чтобы, когда Claude работает над ними, он мог загрузить
00:09:48эти инструкции и использовать их напрямую.
00:09:50Но не менее важно то, что это также гарантирует, что инструкции, связанные с API, не будут мешать,
00:09:55когда Claude не работает над ними.
00:09:56Вы можете иметь несколько файлов правил для разных частей проекта, каждый из которых содержит инструкции,
00:10:00адаптированные к этой конкретной области.
00:10:02Таким образом, Claude загружает только соответствующие инструкции, когда работает над этой частью.
00:10:06Поэтому это предотвращает раздувание контекста и держит агента сфокусированным на текущей задаче, вместо того
00:10:11чтобы быть отвлеченным не связанными правилами.
00:10:13Большинство масштабных приложений находятся в монорепозитории, который представляет собой один большой репозиторий, где
00:10:18все различные компоненты хранятся вместе, причем каждая папка действует как отдельная часть
00:10:22сама по себе, и каждая часть управляется независимо, при этом внося вклад в другой аспект
00:10:27основного приложения.
00:10:28Поэтому, если вы запускаете проект из монорепозитория, вам нужно убедиться, что каждый подрепозиторий
00:10:32содержит свой собственный файл claud.md, чтобы он на самом деле содержал инструкции, специфичные
00:10:37для него, и не должен был полагаться только на инструкции из глобального claud.md.
00:10:42Глобальный файл должен состоять только из инструкций, которые широко применимы ко всем частям
00:10:47системы.
00:10:48Но файлы claud.md с областью действия работают лучше, потому что они могут содержать инструкции, специфичные
00:10:52для этого конкретного приложения или модуля.
00:10:54Это позволяет агенту работать лучше, потому что он будет иметь более сфокусированное руководство.
00:10:58Поэтому размещение всех инструкций для крупного проекта в основном файле — неверный ход.
00:11:02Это фактически раздует файл информацией, и когда Claude проходит через области с инструкциями,
00:11:07которые не касаются текущей задачи, это может привести к тому, что его внимание рассеется от того, что ему
00:11:11на самом деле нужно сделать.
00:11:12Также, если вам нравится наш контент, рассмотрите возможность нажатия кнопки «хайп», потому что это помогает нам
00:11:16создавать больше подобного контента и охватывать больше людей.
00:11:19Вам также нужно добавить описание проекта в файл claud.md и убедиться, что эта
00:11:24инструкция помещена в самом начале его, а не погребена внутри остальных
00:11:29инструкций.
00:11:30Потому что агент получает суть того, о чем все приложение, прочитав это первым.
00:11:33Поэтому он понимает контекст того, как структурировано приложение, что оно делает в целом, каковы
00:11:38различные сервисы и зависимости, и как приложение работает.
00:11:41Таким образом, он знает с самого начала, вместо того чтобы смотреть на код, чтобы сделать вывод, что
00:11:45делает приложение.
00:11:46Еще один раздел, который нам нужно добавить в ваш файл claud.md, заключается в том, что Claude должен проверить
00:11:50не только то, что функция существует, но и то, что она функционирует правильно, как задумано, прежде чем сообщать
00:11:55о любой задаче как о выполненной.
00:11:57Он должен использовать все доступные механизмы проверки, чтобы подтвердить, что сборка и тесты проходят должным образом,
00:12:02но суть этого раздела заключается в обеспечении того, чтобы задача была на самом деле завершена, используя реальные
00:12:07шаги проверки, а не просто проверяя, что код для функции существует.
00:12:11Поэтому эта инструкция подталкивает Claude отчитываться более добросовестно и использовать несколько
00:12:15типов проверок, таких как модульные тесты, линтинг и проверка типов, чтобы убедиться, что приложение реализовано
00:12:20правильно и работает как задумано.
00:12:23И последнее, но не менее важное: способ, которым вы упорядочиваете инструкции в файле claud.md, также
00:12:27очень важен для обеспечения высокой производительности агента.
00:12:29Вы должны упорядочить их по приоритету.
00:12:31Первыми инструкциями должны быть жесткие правила, что означает всегда не подлежащие обсуждению, без каких-либо исключений
00:12:36вообще.
00:12:37Эти жесткие правила всегда должны идти первыми, перед любыми другими правилами.
00:12:40Затем идут правила среднего приоритета, которые не такие строгие, как предыдущие.
00:12:44Они несколько обсуждаемы, но все же важны и не должны быть нарушены.
00:12:48После этого идут инструкции с низким приоритетом, которые в основном включают ссылки и удобства,
00:12:52так что агенту не нужно возвращаться и использовать этот раздел в качестве основного источника решений.
00:12:57Еще одна важная вещь: вам нужно убедиться, что файл claud.md остается коротким.
00:13:01Лучшая практика — держать его в строгом пределе 300 строк, что считается оптимальным
00:13:06для производительности агента.
00:13:07Но как только он становится длиннее, производительность начинает снижаться.
00:13:10Файл claud.md, о котором здесь говорилось, и все другие ресурсы, упомянутые здесь, доступны
00:13:15в AI Labs Pro для этого видео и для всех наших предыдущих видео, откуда вы можете скачать
00:13:20и использовать их для своих проектов.
00:13:21Если вы нашли ценность в том, что мы делаем, и хотите поддержать канал, это лучший способ
00:13:25сделать это.
00:13:26Ссылка в описании.
00:13:27Это подводит нас к концу этого видео.
00:13:29Если вы хотите поддержать канал и помочь нам продолжать создавать видео, подобные этому, вы можете сделать
00:13:33это с помощью кнопки супер-спасибо ниже.
00:13:35Как всегда, спасибо за просмотр, и увидимся в следующем.