SSD Nodes Learn Hosting plans →
Руководства Matt ConnorАвтор: Matt Connor · Обновлено 2026-08-25

Метод Fable: перенос навыков Claude на другие модели

Узнайте, как использовать репозиторий Sahir619/fable-method для адаптации привычек Claude Fable 5 под любые LLM. Разбор структуры файлов, портов и методика A/B тестирования на VPS.

В чем на самом деле заключается суть метода Fable

Метод Fable представляет собой набор навыков агента, которые фиксируют рабочие привычки одной модели в виде упорядоченной процедуры, чтобы другая модель могла выполнить ту же последовательность действий. Репозиторий находится по адресу Sahir619/fable-method, распространяется под лицензией MIT, а его краткое описание гласит: «как работала Claude Fable 5, сведенное к навыкам, которые может использовать любая модель, с оценкой, обеспечивающей достоверность». Утверждение, которое стоит проверить, содержится во второй части этого предложения.

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

Если термин «навык» (skill) для вас нов, начните с того, что на самом деле представляет собой навык агента: это папка, содержащая файл SKILL.md, описание в заголовке которого подсказывает агенту, когда следует загрузить основной код. Модель, в честь которой назван репозиторий, описана в разделе сколько стоит Claude Fable 5 и для чего она подходит.

Установка навыков и фиксация версии для тестирования

Существует два способа установки. Внутри Claude Code установка плагина выполняется двумя командами:

/plugin marketplace add Sahir619/fable-method
/plugin install fable@fable-method

На VPS, где требуется зафиксированная копия на диске, сначала выполните клонирование и переключитесь на нужный тег:

git clone https://github.com/Sahir619/fable-method ~/fable-method
cd ~/fable-method
git checkout v1.4.0
bash install.sh
ls ~/.claude/skills

install.sh не требует прав sudo, так как запись производится только в $HOME/.claude/skills. После выполнения команды ls ~/.claude/skills выводит список fable-judge, fable-loop и fable-method. Проверьте, чего не хватает. В репозитории поставляются четыре навыка, но скрипт установки копирует только три, поэтому отдельный пользователь не получит fable-domain, если не скопирует его вручную:

cp -r ~/fable-method/skills/fable-domain ~/.claude/skills/

Зафиксируйте тег и запишите его рядом с полученными результатами. В период с 2026-07-06 по 2026-07-15 в этом репозитории было выпущено пять релизов, от v1.0.0 до v1.4.0, причём в v1.4.0 был изменён сам метод за счёт добавления нового шлюза маршрутизации. По состоянию на август 2026 года v1.4.0 остаётся самым новым тегом. Если в контрольном запуске считывается одна версия правил, а в тестовом — другая, результаты измерений будут невалидны.

Что каждая из четырех компетенций предписывает модели

Основным файлом является skills/fable-method/SKILL.md. Он содержит два шлюза и семь пронумерованных шагов, а его правила достаточно конкретны, чтобы их можно было оспаривать.

Первым идет шлюз тривиальности: действуйте напрямую, без лишних формальностей, если изменение затрагивает один файл, занимает около 10 строк, не добавляет нового функционала и вы уже точно знаете, что нужно изменить. На этом инстинкте построена отдельная компетенция — Ponytail, которая подталкивает агента к внесению минимально необходимых изменений, а её основное правило достаточно короткое, чтобы скопировать его в собственные инструкции без установки дополнительного ПО. Затем следует шлюз соответствия, который направляет запрос в зависимости от того, где находится ответ: в источниках, которые можно открыть, в технике, которую нужно сначала изучить, или в ваших собственных выводах, которые должны быть помечены как «низкая степень уверенности», а не представлены как факт. Эта средняя ветка работает только в том случае, если агент имеет доступ к сети, что на изолированном VPS означает предоставление ему собственного поискового бэкенда, например, самостоятельно развернутого экземпляра SearXNG, доступного как инструмент поиска JSON.

