SSD Nodes Learn Hosting plans →
Guias Matt ConnorPor Matt Connor · Atualizado 2026-08-24

Método Fable: skills de agente para qualquer modelo

Veja o que cada arquivo do fable-method faz, o que funciona em outros modelos e como comparar custos e chamadas de ferramentas em uma VPS.

O que o método Fable realmente afirma

O método Fable é um pequeno conjunto de skills 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 de uma linha é "how Claude Fable 5 worked, distilled into skills any model can run, with the eval that keeps it honest." A afirmação que vale a pena testar é a segunda parte dessa frase.

Não é possível verificar, fora da Anthropic, se um ficheiro de texto realmente reproduz a forma como um modelo específico raciocinou. É possível verificar por si próprio se um modelo mais barato se comporta de forma diferente quando lê esse ficheiro, usando uma única VPS, 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, contando as chamadas de ferramentas e o custo.

Se o termo skill é novo para si, comece por o que é realmente uma skill de agente: uma pasta que contém um ficheiro SKILL.md cuja descrição no frontmatter informa o agente sobre quando deve carregar o conteúdo. O modelo que dá nome ao repositório é abordado em quanto custa o Claude Fable 5 e para que é adequado.

Instale as skills e fixe a versão testada

Há duas formas de instalação. Dentro do Claude Code, a instalação pelo plugin usa dois comandos:

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

Num VPS, quando quiser uma cópia com versão fixa no disco, clone o repositório e faça checkout de uma tag primeiro:

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 não precisa de sudo porque só escreve em $HOME/.claude/skills. Depois da execução, ls ~/.claude/skills lista fable-judge, fable-loop e fable-method. Verifique o que não está presente. O repositório inclui 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 releases 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 filtro 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 skills indica ao modelo

O ficheiro principal é skills/fable-method/SKILL.md. Contém dois gates e sete passos numerados, com regras suficientemente específicas para serem contestadas.

O gate da trivialidade vem primeiro: agir diretamente, sem cerimónia, quando a alteração afeta um ficheiro, ocupa cerca de 10 linhas ou menos, não acrescenta comportamento novo e já se sabe exatamente o que alterar. Existe uma skill totalmente separada baseada apenas nesse princípio, Ponytail, que orienta o agente para a menor alteração que funciona, e a sua regra principal é suficientemente curta para ser copiada para as suas próprias instruções sem instalar nada. Depois vem o gate da adequação, que encaminha o pedido conforme o local onde a resposta se encontra: fontes que pode abrir, uma técnica que precisa de pesquisar primeiro ou uma inferência própria, que deve ser marcada como de baixa confiança em vez de ser apresentada como facto. Este ramo intermédio só funciona se o agente conseguir realmente aceder à web. Num VPS bloqueado, isso significa fornecer-lhe um backend de pesquisa próprio, como uma instância SearXNG self-hosted exposta como ferramenta de pesquisa JSON.

Depois vem o ciclo: classificar o pedido, definir o que significa concluir, recolher evidências, decidir, agir, verificar e reportar. O passo 2 determina que se comece por listar o diretório antes de escolher ficheiros, que se prefiram fontes primárias em vez da memória e que se pare depois de duas consultas consecutivas sem resultados novos. O passo 4 determina que se escreva uma linha INTENT: antes de qualquer edição, indicando o que o código faz, o que a verificação com falha espera e o que a especificação determina. Se esses três elementos divergirem, não se deve editar nada, porque a divergência é o verdadeiro resultado. O passo 5 limita as tentativas: depois de três ciclos de correção e verificação com falha para o mesmo problema, deve parar e devolver o resultado com a saída real.

A parte mais fácil de testar do ficheiro são os seus quatro tokens de relatório. Uma alteração de comportamento exige uma linha INTENT:. Uma ação externa 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 em nenhum aspeto do método para verificar se essas quatro strings aparecem quando são necessárias. É 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 reportar. Assume modelos baratos nos papéis de evidência e ataque e um modelo mais forte nas decisões e edições.

fable-judge é a parte que vale a pena instalar mesmo que se descarte o resto. A sua posição é que "um relatório é um conjunto de afirmações, não 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, repete todas as verificações que o relatório afirma ter executado e procura uma lista identificada de fraudes: 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 presumir que passou. A própria linha final do instalador aponta para isto: "Experimente: abra o Claude Code e escreva /fable-judge depois de qualquer agente afirmar que o trabalho está concluído." Se preferir integrar essa verificação no trabalho em vez de a executar depois, a skill Old Coder faz o agente produzir uma SPEC que aprova e um relatório EVIDENCE que pode repetir por si, usando testes de mutação no lugar de cobertura como prova de que um teste detetaria realmente uma regressão.

