Перейти к содержимому
← Подробнее
Подробнее

Это не Skill

Если вы пользуетесь Claude, вы знаете Skills: папки с файлом инструкций, который ИИ загружает, когда он нужен. Они достаточно похожи на Reminder, чтобы подумать: «такое у меня уже есть». Но работу они делают разную, и разница умещается в одну строку: Skill отвечает на вопрос как делается дело, а Reminder — на вопрос кто его делает.

Возражение — до того, как вы о нём подумали

«Skills — это официальная функция, и это уже мои собственные файлы»

Правда по всем пунктам, и мы не будем ходить вокруг да около. Skill — это папка, внутри которой лежит SKILL.md: две строки front matter — имя и описание — и затем текст. Это markdown, он ваш, он живёт в git, и если завтра вы передумаете, вы заберёте его с собой. Никто вас ни к чему не привязывал.

Механизм тоже продуман хорошо. Пока Skill не нужен, в памяти остаётся только его описание — примерно сто слов; основная часть загружается, когда ИИ решает, что она уместна, а вспомогательные файлы — только если он их действительно открывает. Это называется прогрессивным раскрытием, и это правильный способ дать ИИ сотню умений, не оплачивая их все в каждой фразе.

Так что нет: эта страница существует не для того, чтобы сказать, что Skills сделаны плохо. Она существует потому, что этот механизм, который для способности — достоинство, для идентичности — изъян.

Дело в том, когда он попадает в контекст

Skill попадает в контекст тогда, когда нужен. В этом вся его элегантность: он не занимает места, пока нет причины, а ИИ узнаёт причину, прочитав описание. Идеально для задачи «оформить презентацию по нашим правилам», которая нужна во вторник и не нужна в четверг.

С идентичностью так не работает. Кто вы — это не компетенция, которая включается, когда тема того требует: это то, что уже есть до того, как вы открыли рот, и оно определяет, как вы читаете вопрос. То, что появляется только по вызову, — не характер, а инструкция.

Это та же разница, что между «уметь готовить» и «быть голодным». Первое достают, когда нужно; второе движет вами, даже когда вы не думаете о еде.

И есть ещё кое-что, чего у Skill нет

В SKILL.md нет способа написать эту часть переписывать нельзя. Это не недосмотр: Skill — это то, что вы даёте ИИ, чтобы он этим пользовался, и защищать тут нечего.

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

В двух колонках

SkillReminder
На что отвечаеткак что-то делаетсякто тот, кто это делает
Когда попадает в контексткогда ИИ сочтёт его уместнымвсегда, с первой строки
Что содержитпроцедуру, примеры, скриптыядра, модули, воспоминания, разрешения
Кто может его переписыватьвы, вне разговоразависит от зоны: это заявлено внутри файла
Если его убратьИИ перестаёт уметь это делатьИИ перестаёт быть кем-то
Что он помнитничего: завтра такое же, как сегоднякак это прошло: в связанной памяти модуля

Где они уживаются вместе — а это почти всегда

Это не «или — или», и нет смысла делать из этого выбор. Работает чёткое разделение: Skills — для умений, Reminder — для идентичности. Один разговор, никакого конфликта — потому что они не борются за одно и то же место.

У агентов для программирования такое разделение уже имеет свой дом: файл, который агент читает при запуске, — CLAUDE.md, AGENTS.md — это место для идентичности, а Skills остаются процедурами, которые эта идентичность умеет выполнять.

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

Описание: что он делает и когда его применять
### FUNCTION · ### TRIGGER
Инструкции, шаги, которым нужно следовать
### ROUTINE
Чего делать нельзя, ограничения
### LIMITI
Примеры входных и выходных данных
### ESEMPIO

Работает и в обратную сторону, и это самое неожиданное. Обязательны в SKILL.md только две строки front matter — имя и описание. Дальше вы свободны: структуру основного текста никто не предписывает. То, что Skills обычно пишут свободной прозой, — распространённая привычка, а не правило; и сами рекомендации Anthropic советуют нумерованные шаги, шаблоны вывода и примеры — а это в точности та форма, которая у модуля уже есть. Он встаёт под front matter без переписывания.

Не переходит только одно, и об этом стоит сказать. Внутри модуля строка, заявляющая эту часть вы не переписываете, имеет место, и приложение следит за её исполнением; внутри SKILL.md этой строке негде жить, и никакого приложения, которое бы её защищало, в цепочке нет: маркеры зон остаются там как текст, и никто их не применяет. Перевести умение получается отлично. Перевести идентичность — нет: и это всё, что говорит эта страница.

Третий путь: не переводить, а прививать

Перевести Skill в модуль — один путь. Другой — не переводить его вообще. Основной текст SKILL.md — это markdown, и модуль принимает его в точности как есть, под строкой, которая заявляет, чьё это место: в Standard она называется ### SUB-MODULE:, а под ней идёт весь текст Skill — его назначение, шаги, примеры. Ничего не переписывается. Вы объявляете, чьё это, и где оно лежит.

## MODULE 07: ...
### FUNCTION

### SUB-MODULE: SKILL_A
#### FUNCTION
#### ROUTINE

### SUB-MODULE: SKILL_B
#### FUNCTION
#### ROUTINE

[P4]
### ASSOCIATED MEMORY
[/P4]