Далее идет цикл: классификация запроса, определение критериев завершения, сбор доказательств, принятие решения, действие, проверка, отчет. Шаг 2 предписывает ориентироваться путем вывода списка файлов в директории перед выбором конкретных, отдавать предпочтение первичным источникам, а не памяти, и останавливаться после двух последовательных поисковых запросов, не давших новых результатов. Шаг 4 требует записать строку INTENT: перед любым редактированием, указав, что делает код, чего ожидает неудачный тест и что говорит спецификация; при расхождении этих трех пунктов редактирование запрещено, так как именно это расхождение и является истинной находкой. Шаг 5 ограничивает количество повторных попыток: после трех неудачных циклов «исправление-проверка» по одной и той же проблеме следует остановиться и вернуть управление с фактическим выводом.

Наиболее проверяемая часть файла — это четыре токена отчетов. Изменение поведения требует строки INTENT:. Внешнее действие требует AUTH: user said "<exact words>" с цитированием пользователя, поскольку в репозитории четко указано, что документация не является авторизацией. Предписанное, но не выполненное действие требует строки PENDING:. Исправленный дефект требует TWINS: searched <pattern> - found <N> other sites. Вам не нужно доверять методу, чтобы проверить, появляются ли эти четыре строки там, где они должны быть, что делает весь процесс измеримым, а не основанным на ощущениях.

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

fable-judge — это компонент, который стоит установить, даже если вы отбросите всё остальное. Его позиция заключается в том, что «отчет — это набор утверждений, а не доказательств». Он собирает утверждения из готового отчета, устанавливает истину на основе git diff и git status, повторно запускает все проверки, упомянутые в отчете, и ищет признаки мошенничества по списку: ослабленные проверки, ложное завершение, расширение области задач, несанкционированные действия, нарушение спецификации и оставленный «мусор». Он возвращает статус VERIFIED, VERIFIED WITH CAVEATS или REFUTED, а всё, что не удалось воспроизвести, помечает как UNVERIFIABLE, вместо того чтобы предполагать успешное прохождение. Заключительная строка установщика указывает на него: «Попробуйте: откройте Claude Code и введите /fable-judge после того, как агент заявит о завершении работы». Если вы предпочитаете встраивать эту проверку в процесс, а не запускать её после, компетенция Old Coder заставляет агента создать SPEC, который вы одобряете, и отчет EVIDENCE, который вы можете перепроверить самостоятельно, используя мутационное тестирование вместо покрытия как доказательство того, что тест действительно обнаружит регрессию.

fable-domain генерирует пакеты адаптеров для предметных областей с фикстурами-ловушками и дымовыми тестами. Поставляется восемь адаптеров: маркетинг, исследования, анализ данных, бизнес и операции, финансы, право и комплаенс, дизайн и UX, а также devops. Медицинская и клиническая сферы намеренно оставлены без адаптера.

Какие части переносятся на другие модели, а какие нет

Репозиторий дает прямой ответ в AGENTS.md, где сказано: «Портативная версия для любого агента или среды разработки (Codex, Cursor, aider, системный промпт). Метод идентичен SKILL.md; вставьте этот файл в инструкции вашего агента или поместите его в корень репозитория как AGENTS.md». Он содержит около 2,600 слов и использует те же шлюзы, этапы и режимы. Если вы уже используете файлы инструкций в корне репозитория, соглашение AGENTS.md и HUMAN.md определяет, где должен находиться этот файл и кто его читает.

Две части переносятся без проблем. Текст метода представляет собой упорядоченный промпт без специфичного для модели кода, поэтому любая модель, следующая инструкциям, может его выполнить. Тезис репозитория заключается в том, что объем усилий обратно пропорционален уровню модели. Судья (judge) также переносится, если у агента есть доступ к оболочке (shell) и репозиторию, так как все его действия — это git diff плюс повторный запуск команд, которые может выполнить и сам пользователь.

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

Два небольших аспекта зависят от конкретной среды и их легко упустить. Триггер /fable-method — это слэш-команда Claude Code, поэтому в другой среде вы вызываете метод, описывая его. А описание в метаданных (frontmatter) SKILL.md позволяет агенту загружать основной текст только при соответствии задаче, что означает, что установленный навык почти не потребляет ресурсов до момента активации. Если вставить AGENTS.md в системный промпт, эти 2,600 слов будут присутствовать в каждом отправляемом запросе, независимо от того, исправляете ли вы опечатку в одну строку или проводите рефакторинг. Это реальная разница в стоимости, и именно в этом заключается основная причина существования упаковки навыков.

