📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Claude Skills Review — Early, But Promising

Matt Maher17:44

Transcription

Новая система навыков Claude, возможно, является самой мощной функцией, которую пока никто не использует. И это действительно не только для инженеров. На самом деле, я думаю, что ее настоящая изюминка заключается в том, что все мы используем ее для автоматизации повседневных задач. Я хочу углубиться в пару распространенных случаев использования или случаев, которые я могу себе представить. А также немного технического понимания, просто потому, что возникает реальный вопрос, зачем нам еще один такой инструмент. Их так много, что довольно тесно. Давайте кратко рассмотрим все эти инструменты, чтобы лучше понять, почему существуют навыки, для чего они хороши, а затем посмотрим, как их использовать для повторяющейся обычной работы. Итак, прежде всего, что такое навык? Anthropic Claude представил эту концепцию навыков. Это просто упаковка, возможно, некоторых инструкций в файле skill MD, потенциально некоторых данных в файле CSV, и, возможно, даже программ в файлах скриптов или других файлах. Там может быть довольно много всего, но идея в том, что это самодостаточные единицы работы, которые могут повторяться часто или последовательно. И это действительно одна из их дополнительных ценностей: вы можете использовать программирование, чтобы гарантировать, что это будет более детерминировано, когда вы пытаетесь делать одно и то же снова и снова. Например, подумайте о написании чего-то вроде информационного бюллетеня, и вы хотите очень последовательный формат, независимо от чего. Вы можете просто поручить скрипту выполнить фактическую работу, а интеллекту — собрать информацию. Так что здесь действительно есть ценность для очень повторяющегося сценария. Но давайте посмотрим, как это вписывается в текущий ландшафт. Итак, как я уже упоминал, здесь довольно тесно. Есть много разных инструментов. Чаты имеют проекты, приложения и пользовательские GPT, и тому подобное. А справа здесь у нас есть команды `/` или промпты, под-агенты и плагины. MCP находится посередине, как бы охватывая оба эти направления. Итак, почти все это в какой-то степени имеет одинаковую форму, и это действительно очень сложно. Итак, вопрос здесь в том, где находится навык? Ответ: он охватывает оба. Так что он находится посередине. Папка, которую мы видели наверху, мы увидим это через секунду, идет во что-то вроде `claude codes`. Если вы заархивируете эту папку, вы можете передать ее в чат или потребительской стороне. Так что он вставляется посередине. Но интересно, что он сильно пересекается с MCP или выглядит так. Но позвольте мне очень кратко сказать, что MCP предназначены для предоставления внешних сервисов. Навыки по определению предназначены для предоставления или содержать внутренние сервисы. Таким образом, вы можете писать программы, данные, промпты и инструкции в одной папке, если хотите, и это будет продолжать использоваться в этом контексте. Их намерение не состоит в том, чтобы выходить и предоставлять внешние сервисы. На самом деле, настолько, что они ограничены с точки зрения сети на левой стороне этой диаграммы. Они почти ни к чему не могут получить доступ к сети. Так что, когда мы говорим о MCP и навыках, мы действительно начинаем говорить о различии на уровне контекста. Каждый добавленный вами MCP автоматически предоставляет описание всех инструментов, которые он предоставляет. Навыки, с другой стороны, навыки предоставляют только очень краткое, по сути, одно предложение описания. Модель сталкивается со сценарием, когда пользователь спрашивает: «У меня есть этот файл PowerPoint, пожалуйста, извлеките из него информацию». Затем он говорит: «О, это интересно. У меня есть что-то под названием навык». Итак, он говорит: «Позвольте мне вызвать этот навык и получить больше информации о нем». Вызывает, получает файл `skill MD`, который является остальной информацией об этом навыке, которая возвращается модели. Модель читает это и говорит: «О, интересно. Я вижу, что у вас есть. Я вижу, что вы делаете. Да, вы можете быть тем, кого я хочу использовать». И затем прогрессивно больше информации добавляется в контекст. Итак, вот мы находимся в среде навыков Anthropic. И это просто несколько примеров навыков, которыми они поделились во время запуска. Эти навыки, навык документа, навык PDF, навык PowerPoint и навык Excel. Они установлены по умолчанию. Вам не нужно их устанавливать. Если вы просто зайдете в Claude и спросите о них, они уже начнут их использовать. Я хотел посмотреть, что внутри одного из них. Например, представьте, что мы хотим создать файл документа или какой-то файл для, скажем так, обычного документа Word. Делая это, вы увидите, что здесь есть файл навыка. А затем есть скрипты о том, как они пишут и читают, и утилиты, которые они используют. Так что это начинает выглядеть очень похоже на традиционную программу для выполнения этой работы. Но если мы посмотрим внутрь навыка, здесь есть некоторые заголовочные данные, которые мы рассмотрим через секунду. А затем очень длинный промпт. Мы не хотим всего этого в окне контекста. Если я просто говорю «привет», я не хочу, чтобы это тоже было в моем окне контекста. Это не нужно. И поэтому то, что находится в окне контекста, находится здесь. Итак, я вернусь к просмотру кода, чтобы вы могли увидеть сам markdown. И у нас есть определение этого типа YAML front matter. Это просто эта концепция между этими тремя тире наверху. И у нас есть пары ключ-значение. У нас есть имя, которое является важным обязательным полем, и описание является обязательным полем. И поэтому это обязательное поле описания — единственное, что, как я говорил, попадает в окно контекста, чтобы модель знала: «О, у меня есть навык, который выполняет комплексное создание, редактирование, анализ документов с поддержкой отслеживания изменений, комментариев, бла-бла-бла». Это то, что она знает. Она знает, что у нее есть навык, который делает эти вещи. Давайте запустим один из них из Claude Code, чтобы мы могли увидеть явное использование, а затем перейдем к фактическому использованию их с точки зрения потребителя. Итак, вот я. Я в курсоре, чтобы мы могли видеть, где мы будем вызывать Claude. Здесь находится файл Claude в этом каталоге, а внутри этой папки `.claude` у нас есть новая папка под названием `skills`. Здесь происходит следующее: когда Claude Code запускает новый чат, сами навыки, как мы говорили, у нас их два здесь, пойдут и прочитают этот файл `skill MD`, и этот файл `skill MD` или просто его описание — это то, что находится в описании front matter, если мы посмотрим на один из них, то вы увидите, что описание front matter — это это предложение или этот набор предложений, это все, что находится в контексте на данный момент, так что у нас это есть в нашем контексте в этот момент запуска. Итак, мы собираемся сказать системе использовать навык проверки кода для выполнения проверки кода. И то, что вы увидите здесь в Claude Code, это то, что он возвращается, как Claude Code, чтобы сказать: «Вы уверены, что хотите, чтобы мы запустили этот навык», что, по сути, означает, что здесь есть поверхность доверия, которую нам нужно проверить, что вы готовы перейти, что действительно приятно. Итак, я могу сказать «да», я готов это запустить. Я знаю, что я ранее установил его или он даже находится в этой папке, но я готов его запустить и передать ему контекст. Итак, давайте посмотрим на сам этот навык. Если мы посмотрим на этот навык, у него есть front matter здесь, который мы видим, и своего рода большое описание всего, что мы можем описать из проверки кода. Если бы мы хотели стандартные проверки кода и своего рода в нашей компании или в нашей группе, вот как мы выполняем проверки кода и на что мы обращаем внимание. Этот простой навык здесь в виде папки может быть чем-то, что мы хотим поделиться. И вот наша проверка кода. Как вы можете себе представить, конечно, следуя инструкциям в этом определении. Итак, теперь к некоторым лучшим частям. Я очень кратко коснусь этого. Если вы зайдете в свои настройки, вы увидите раздел настроек под названием «Возможности». В разделе «Возможности» вы будете включать различные навыки. Таким образом, вы можете прийти и включить различные навыки, и вы увидите некоторые навыки, которые Anthropic уже предложил. Я нахожусь в веб-клиенте. Это было бы то же самое в настольном клиенте. Я также добавил несколько своих навыков сюда. `franchisee` — это один из них, который мы увидим через секунду. И на самом деле, `movie TV info` — это еще один, или `show search`. Это два других навыка, которые мы можем увидеть через секунду. Итак, вы видите, что они здесь включены. Итак, если вы вернетесь и начнете новый чат, эти навыки уже доступны нам в этом пространстве, и мы можем просто начать задавать вопросы прямо сейчас. Если у вас есть новый навык или вы хотите создать новый навык, они фактически предлагают навык. Я покажу вам еще раз в «Возможностях» под названием «Создатель навыков». Вам нужно его включить, но это действительно ценный инструмент. Если у вас есть Enthropic или Claude, и вы за него платите, я бы сказал, включите его и попросите конкретный навык, который вам нравится. Вы можете обмениваться информацией с ним, редактируя его. Вам нужно будет скачать zip-файл, а затем перетащить этот zip-файл сюда, чтобы добавить его, или выберите «загрузить навык» здесь. В любом случае, но zip-файл — это способ, которым вы будете транспортировать это. Итак, у меня есть несколько навыков. Давайте посмотрим на первый, который является моим навыком сетевого тестера. И это просто навык, который я собрал, который, по сути, выполняет несколько сетевых тестов, чтобы увидеть, что доступно для навыков. Итак, здесь, в среде пользовательского интерфейса чата, потребительской стороне, у нее не должно быть доступа к Интернету, хотя есть небольшой секрет, который вы можете использовать, чтобы обойти это. Они хотят убедиться, что они полностью контролируют происходящее в сети. И чтобы сделать это, они, по сути, поместили все в жесткую песочницу, так что вы, по сути, ничего не можете сделать. Вы не можете использовать никакие сетевые интерфейсы для связи, что нормально, и я это понимаю, но это действительно ограничивает этот набор инструментов в некотором роде в значительной степени. Честно говоря, я бы предпочел видеть здесь, чтобы они предлагали вам: «Хотите ли вы запустить это, когда вы запускаете один из этих навыков?» Очень похоже на то, что вы видели в Claude Code, очень похоже на то, что вы увидите, используя MCP в пользовательском интерфейсе. MCP имеют доступ к сети и разделяют ваш контекст точно так же и имеют тот же потенциал для такого рода эксфильтрации данных. Так что это одобрение — это то, что я бы предпочел, чтобы они предлагали здесь, но они этого не делают, и они просто ограничивают сетевой доступ, и это действительно ограничивает вещи. Мы увидим это через секунду. Давайте запустим другой навык. Итак, я потратил некоторое время, создавая что-то под названием `show search`. И `show search` — это способ для меня очень быстро сказать: «Вот телешоу или фильм. Я хочу получить конкретную информацию, если вы не возражаете». И вот я говорю: «Используйте мой навык `show search` и расскажите мне о K-pop demon hunters». Я говорю: «Используйте мой X навык». И я использую это снова и снова. Я хотел бы, чтобы они придумали какой-нибудь механизм упоминания или механизм команды `/` и просто сделали его выбираемым пользователем навыком для выполнения каждый раз. Я думаю, что это был бы лучший способ. Я не уверен, почему мы хотим делать внедрение зависимостей и не знать, какие навыки доступны или что может произойти, когда мы запрашиваем что-то из этих систем. Я бы предпочел быть немного более предсказуемым и выбирать то, что я пытаюсь заставить систему делать. И тогда не было бы привязки к контексту, пока я не захочу использовать навык. Это просто мое мнение. Итак, этот навык получает информацию из Интернета. И способ, которым я это сделал, заключался в том, что мне пришлось немного обойти, вместо того чтобы фактически создавать получение информации из API. Я использовал инструмент веб-поиска, к которому сам Claude по-прежнему имеет доступ. Так что внутри моего файла `skill MD` я описываю: «Используйте систему веб-поиска, чтобы получить эту информацию». И, как вы можете видеть, он просматривает множество мест в Интернете, чтобы получить всю необходимую информацию, которую я хотел включить в информацию, которая возвращается из моего `show search`. И поэтому этот `show search` расскажет мне обо всей информации, включая бюджет или сколько он заработал, выручку от него, каково различное отношение клиентов, различные оценки критиков, все эти вещи. Но он действительно использует веб-поиск для всего этого вместо API. И я думаю, что отсутствие возможности использовать этот API действительно разочаровывает на данный момент. И это просто механизм безопасности, который они внедряют. Так что я действительно думаю, что это было бы более полезно или ценнее, быстрее и чище, если бы они просто сказали: «Это становится немного похоже на приложения ChatGPT. Ваш доступ к Интернету или другим вещам напрямую доступен. Вы должны одобрить то, что вы готовы поместить в свою среду, или мы предварительно одобрим их, прежде чем вы сможете их поместить». Но на самом деле, мы возвращаемся к приложениям ChatGPT, что на самом деле то, что я ищу. Так что, показывая вам более раннюю версию этого. мой первый сбор, который я создал. Он может создавать целую веб-систему. Он может делать все, что вы хотите. И это действительно привлекательно. Это то, что меня туда привело. Я видел, что изображения не могли пройти. Я начал пытаться найти способы, которыми я мог бы заставить его загрузить изображение, но, конечно, у него нет доступа к сети и т. д. и т. д. Мы только что описали. Так что у него действительно есть слабости. И в то же время я пытался создать это как шаблон, чтобы он мог просто заполняться данными каждый раз. Но он, по сути, каждый раз переписывает этот файл, что довольно болезненно. Так что я действительно ищу приложения, повторяющиеся процессы, которые я могу получить с повторяющимся выводом. И это просто намекает на то, что приложения будут фантастическими. И, конечно, Anthropic тоже придется перейти к этому. Но это хорошее начало. Хорошо, но еще одна вещь. Итак, я показал вам только своего рода простую версию: я написал простой навык для получения информации о телешоу или чем-то подобном. Это нормально. На самом деле, я думаю, что эта потребительская версия этого набора навыков является ответом на то, как вы можете использовать данные Excel, работая с электронными таблицами Excel, используя это для создания PowerPoint, и, кстати, если у вас есть Anthropic, создайте систему PowerPoint на ее основе. Это лучшая система создания слайдов, которую я видел в последнее время, потому что они программно общаются с PowerPoint и создают PowerPoint через небольшие скрипты, которые они создали, и мы не просим интеллект пытаться сделать это. Так что они делают довольно хорошую работу в этом. Это не идеально, но это очень хорошее начало. Вы видите, куда все идет. Но в то же время, представьте, что я управляю магазином и управляю множеством франшиз, которые управляют McDonald's по всей стране, и я получаю отчет раз в неделю, и я хочу отслеживать информацию из этого отчета. Такая работа, это то, что я называю работой фронт-офиса. Это то, что у всех нас есть версии. Независимо от того, что мы делаем, у нас есть версии повторяющейся работы, которую мы, кажется, не можем повторять с помощью отличной автоматизации или инструментов. Поэтому я создал инструмент `franchisee`, который знал, как принимать данные в определенном формате, а затем повторяемо создавать из них определенные отчеты и другие вещи. И этот, на самом деле, вы увидите, я собираюсь загрузить данные McDonald's franchisee, которые являются просто фиктивными данными, и все, что я действительно прошу, это: «Можете ли вы предоставить мне контактную информацию для всех на Среднем Западе?» Это не в этом файле, что находится на Среднем Западе. Так что это просто список записей, которые имеют, знаете ли, имя и адрес кого-то, и у них есть город или штат, и тому подобное. И это должно использовать интеллект, чтобы понять, что означает Средний Запад. Просто чтобы вы видели, оно все еще использует интеллект для некоторых из этого, но это то, что вы можете сделать: загрузить файл и задавать такие вопросы. Признаюсь, это одна из тех вещей, которые интеллект мог бы сделать в любом случае. Так что это своего рода плохая версия, но вы видите, как она работает, и она будет работать одинаково каждый раз. Мы увидим через секунду, что я попрошу ее построить некоторые графики на основе этих данных. И эти графики будут абсолютно одинаковыми. Так что диаграммы, которые выходят из нее, будут абсолютно одинаковыми каждый раз. И именно здесь это начинает становиться интересным. Если вы выпускаете информационный бюллетень или вам нужно делать один и тот же отчет снова и снова, или вы создаете панель управления снова и снова, которая должна выглядеть одинаково каждый раз, вы можете создать навык, который может создать эту панель управления один раз, а затем снаружи вы всегда, когда будете вводить новые данные, загружать новый файл, вы всегда будете получать один и тот же результат. Запусти графики для меня. Посмотрим, что получится. Итак, под капотом вы можете видеть, что он устанавливает все необходимое программное обеспечение: `plotly` и `pandas`. Он запускает программы, которые находятся внутри этой системы, которую я построил. Так что эта система имеет фактические программы Python внутри нее. Он не придумывает это на лету. И, конечно, благодаря этому он будет относительно детерминированным. И вот графики, которые он создал. Это графики, которые определены внутри самого навыка. Так что это будут графики, которые каждый раз я смогу просто загрузить свой файл сюда и сказать: «Запусти мой обычный вывод на основе этого». Это график производительности, мы можем видеть график региональной производительности, как вы можете себе представить. Итак. И поэтому вы можете видеть, что он будет генерировать одну и ту же серию отчетов каждый раз. Вот где, по моему мнению, навыки действительно сияют. Позвольте мне выйти и кратко поговорить об этом, а затем завершить. Навыки. Навыки вписываются в уже очень переполненное рабочее пространство множества инструментов, которые делают очень похожие вещи. И вы, вероятно, можете получить большую часть этого из других инструментов. Пользовательские GPT, вероятно, являются ближайшим аналогом того, что здесь происходит. Я не уверен, что в этой итерации это убийца ChatGPT или что-то в этом роде. Я не думаю, что это то, к чему я буду часто обращаться, но для рабочего процесса без кода это неплохо. Это довольно хорошее начало. Это намного лучше, чем пытаться разобраться, как разместить рабочий процесс, который я могу запускать каждый раз с одними и теми же входящими данными. Если я что-то упустил или вы действительно хотели, чтобы я что-то затронул, пожалуйста, скажите мне и скажите другим в комментариях ниже, потому что это вполне возможно. Так что спасибо, что прошли этот путь со мной, и увидимся в следующем.