Модуль добавляет вокруг него две вещи, которым в SKILL.md некуда деться. Первая — зона разрешений: привитый текст попадает в блок, который заявляет, кто вправе его переписывать, и этот отказ выполняет приложение, а не модель. Вторая — ### ASSOCIATED MEMORY, раздел, где оседает то, что вы узнаёте, пользуясь им: что эти шаги у вас идут в другом порядке; что с вашими файлами тот этап не работает; что вывод вы хотите покороче. Skill знает, как это делается. Модуль помнит, как это прошло.

И в модуле может жить не один. Если три Skills работают в одном ремесле — прочитать PDF, вытащить из него таблицу, написать по ней резюме, — можно привить их в один модуль, по одному на каждый ### SUB-MODULE:. С этого момента они больше не включаются по одному: они попадают в контекст вместе, когда попадает модуль, и видят друг друга. Это ваш выбор, и это момент, когда вы перестаёте делать прогрессивное раскрытие.

Цена названа прямо: вы платите за все три каждый раз, когда этот модуль активен, включая день, когда нужен был только один. Покупаете вы то, что они перестают противоречить друг другу: одна связанная память вместо трёх, одно правило, записанное один раз, вместо одной и той же фразы в трёх местах, и ни одной недоделанной работы из-за того, что ИИ загрузил один из них, а другой — нет. Если ремесло одно, модуль один. Если ремёсел три, держите их раздельно и пусть включаются, когда нужны: это как раз тот случай, где отдельный Skill справляется лучше, чем это.

Одно вы делаете сегодня вручную, и лучше знать об этом заранее: прививка — это копирование и вставка, и с этого момента копия ваша. Если автор Skill выпустит новую версию, вы сами решаете, переносить ли её: текст лежит на виду, внутри вашего файла, и обновляется так, как обновляется файл. Это та же договорённость, что и во всём остальном: ничто не сдвигается у вас под ногами так, чтобы вы этого не видели.

Модуль содержит Skill и усиливает его

Это стоит сказать даже тому, кто никогда не будет пользоваться IllAIra. Skill знает, как что-то делается. Модуль, который его принимает, записывает, как это прошло: что с вашими файлами этот шаг не работает, что вывод вы хотите покороче, что у вас эти шаги идут в другом порядке. Процедура и опыт процедуры — в одном объекте, с разными разрешениями: первая в зоне, которую модель не переписывает, второй в зоне, куда она дописывает сама.

Так Skill не меняется, а модуль меняется: вокруг процедуры растёт операционная память — история того, как это умение применялось с вами, — доступная модели каждый раз, когда модуль активен. Та же форма, что вы видите в Sphere Grid, когда целый архив становится связанной памятью узла: там вики, здесь процедура — то, что вы накопили, пользуясь ею, подвешенное к тому, что она умеет.

Возражения — по порядку

«Ваш формат — не официальный стандарт ни для кого»

Верно, и именно поэтому он опубликован. Reminder — это markdown: вы открываете его любым редактором, читаете без нас, меняете без разрешения. Нет никакой среды выполнения, которая должна работать, чтобы этот файл продолжал что-то значить. Если бы IllAIra завтра исчезла, у вас остались бы ваши файлы, и работали бы они так же — чего не скажешь о памяти, которая живёт внутри чужого сервиса.

«Хватило бы длинного системного промпта»

Работает — какое-то время. Потом он растёт, и вы обнаруживаете три вещи, которых ему не хватает: нельзя изменить один кусок, не перечитав всё; нельзя объявить часть неприкосновенной; и нельзя на него посмотреть — это стена текста, а не карта. Reminder — та же идея со структурой сверху, и именно структура делает возможным всё остальное.

«Skill тоже может хранить личность»

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

«Это просто markdown: что вы мне продаёте?»

Справедливый вопрос, и честный ответ такой: вы можете сделать это руками, бесплатно, и никто вам не мешает. Standard опубликован намеренно. Мы продаём остальное — Sphere Grid, чтобы видеть, что вы построили; зоны разрешений, которые приложение действительно соблюдает; Reminder, уже написанные людьми, для которых это профессия; трассировку того, что было использовано. Не формат: он ваш в любом случае.

«Кто гарантирует, что ИИ это соблюдёт?»

Никто, и тот, кто говорит иначе, вам что-то продаёт. Reminder — это текст, который читает ИИ: он соблюдает его настолько, насколько вообще соблюдает инструкции, то есть почти всегда, но не по договору. То же самое верно для Skill, для системного промпта и для всего остального, что вы перед ним кладёте.

Гарантировать мы можем другую половину, которая к тому же и есть главная: приложение не пишет там, где зона говорит «нет», и этот отказ не проходит через модель. С её стороны — заявленное соглашение; с нашей — код, который можно прочитать.

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

«Вы привязываете меня к своему формату»

Цена ухода: забрать файлы. Это .md, они уже у вас на устройстве, а экспорт в ZIP — один клик. Нет базы данных, которую надо выгружать, проприетарного формата, который надо конвертировать, истории, которая остаётся у нас. Вопрос «а если я захочу уйти позже?» — правильный вопрос к любому, и наш ответ в том, что вы уже ушли: файлы никогда не были нашими.

«Это тратит токены в каждом разговоре»

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

«Мне придётся учить формат»

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

В одной строке

Skill — это то, что ваш ИИ умеет делать. Reminder — это кто он, когда делает. Берите оба: они друг другу не мешают, потому что находятся в разных местах.