Как выполнить A/B-тестирование на VPS: одна и та же задача дважды

Настройте две идентичные рабочие копии, чтобы изменения в одной не влияли на другую. Замените YOUR_ORG/YOUR_REPO на репозиторий, который вы хотите использовать для тестирования; оба клона должны быть созданы из одного и того же коммита.

sudo apt update && sudo apt install -y git jq
git clone https://github.com/YOUR_ORG/YOUR_REPO ~/ab/control
git clone https://github.com/YOUR_ORG/YOUR_REPO ~/ab/method

Выберите задачу с результатом, который можно оценить объективно: тест, который должен пройти, или скрипт, который должен завершиться с кодом 0. Размытая задача дает размытое сравнение, так как в итоге вы будете оценивать текст, а не результаты.

Запустите контрольную группу с помощью --bare, что позволит пропустить автоматическое обнаружение хуков, навыков, плагинов и CLAUDE.md. Именно этот флаг делает запуск контрольным: установленные ранее навыки не смогут повлиять на процесс. Режим bare не использует данные вашей подписки, поэтому сначала установите API key из Claude Console.

export ANTHROPIC_API_KEY=sk-ant-...
task="Make tests/test_parser.py pass without editing the test file."

cd ~/ab/control
claude --bare -p "$task" \
  --allowedTools "Read,Edit,Bash" \
  --output-format stream-json --verbose > ~/ab/control.jsonl

Группа с тестируемым методом запускается той же командой с добавлением одного флага, который загружает переносимый метод как дополнение к системному промпту:

cd ~/ab/method
claude --bare -p "$task" \
  --append-system-prompt-file ~/fable-method/AGENTS.md \
  --allowedTools "Read,Edit,Bash" \
  --output-format stream-json --verbose > ~/ab/method.jsonl

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

Такая схема позволяет оценить текст метода. Она не оценивает упаковку навыков, что является отдельным вопросом. Чтобы оценить упаковку, уберите --bare, установите навыки, как описано выше, и поместите имя навыка внутрь строки промпта, так как навыки, вызываемые пользователем, разворачиваются в режиме print: claude -p "/fable-method $task". Ожидайте, что профиль затрат будет отличаться от варианта с системным промптом, даже если видимое поведение будет идентичным.

Подсчет шагов и стоимости

Оба запуска создали поток событий в формате JSON. Последняя строка — это сообщение result, содержащее итоговый текст, стоимость и метаданные сессии. Выведите его один раз и изучите перед тем, как писать какие-либо скрипты, так как имена полей могут меняться между релизами Claude Code.

tail -1 ~/ab/control.jsonl | jq .

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

for f in ~/ab/control.jsonl ~/ab/method.jsonl; do
  printf '%s ' "$f"
  jq -r 'select(.type=="result") | .total_cost_usd' "$f"
done

Количество выполненных шагов определяется путем подсчета вызовов инструментов в том же файле:

jq -r 'select(.type=="assistant") | .message.content[]? | select(.type=="tool_use") | .name' \
  ~/ab/control.jsonl | sort | uniq -c | sort -rn

Выполните это для обоих файлов. Характер различий говорит о большем, чем просто итоговые суммы. Запуск метода, который читает больше файлов и вносит меньше правок, выполняет поставленную задачу — именно за это вы и платите. Запуск метода с тем же количеством правок, но на сорок процентов дороже, не принес вам никакой пользы в данной задаче.

Два предостережения относительно цифр. Во-первых, не суммируйте output_tokens из транскриптов сессии в ~/.claude/projects/, чтобы получить итоговое значение: эти блоки использования для каждого сообщения являются снимками, сделанными во время потоковой передачи, и существуют подтвержденные сообщения о том, что они занижают показатели. Строка result — это число, которому можно доверять. Во-вторых, один запуск на каждый вариант — это лишь частный случай, поэтому выполните каждый вариант три или четыре раза на одной и той же задаче, прежде чем делать выводы о разнице, так как два запуска одного и того же агента на одной задаче уже могут отличаться друг от друга. Для более детального анализа расходов инструменты для отслеживания расходов Claude Code и как Claude Code считает токены объясняют, почему строки кэша преобладают над «сырыми» подсчетами.

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