fable-domain gera bundles de adaptadores de domínio com fixtures de armadilhas e smoke evals. 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.

Que 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 com: "Versão portátil 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 agente ou coloque-o na raiz do repositório como AGENTS.md." O ficheiro tem cerca de 2,600 palavras e contém os mesmos gates, passos e modos. Se já mantiver ficheiros de instruções na raiz do repositório, a convenção AGENTS.md e HUMAN.md define onde esse ficheiro deve ficar e quem o lê.

Duas partes podem ser portadas sem alterações relevantes. 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 executar o método, e a tese declarada do repositório é 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 pode ser portada sem limitações. fable-loop pressupõe que o harness consegue criar subagentes em paralelo e encaminhá-los para modelos diferentes. Um agente sem subagentes executa essas fases em série num único modelo, eliminando o paralelismo e a poupança de custos que justificou o desenho. O que resta é fable-method com vocabulário adicional.

Há ainda dois aspetos menores específicos 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 é iniciado descrevendo-o. A descrição de frontmatter SKILL.md permite que um agente carregue o corpo apenas quando este corresponde à tarefa, o que significa que uma skill instalada quase não tem custo até ser ativada. Cole AGENTS.md num prompt de sistema e essas 2,600 palavras estarão em todos os pedidos enviados, quer a tarefa seja corrigir um erro de digitação numa linha, quer seja fazer um refactor. Esta é uma diferença de custo real e é a principal razão pela qual o empacotamento como skill existe.

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 alterações da outra. Substitua YOUR_ORG/YOUR_REPO pelo repositório que pretende testar; os dois clones têm de ser criados a partir 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/method

Escolha uma tarefa com um resultado que possa observar sem depender de opinião: 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 prosa em vez de resultados.

Execute o grupo de controlo com --bare, que ignora a descoberta automática de hooks, skills, plugins e CLAUDE.md. É essa flag que transforma a execução num 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.jsonl

O grupo do método usa o mesmo comando com uma flag adicional, que carrega o método portátil como uma adição ao system prompt:

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

O binário, o modelo, as ferramentas e a árvore inicial são os mesmos. 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 da skill, que é uma questão separada. Para medir o empacotamento, remova --bare, instale as skills conforme descrito acima e coloque o nome da skill dentro da string do prompt, porque as skills invocadas pelo utilizador são expandidas no modo print: claude -p "/fable-method $task". Espere um perfil de custos diferente do grupo que usa o system prompt, mesmo quando o comportamento visível parece igual.

Contando as etapas e o custo

As duas execuções gravaram 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 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"
done

As etapas executadas vêm da contagem das 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 -rn

Execute 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 edições está a seguir o que o método pede, e essa é a troca que está a fazer. Uma execução do método com as mesmas edições e mais quarenta por cento de custo não trouxe qualquer benefício nessa tarefa.

Há duas ressalvas sobre os números. Primeiro, não some output_tokens dos registos de sessão em ~/.claude/projects/ e o trate como o total: esses blocos de utilização por mensagem são instantâneos capturados durante o streaming, e há relatos de que apresentam valores inferiores aos reais. A linha result é o valor em que deve confiar. Segundo, uma execução por grupo é apenas uma anedota. Execute cada grupo três ou quatro vezes na mesma tarefa antes de considerar real uma diferença, porque duas execuções do mesmo agente na mesma tarefa já diferem entre si. Para uma perspetiva mais longa dos custos, as ferramentas que acompanham os custos do Claude Code e como o Claude Code contabiliza tokens explicam por que motivo as linhas de cache dominam as contagens brutas.

Certifique-se de que o agente não consegue aceder a nada importante enquanto é executado sem supervisão. executar o Claude Code com 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 é escrito rodada a rodada, com as falhas mantidas. Ainda assim, é menos abrangente do que o número do título sugere quando se analisam as células individuais por trás das linhas do título.

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"
  }
]

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 afirma isso, nas limitações apresentadas no início do registo: "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 afirma de forma ainda mais direta: "This log exists so method edits are tested, not so anyone mistakes it for a benchmark."

