O ank e as alternativas

O ank não é a primeira camada curada sobre uma base de código. Aqui está o que cada alternativa faz bem, onde o ank difere e quanto essa diferença custa a ele.

Num relance

O ank comparado a quatro alternativas
AlternativaBoa emOnde o ank difereO que custa ao ank
Retrieval (RAG)Boa emAchar o que parece relevante para uma consulta, num corpus que ninguém curou.Onde o ank difereResponde o que se aplica a um caminho: um teste de pertinência, não um ranking. Sem embeddings, sem serviço de índice.O que custa ao ankAlguém precisa ter escrito a restrição e o scope dela.
Um wiki mantido por LLMBoa emPáginas derivadas de fontes brutas, que o modelo consegue regenerar se forem perdidas.Onde o ank difereUm ADR registra uma escolha que não tem fonte. Ele é ancorado por hash e assinado na ratificação, nunca reescrito.O que custa ao ankNada regenera um registro: a decisão é escrita uma vez e ratificada por uma pessoa.
Open Knowledge FormatBoa emConhecimento que cruza organizações: um consumidor nunca rejeita um documento pelo que falta nele.Onde o ank difereMesmo instinto e mesma forma, markdown com frontmatter YAML e sem servidor. Mas o ank rejeita um campo desconhecido.O que custa ao ankUm arquivo malformado é recusado em vez de lido.
Workflows de skills de processoBoa emUm método rico para o ciclo inteiro, de entrevistar a pessoa até revisar antes do merge.Onde o ank difereO ank também traz métodos, e mede o resultado: ank done roda os verificadores e nunca lê qual método foi usado.O que custa ao ankUm método que ninguém segue é uma linha de frontmatter. Só a árvore diz se o trabalho foi feito.

Contra retrieval

RAG responde o que parece relevante para esta consulta; ank context src/auth/ responde o que se aplica a este caminho. O primeiro ordena por similaridade, o segundo é um teste de pertinência a um conjunto. Para uma restrição, é exatamente isso que importa: uma regra que deveria valer mas ficou em sétimo lugar não valeu, e nada avisa.

Sem embeddings, sem serviço de índice, sem reindexar a cada commit. O custo é real: alguém precisa ter escrito a restrição e o scope dela. O ank não substitui a busca num corpus que ninguém curou. Ele substitui a página do wiki que nunca foi encontrada.

~/auth-service
ank context src/auth/

CONSTRAINTS (1 active)
  ADR-06d2  Opaque sessions rather than stateless JWT

TASKS (1)
  TASK-820d  [open] Migrate auth to opaque sessions

> ank claim TASK-820d to start

Contra um wiki mantido por LLM

O padrão do Karpathy tem três camadas (fontes brutas, um wiki que pertence ao modelo, um arquivo de schema) e três operações: ingest, query, lint. O ank tem essa forma e difere no que é a camada do meio.

Uma página de wiki é derivada de fontes e pode ser regenerada se for perdida. Um ADR registra uma escolha que não tem fonte: alguém decidiu por sessões opacas em vez de JWTs, o registro é a única cópia e nenhuma ingestão traz ele de volta. Por isso ele é ancorado por hash e assinado na ratificação em vez de reescrito, e o lint é mecânico em vez de um modelo relendo em busca de contradições.

O padrão de wiki com LLM do Karpathy

Contra o Open Knowledge Format

O Open Knowledge Format do Google é o parente mais próximo, alcançado de forma independente: markdown com frontmatter YAML, sem servidor, sem SDK, identidade dada pelo caminho, o formato como contrato. Os sinais de confiança da v0.2 vêm do mesmo instinto das provas do ank, que adotou dois deles como estão: a convenção de ator e verified.

Um eixo diverge, de propósito dos dois lados. O OKF diz aos consumidores para nunca rejeitar um documento pelo que falta nele, porque entre organizações um documento rejeitado é conhecimento perdido. O ank rejeita um campo desconhecido, porque para um critério que não pode ser enfraquecido às escondidas, um arquivo aceito mas malformado é uma regra que parou de valer em silêncio.

O Open Knowledge Format

Contra um workflow de skills de processo

As skills do Matt Pocock são o exemplo mais rico: duas dúzias de prompts cobrindo o ciclo inteiro, entrevistar a pessoa até a spec ficar precisa, quebrá-la em tickets, conduzir a implementação test-first, revisar antes do merge. A skill é o método, e o agente fica preso a ele enquanto trabalha.

O ank também traz métodos: seis skills dentro do binário, o contrato e cinco irmãs para plan, drift, loop, tdd e diagnose. Uma tarefa pode nomear uma com ank new --method tdd, o ank context indica qual é assim que a tarefa é reivindicada, e ank skills conta designações contra execuções. O que nenhum comando faz é impor uma. ank done nunca lê o método: ele mesmo roda os verificadores declarados, porque um agente avaliado pelo processo aprende a fingir o processo, e um agente avaliado pela árvore precisa mudar a árvore.

As skills do Matt Pocock

Quanto custa rodar

Dois números em vez de um adjetivo.

~280 tokens
em toda sessão para as seis skills: o frontmatter delas, o nome e a descrição que um harness mantém carregados. 38 para o contrato, de 41 a 57 para cada irmã, contados com cl100k_base. O corpo só é lido quando a skill é invocada.
8000 caracteres
o limite padrão do que o ank context entrega a quem lê.

O que o ank não é

Dito com clareza, para você descartar rápido se não for o que precisa.

  • Não é um tracker. Sem ciclos, estimativas, velocity ou roadmap.

  • Não é um wiki. Só entra o que é acionável ou vinculante para um agente.

  • Não é um buscador. Não substitui a busca num corpus que ninguém curou.

  • Não é um fiscal de processo. Ensina métodos e mede só o resultado.

  • Não é uma fronteira de segurança. Protege contra drift, não contra um atacante.

Instalar o ank

Dois comandos. Linux, macOS e Windows, com git 2.34 ou mais recente.

npm install -g @haksolot/ank
npx skills add haksolot/ank