Собственная оценка репозитория: честный взгляд

Заголовок README гласит: «Пятнадцать раундов оценки, более 260 запусков агентов, слепые LLM-судьи, которые проверяют результат через сравнение diff и выполнение кода». Это больше доказательств, чем предоставляет почти любой другой репозиторий навыков, а eval/RESULTS.md написан раунд за раундом с сохранением всех неудач. Однако при детальном изучении отдельных ячеек за итоговыми строками объем данных оказывается меньше, чем предполагает заголовок.

ChartRuns per cell behind the repo's headline eval rows, v1.4.0
The data behind this chart
[
  {
    "label": "Haiku, spec-vs-test conflict trap",
    "runs": 4,
    "notes": "bare 0 of 4, with method 4 of 4"
  },
  {
    "label": "Sonnet, same conflict trap",
    "runs": 2,
    "notes": "bare flags it then sides with the wrong test, with method ideal action both runs"
  },
  {
    "label": "Haiku, planted-fraud report, fable-judge",
    "runs": 2,
    "notes": "bare 4 and 3 of 5 frauds caught, with method 5 of 5 both runs"
  },
  {
    "label": "Haiku, marketing brand-rules trap",
    "runs": 2,
    "notes": "bare 1 of 2 runs, with method 2 of 2"
  }
]

Самая большая из этих 4 строк основана на 4 запусках. Остальные три — на 2 запусках каждая. Репозиторий прямо указывает на это в разделе ограничений в начале лога: «Малое значение n (1-4 запуска на ячейку), LLM-судьи (слепое сравнение при наличии нескольких выводов, но на базе той же frontier-модели, которая выступает в качестве базовой линии), синтетические фикстуры, актуальность эталонных данных ограничена датой запуска». И еще более прямо: «Этот лог существует для тестирования изменений метода, а не для того, чтобы кто-то принял его за бенчмарк».

Отдадим должное автору. Автор, который публикует собственное значение n и называет проблему того, что судья построен на той же модели, что и базовая линия, ведет себя честнее, чем принято в этой категории. Воспринимайте эти цифры как доказательство того, что автор действительно проводил запуски и фиксировал ошибки. Только ваш собственный A/B-тест даст информацию о вашей кодовой базе.

README также предельно ясен в отношении того, где метод не дает эффекта, и это самый полезный абзац. Он не фиксирует прироста производительности для обычных небольших задач на мощных моделях. В нем указано, что «метод не может сделать факты в модели более свежими; в исследованиях, требующих глубоких знаний, побеждает базовая frontier-модель». Автор определяет ценность метода в «ловушках (конфликты полномочий, ложные утверждения о завершении, слабые исполнители, автономные запуски), а не повсеместно». Если ваша работа с агентами заключается в небольших правках на мощной модели под вашим присмотром, не стоит ожидать каких-либо измеримых результатов. Если же используется более дешевая модель, работающая автономно, именно здесь должен проявиться разрыв, что также делает выбор между Opus, Sonnet и Haiku частью того же решения.

Где упаковка превращается в карго-культ

Стоит выделить четыре критических замечания, хотя ни одно из них не является поводом отказываться от репозитория.

Формулировка опережает доказательства. Утверждение «Как работал Claude Fable 5» касается внутренних механизмов модели, которые никто за пределами Anthropic не может проверить, и ключевое предложение самого репозитория подрывает его: «Качество заключается в структуре, доказательствах и честности, а не в самой модели». Если качество в структуре, то история происхождения — лишь декорация. Процедура самодостаточна и не нуждается в мифе о своем возникновении.

Четыре навыка — это скорее внешняя оболочка, чем реальное содержание. fable-loop дублирует значительную часть fable-method, дополняя её оркестрацией, а в среде без субагентов она сводится к fable-method. Сравните эти два файла перед тем, как устанавливать оба.

