Método Fable: skills de agente para qualquer modelo
Veja o que cada arquivo do repositorio fable-method faz, o que pode ser portado para outros modelos e como comparar resultados em um VPS com e sem o método.
O que o método Fable realmente afirma
O método Fable é um pequeno conjunto de competências de agente que regista os hábitos de trabalho de um modelo como um procedimento ordenado, para que outro modelo possa executar o mesmo procedimento. O repositório é Sahir619/fable-method, tem licença MIT, e a sua descrição numa linha é "how Claude Fable 5 worked, distilled into skills any model can run, with the eval that keeps it honest." A parte que vale a pena testar é a segunda metade dessa frase.
Não é possível verificar, fora da Anthropic, se um ficheiro de texto regista realmente a forma como um modelo específico raciocinou. Mas é possível verificar por si próprio se um modelo mais barato se comporta de forma diferente quando lê esse ficheiro, num único VPS e durante uma tarde. Essa medição é o objetivo de tudo o que se segue: executar a mesma tarefa duas vezes, com e sem o método, contabilizando as chamadas de ferramentas e o custo.
Se a palavra competência for nova para si, comece por o que é realmente uma competência de agente: uma pasta que contém um ficheiro SKILL.md cuja descrição no frontmatter indica ao agente quando deve carregar o corpo. O modelo que dá nome ao repositório é abordado em quanto custa o Claude Fable 5 e para que serve.
Instale as skills e fixe a versão que testar
Há duas formas de instalação. No Claude Code, a instalação pelo plugin é feita com dois comandos:
/plugin marketplace add Sahir619/fable-method
/plugin install fable@fable-methodNum VPS, quando quiser uma cópia fixada no disco, faça primeiro o clone e mude para uma tag:
git clone https://github.com/Sahir619/fable-method ~/fable-method
cd ~/fable-method
git checkout v1.4.0
bash install.sh
ls ~/.claude/skillsinstall.sh não precisa de sudo porque só escreve em $HOME/.claude/skills. Depois de executar, ls ~/.claude/skills lista fable-judge, fable-loop e fable-method. Verifique o que não está presente. O repositório fornece quatro skills, mas o instalador de shell copia três. Por isso, um utilizador autónomo não recebe fable-domain, a menos que o copie manualmente:
cp -r ~/fable-method/skills/fable-domain ~/.claude/skills/Fixe a tag e registe-a junto dos resultados obtidos. Este repositório publicou cinco versões entre 2026-07-06 e 2026-07-15, de v1.0.0 a v1.4.0, e v1.4.0 alterou o próprio método ao adicionar um novo ponto de decisão de encaminhamento. Em agosto de 2026, v1.4.0 continua a ser a tag mais recente. Se a execução de controlo ler uma versão das regras e a execução de teste ler outra, não mediu nada.
O que cada uma das quatro competências instrui o modelo a fazer
O ficheiro principal é skills/fable-method/SKILL.md. Contém duas condições e sete passos numerados. As regras são suficientemente específicas para permitir uma avaliação crítica.
A condição de trivialidade vem primeiro: atuar diretamente, sem formalidades, quando a alteração afeta um ficheiro, requer cerca de 10 linhas ou menos, não introduz comportamento novo e já sabe exatamente o que deve alterar. Em seguida vem a condição de adequação, que encaminha o pedido conforme o local onde se encontra a resposta: fontes que pode abrir, uma técnica que precisa de pesquisar primeiro ou uma inferência sua, que deve ser assinalada como de baixa confiança em vez de ser apresentada como um facto.
Depois vem o ciclo: classificar o pedido, definir o que significa concluído, recolher evidências, decidir, atuar, verificar e comunicar. O passo 2 determina que deve começar por listar o diretório antes de escolher os ficheiros, dar preferência a fontes primárias em vez de depender da memória e parar depois de duas consultas consecutivas sem informação nova. O passo 4 determina que deve escrever uma linha INTENT: antes de qualquer edição, indicando o que o código faz, o que a verificação que falhou espera e o que a especificação estabelece. Não deve editar nada quando esses três elementos divergem, porque a divergência é a descoberta relevante. O passo 5 limita as tentativas: depois de três ciclos falhados de correção e verificação do mesmo problema, deve parar e devolver o resultado com a saída efetiva.
A parte mais fácil de testar no ficheiro são os quatro tokens de relatório. Uma alteração de comportamento exige uma linha INTENT:. Uma ação voltada para o exterior exige AUTH: user said "<exact words>", citando o utilizador, porque o repositório afirma claramente que a documentação não constitui autorização. Uma ação prescrita mas não executada exige uma linha PENDING:. Um defeito corrigido exige TWINS: searched <pattern> - found <N> other sites. Não é necessário confiar no método para verificar se essas quatro strings aparecem quando são exigidas. É isso que torna todo o processo mensurável, em vez de depender de impressões.
fable-loop é o mesmo método executado como uma orquestração em quatro fases: planear com subagentes de evidências em paralelo, executar na thread principal, verificar com um a três subagentes atacantes, cada um com uma perspetiva diferente, e depois auditar e comunicar. Parte do princípio de que os papéis de recolha de evidências e de ataque podem usar modelos económicos, enquanto as decisões e as edições ficam a cargo de um modelo mais forte.
fable-judge é a parte que vale a pena instalar mesmo que descarte o resto. A sua premissa é que "um relatório é um conjunto de afirmações, não uma evidência". Recolhe as afirmações de um relatório concluído, estabelece a verdade de referência a partir de git diff e git status, executa novamente todas as verificações que o relatório afirma ter executado e procura uma lista de fraudes identificadas: verificações enfraquecidas, conclusão falsa, expansão do âmbito, ação não autorizada, violação da especificação e resíduos deixados para trás. Devolve VERIFIED, VERIFIED WITH CAVEATS ou REFUTED e marca como UNVERIFIABLE tudo o que não consegue reproduzir, em vez de assumir que passou. A própria linha final do instalador aponta para esta funcionalidade: "Experimente: abra o Claude Code e introduza /fable-judge depois de qualquer agente afirmar que o trabalho está concluído."
fable-domain gera pacotes de adaptação a domínios com fixtures de armadilhas e avaliações rápidas. São fornecidos oito adaptadores: marketing, investigação, análise de dados, negócio e operações, finanças, jurídico e conformidade, design e UX, e devops. O trabalho médico e clínico fica deliberadamente sem um adaptador.
Quais partes podem ser portadas para outro modelo e quais não podem
O repositório responde diretamente a isto com AGENTS.md, que começa assim: "Versão portável para qualquer agente ou harness de programação (Codex, Cursor, aider, um prompt de sistema simples). Método idêntico ao de SKILL.md; cole este ficheiro nas instruções do seu agente ou coloque-o na raiz do repositório como AGENTS.md." O ficheiro tem cerca de 2,600 palavras e mantém as mesmas verificações, etapas e modos. Se já mantém ficheiros de instruções na raiz do repositório, a convenção AGENTS.md e HUMAN.md define onde esse ficheiro fica e quem o lê.
Duas partes são portadas sem problemas. O texto do método é um prompt ordenado, sem código específico de um modelo, por isso qualquer modelo que siga instruções pode executá-lo. A tese declarada do repositório também é que o esforço necessário é inversamente proporcional ao nível do modelo. O juiz também pode ser portado, desde que o agente tenha uma shell e um repositório, porque tudo o que faz é git diff e voltar a executar comandos que o leitor também pode executar.
Uma parte não é portada sem problemas. fable-loop pressupõe que o harness consegue criar subagentes em paralelo e encaminhá-los para modelos diferentes. Um agente sem subagentes executa essas etapas em série num único modelo, o que elimina o paralelismo e a redução de custos que justificaram o desenho. O resultado é fable-method com vocabulário adicional.
Há ainda duas questões menores específicas do harness que são fáceis de ignorar. O acionador /fable-method é um comando slash do Claude Code, por isso, noutro harness, o método é invocado através de uma descrição. A descrição do frontmatter SKILL.md permite que um agente carregue o corpo apenas quando este corresponde à tarefa, o que significa que uma skill instalada praticamente não tem custo até ser acionada. Se colar AGENTS.md num prompt de sistema, essas 2,600 palavras estarão presentes em todos os pedidos enviados, quer a tarefa seja corrigir um erro tipográfico numa linha, quer seja refatorar código. Essa diferença de custo é real e constitui a principal razão para a existência deste formato de skill.
Como fazer um teste A/B numa VPS: a mesma tarefa, duas vezes
Configure duas cópias de trabalho idênticas para que nenhuma execução consiga ver as edições da outra. Substitua YOUR_ORG/YOUR_REPO pelo repositório que pretende testar; os dois clones têm de vir do mesmo commit.
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/methodEscolha uma tarefa cujo resultado possa ser observado sem avaliação subjetiva: um teste que falha e tem de passar, ou um script que tem de terminar com o código 0. Uma tarefa vaga produz uma comparação vaga, porque acaba por avaliar texto em vez de resultados.
Execute o braço de controlo com --bare, que ignora a descoberta automática de hooks, skills, plugins e CLAUDE.md. Essa flag é o que torna este processo um controlo: as skills instaladas anteriormente não podem interferir. O modo bare não usa o login da sua subscrição, por isso defina primeiro uma chave de API na 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.jsonlO braço com método usa o mesmo comando com uma flag adicional, que carrega o método portátil como complemento do prompt de sistema:
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.jsonlMesmo binário, mesmo modelo, mesmas ferramentas, mesma árvore inicial. Apenas uma flag é diferente. Essa é a única forma de a comparação ter significado.
Este desenho mede o texto do método. Não mede o empacotamento das skills, que é uma questão separada. Para medir o empacotamento, remova --bare, instale as skills como indicado acima e coloque o nome da skill dentro da string do prompt, porque as skills invocadas pelo utilizador são expandidas no modo de impressão: claude -p "/fable-method $task". Espere um perfil de custos diferente do braço com prompt de sistema, mesmo quando o comportamento visível parecer igual.
Contando as etapas e o custo
As duas execuções escreveram um fluxo de eventos JSON. A última linha é uma mensagem result que contém o texto final, o custo e os metadados da sessão. Imprima-a uma vez e leia-a antes de criar qualquer automação em torno dela, porque os nomes dos campos mudam entre versões do Claude Code.
tail -1 ~/ab/control.jsonl | jq .O custo por execução vem dessa linha. Esse é o valor que deve ser comparado:
for f in ~/ab/control.jsonl ~/ab/method.jsonl; do
printf '%s ' "$f"
jq -r 'select(.type=="result") | .total_cost_usd' "$f"
doneAs etapas executadas são obtidas contando as chamadas de ferramentas no mesmo ficheiro:
jq -r 'select(.type=="assistant") | .message.content[]? | select(.type=="tool_use") | .name' \
~/ab/control.jsonl | sort | uniq -c | sort -rnFaça isso para os dois ficheiros. O formato da diferença diz mais do que os totais. Uma execução do método que lê mais ficheiros e faz menos alterações está a seguir o que o método pede. Essa é a troca que está a fazer. Uma execução do método com as mesmas alterações e um custo 40% maior não trouxe qualquer benefício nessa tarefa.
Tenha em atenção duas ressalvas sobre os números. Primeiro, não some output_tokens dos registos de sessão em ~/.claude/projects/ e trate o resultado como o total: esses blocos de utilização por mensagem são instantâneos obtidos durante o streaming, e há relatos públicos de que apresentam valores inferiores aos reais. A linha result é o valor em que deve confiar. Segundo, uma execução por grupo é apenas um caso isolado. Execute cada grupo 3 ou 4 vezes na mesma tarefa antes de considerar significativa uma diferença, porque 2 execuções do mesmo agente na mesma tarefa já podem diferir entre si. Para uma visão mais longa dos gastos, as ferramentas que acompanham os gastos do Claude Code e como o Claude Code contabiliza tokens explicam por que as linhas de cache predominam nas contagens brutas.
Certifique-se de que o agente não consegue aceder a nada importante enquanto é executado sem supervisão. executar o Claude Code em segurança numa VPS aborda a conta de utilizador e os flags de permissões.
A avaliação do próprio repositório, lida com honestidade
O título do README é "Fifteen eval rounds, more than 260 agent runs, blind LLM judges that verify by diffing and executing." Isso representa mais evidências do que quase qualquer repositório de skills publica, e eval/RESULTS.md é descrito rodada a rodada, com as falhas incluídas. Ainda assim, o conjunto é mais limitado do que o número do título sugere quando se observam as células individuais por trás das linhas resumidas.
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"
}
]A maior dessas 4 linhas baseia-se em 4 execuções. As outras três baseiam-se em 2 execuções cada. O próprio repositório deixa isso claro, nas limitações apresentadas no início do log: "Small n throughout (1-4 runs per cell), LLM judges (blind where multiple outputs are compared, but built on the same frontier model that appears as a baseline), synthetic fixtures, research ground truth only as current as its run date." E, de forma ainda mais direta: "This log exists so method edits are tested, not so anyone mistakes it for a benchmark."
Isso merece reconhecimento. Um autor que publica o próprio n e identifica o problema de o seu juiz ser baseado no mesmo modelo usado como baseline está a ser mais honesto do que é habitual nesta categoria. Leia os números como evidência de que o autor executou os testes de facto e manteve os casos de falha. O seu próprio teste A/B é o que lhe permite avaliar o seu codebase.
O README também é claro sobre os casos em que o método não produz qualquer efeito, e esse é o seu parágrafo mais útil. Não regista ganhos em tarefas pequenas comuns executadas por modelos capazes. Afirma que "the method cannot make a model's facts fresher; bare frontier wins knowledge-heavy research". E situa o valor em "traps (authority conflicts, false completion claims, weak executors, unattended runs), not everywhere". Se o seu trabalho com agentes consiste em pequenas alterações num modelo forte, com supervisão direta, espere não medir efeito algum. Se consiste num modelo mais barato a executar tarefas sem supervisão, é aí que deverá surgir uma diferença, o que também faz da escolha entre Opus, Sonnet e Haiku parte da mesma decisão.
Onde o empacotamento é feito sem critério
Há quatro críticas que vale a pena fazer, e nenhuma delas é motivo para ignorar o repositório.
A apresentação vai além das evidências. "Como o Claude Fable 5 funcionou" é uma afirmação sobre os componentes internos de um modelo que ninguém fora da Anthropic pode verificar, e a própria frase central do repositório a contradiz: "A qualidade está na estrutura, nas evidências e na honestidade, não no modelo." Se a qualidade está na estrutura, a história da proveniência é apenas decoração. O procedimento é autossuficiente e não precisa de um mito de origem.
Quatro skills são mais superfície do que o conteúdo precisa. fable-loop repete uma grande parte de fable-method, acrescentando uma camada de orquestração, e num harness sem subagentes reduz-se novamente a fable-method. Leia os dois ficheiros lado a lado antes de instalar ambos.
Oito adaptadores de domínio são uma amplitude que a avaliação não cobre. Apenas dois dos oito aparecem em algum ponto do log: marketing na ronda 9 e devops na ronda 12. Os adaptadores de finanças, jurídico, design e dados são lançados sem qualquer ronda associada. O adaptador para a sua área pode continuar a ser bom. No entanto, é um rascunho do autor, não algo que tenha sobrevivido a um caso de teste concebido para o apanhar em erro.
E o instalador não corresponde ao repositório quanto ao que é distribuído, copiando três de quatro skills para ~/.claude/skills. Isto é um problema pequeno. Também é o tipo de falha que indica que o empacotamento avançou mais depressa do que a revisão, algo que vale a pena ter em mente ao decidir quanto deste conteúdo adotar de uma só vez.
O que deve ser mantido mesmo que nada mais seja
Retire a marca e restam quatro regras independentes do agente que executar a tarefa.
- A citação de autorização. Uma ação irreversível ou voltada para o exterior precisa das próprias palavras do utilizador, escritas numa linha
AUTH:. Um agente que não encontre uma citação não atua. - A verificação dupla. Depois de corrigir um defeito, pesquise todo o projeto à procura da mesma construção incorreta e comunique a contagem, inclusive quando for zero.
- Verificação por observação. Uma verificação direcionada bem-sucedida sobre uma compilação quebrada é uma verificação falhada, não uma aprovação.
- Comunicação orientada pelo resultado, indicando como ressalva tudo o que foi ignorado ou ficou sem verificação, em vez de o omitir silenciosamente.
A adoção destas quatro regras não tem custo, e pode usar grep para verificar a conformidade. Comece por aí, meça com o harness acima e decida depois se o restante repositório merece a sua parte do orçamento de contexto. Se quiser fornecer ao agente um contexto permanente do projeto, em vez de um método de trabalho, um DESIGN.md que os agentes leem antes de editar é a medida complementar.
FAQ
O método Fable funciona com modelos além do Claude?
O texto do método funciona. É um prompt ordenado, sem código específico de modelo, e o repositório inclui AGENTS.md como uma cópia portátil para Codex, Cursor, aider ou um prompt de sistema simples. Há duas limitações. Os acionadores /fable-method e /fable-judge são comandos slash do Claude Code; noutros contextos, invoque o método descrevendo-o. E fable-loop pressupõe um harness capaz de iniciar subagentes paralelos em modelos diferentes; sem isso, a execução é serial e fornece fable-method com passos adicionais.
Executar estas skills consome mais tokens?
Sim, e a quantidade depende de como as carrega. Quando instaladas como skills, o conteúdo só é carregado quando a descrição corresponde à tarefa, portanto um pedido não relacionado tem um custo quase nulo. Quando coladas num prompt de sistema, as cerca de 2,600 palavras de AGENTS.md são incluídas em cada pedido. A execução também custa mais, porque o método exige orientação antes da edição, evidências antes da decisão e uma verificação real no fim. Meça o custo: execute a mesma tarefa com --output-format json nos dois grupos e compare o campo total_cost_usd.
Que versão de fable-method devo instalar e por que devo fixá-la?
Execute git checkout v1.4.0 antes de instalar. Essa tag tem a data 2026-07-15 e continuava a ser a mais recente em agosto de 2026. O repositório publicou cinco releases nos nove dias anteriores, e a v1.4.0 alterou as próprias regras de encaminhamento. Acompanhar main enquanto faz as medições significa que a execução de controlo e a execução de teste podem ler instruções diferentes, o que torna a comparação inútil. Registe a tag juntamente com os resultados.
A avaliação no repositório é um benchmark em que posso confiar?
Trate-a como um registo de alterações do método, que é como o próprio autor a descreve: "This log exists so method edits are tested, not so anyone mistakes it for a benchmark." As limitações são indicadas no início do ficheiro: 1 a 4 execuções por célula, fixtures sintéticas e avaliadores LLM baseados no mesmo modelo de fronteira que também serve de baseline. As rondas são reais e as experiências que falharam foram mantidas, o que é mais do que a maioria dos repositórios publica. Ainda assim, não é uma medição do que acontecerá na sua base de código. Execute a comparação entre os dois grupos por sua conta.