Isso deve ser reconhecido. Um autor que publica o seu próprio n e identifica o problema de o avaliador 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 realmente executou os testes e manteve as falhas. O seu próprio A/B é que lhe dirá algo sobre a sua base de código.

O README também explica claramente em que situações o método não produz qualquer efeito, e esse é o seu parágrafo mais útil. Não regista qualquer melhoria 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 localiza o valor em "traps (authority conflicts, false completion claims, weak executors, unattended runs), not everywhere". Se o trabalho do seu agente consiste em pequenas alterações num modelo forte, com supervisão sua, espere não medir efeito algum. Se for um modelo mais barato a executar tarefas sem supervisão, é aí que deverá surgir uma diferença, o que também torna a escolha entre Opus, Sonnet e Haiku parte da mesma decisão.

Quando o empacotamento é cargo cult

Vale a pena fazer quatro críticas, e nenhuma delas justifica ignorar o repositório.

A apresentação vai além das evidências. "Como o Claude Fable 5 funcionava" é uma afirmação sobre o funcionamento interno de um modelo que ninguém fora da Anthropic pode verificar, e a própria frase central do repositório enfraquece essa afirmação: "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 origem é apenas decoração. O procedimento é autossuficiente e não precisa de um mito de origem.

Quatro skills oferecem mais superfície do que o conteúdo exige. fable-loop repete uma grande parte de fable-method com 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 representam uma abrangência que a avaliação não cobre. Apenas dois dos oito aparecem no log: marketing na ronda 9 e devops na ronda 12. Os adaptadores de finance, legal, design e data são distribuídos sem nenhuma ronda associada. O adaptador da sua área pode continuar a ser bom. No entanto, é um rascunho do autor, não algo que tenha sobrevivido a um fixture de teste adversarial.

E o instalador não está de acordo com o repositório sobre o que distribui: copia três das quatro skills para ~/.claude/skills. Este é 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 adotar de uma só vez.

O que manter se não mantiver mais nada

Remova a marca e ficam quatro regras que se aplicam por si próprias, independentemente do agente utilizado.

  • A autorização explícita. Uma ação irreversível ou voltada para o exterior precisa das próprias palavras do utilizador, escritas como uma linha AUTH:. Um agente que não consiga encontrar essa citação não executa a ação.
  • 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 aprovada.
  • Relato centrado no resultado, indicando como ressalva tudo o que foi ignorado ou ficou sem verificação, em vez de o omitir silenciosamente.

As quatro regras não têm custo de adoção e pode usar grep para verificar a conformidade. Comece por aí, meça com o harness acima e depois decida se o restante do repositório merece a sua parte do orçamento de contexto. Se quiser fornecer a um 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 cópia portátil para Codex, Cursor, aider ou um prompt de sistema simples. Há duas limitações. /fable-method e /fable-judge são comandos slash do Claude Code. Noutros ambientes, invoque o método descrevendo-o. fable-loop pressupõe um harness capaz de iniciar subagentes em paralelo com modelos diferentes. Sem isso, é executado em série e fornece fable-method com etapas adicionais.

Executar estas skills consome mais tokens?

Sim. O consumo depende da forma como são carregadas. Quando instaladas como skills, o conteúdo só é carregado quando a descrição corresponde à tarefa. Por isso, um pedido não relacionado tem um custo próximo de zero. Quando são coladas num prompt de sistema, as cerca de 2,600 palavras de AGENTS.md acompanham todos os pedidos. A própria execução também consome mais, porque o método exige orientação antes da edição, evidências antes da decisão e uma verificação real depois. Meça o consumo: execute a mesma tarefa com --output-format json nos dois braços e compare o campo total_cost_usd.

Que versão de fable-method devo instalar e por que motivo 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 August 2026. O repositório publicou cinco releases nos nove dias anteriores, e a v1.4.0 alterou as próprias regras de encaminhamento. Seguir main enquanto faz as medições significa que a execução de controlo e a execução de teste podem ler instruções diferentes. Isso torna a comparação inválida. 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. É assim que o autor a descreve: "This log exists so method edits are tested, not so anyone mistakes it for a benchmark." As limitações estã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 falhadas foram mantidas, o que é mais do que a maioria dos repositórios publica. Ainda assim, isto não mede o que acontecerá na sua base de código. Execute a comparação de dois braços por si próprio.