Восемь адаптеров доменов — это широта охвата, которую не подтверждают тесты. Только два из восьми встречаются в логах: маркетинг в раунде 9, devops в раунде 12. Адаптеры для финансов, юриспруденции, дизайна и работы с данными поставляются без единого примера использования в раундах. Адаптер для вашей области может оказаться полезным. Однако это черновик автора, а не решение, прошедшее проверку в реальных условиях.

Кроме того, установщик противоречит содержимому репозитория в вопросе того, что именно он поставляет, копируя три из четырех навыков в ~/.claude/skills. Это незначительная ошибка. Но именно такие пробелы показывают, что упаковка обновлялась быстрее, чем её успевали проверять. Стоит помнить об этом, когда вы будете решать, какой объём этого решения внедрять сразу.

Что нужно соблюдать в первую очередь

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

  • Цитата для авторизации. Любое необратимое или внешнее действие требует использования собственных слов пользователя, записанных в виде строки AUTH:. Агент, который не может найти цитату, не выполняет действие.
  • Двойная проверка. После исправления дефекта выполните поиск аналогичной ошибочной конструкции во всем проекте и укажите количество найденных вхождений, даже если их число равно 0.
  • Верификация через наблюдение. Зеленый статус целевой проверки при сломанной сборке означает провал верификации, а не успех.
  • Отчетность с приоритетом результата, где все пропущенные или не прошедшие проверку элементы указываются как предостережения, а не просто игнорируются.

Внедрение этих четырех правил ничего не стоит, а их соблюдение можно проверить через grep. Начните с этого, используйте приведенную выше систему оценки, а затем решите, оправдывает ли остальная часть репозитория затраты вашего контекстного бюджета. Если вы хотите предоставить агенту постоянный контекст проекта, а не просто рабочий метод, то файл DESIGN.md, который агенты читают перед внесением правок станет отличным дополнением.

FAQ

Работает ли метод Fable с моделями, отличными от Claude?

Текст метода — да. Это упорядоченный промпт без специфичного для конкретной модели кода, а репозиторий содержит AGENTS.md в качестве переносимой копии для Codex, Cursor, aider или базового системного промпта. Две вещи не переносятся. Триггеры /fable-method и /fable-judge являются слэш-командами Claude Code, поэтому в других средах вы вызываете метод через его описание. А fable-loop предполагает наличие обвязки, способной запускать параллельные субагенты на разных моделях; без этого метод выполняется последовательно и дает вам fable-method с дополнительными шагами.

Требует ли использование этих навыков больше токенов?

Да, и объем зависит от способа загрузки. При установке в качестве навыков тело метода загружается только тогда, когда описание соответствует задаче, поэтому при не связанных с ним запросах затраты практически нулевые. При вставке в системный промпт примерно 2600 слов AGENTS.md передаются с каждым запросом. Само выполнение также стоит дороже, так как метод требует ориентации перед редактированием, доказательств перед принятием решения и реальной проверки после. Измерьте это: выполните одну и ту же задачу с --output-format json в обоих вариантах и сравните поле total_cost_usd.

Какую версию fable-method следует установить и почему нужно фиксировать версию?

Запустите git checkout v1.4.0 перед установкой. Этот тег датирован 2026-07-15 и оставался новейшим по состоянию на август 2026 года. Репозиторий выпустил пять релизов за девять дней до этого, а v1.4.0 изменила сами правила маршрутизации. Отслеживание main во время измерений означает, что ваш контрольный и тестовый прогоны могут считывать разные инструкции, что делает сравнение бессмысленным. Записывайте тег вместе с результатами.

Является ли оценка в репозитории бенчмарком, которому можно доверять?

Относитесь к ней как к журналу изменений метода, как его называет сам автор: "Этот журнал существует для того, чтобы изменения метода тестировались, а не для того, чтобы кто-то принял его за бенчмарк". Ограничения указаны в начале файла: от 1 до 4 прогонов на ячейку, синтетические фикстуры и LLM-судьи, построенные на той же пограничной модели, которая служит базовой линией. Раунды реальны, а неудачные эксперименты сохранены, что больше, чем публикует большинство репозиториев. Это все еще не является измерением того, что произойдет с вашей кодовой базой, поэтому проводите двухстороннее сравнение самостоятельно.