ank et les alternatives

ank n’est pas la première couche curée posée sur une base de code. Voici ce que chaque alternative fait bien, où ank diffère, et ce que cette différence lui coûte.

En un coup d’œil

ank comparé à quatre alternatives
AlternativeBonne pourOù ank diffèreCe que ça coûte à ank
Retrieval (RAG)Bonne pourTrouver ce qui semble pertinent pour une requête, dans un corpus que personne n’a curé.Où ank diffèreRépond à ce qui s’applique à un chemin : un test d’appartenance, pas un classement. Ni embeddings, ni service d’index.Ce que ça coûte à ankQuelqu’un doit avoir écrit la contrainte et son scope.
Un wiki maintenu par un LLMBonne pourDes pages dérivées de sources brutes, que le modèle peut régénérer si elles sont perdues.Où ank diffèreUn ADR consigne un choix qui n’a pas de source. Il est ancré par hash et signé à la ratification, jamais réécrit.Ce que ça coûte à ankRien ne régénère un enregistrement : la décision est écrite une fois et ratifiée par un humain.
Open Knowledge FormatBonne pourLe savoir qui circule entre organisations : un consommateur ne rejette jamais un document pour ce qui lui manque.Où ank diffèreMême instinct et même forme, du markdown avec un frontmatter YAML et pas de serveur. Mais ank rejette un champ inconnu.Ce que ça coûte à ankUn fichier mal formé est refusé au lieu d’être lu.
Workflows de skills de processBonne pourUne méthode riche pour tout le cycle, de l’entretien avec l’humain à la revue avant merge.Où ank diffèreank livre aussi des méthodes, et mesure le résultat : ank done lance les vérificateurs et ne lit jamais quelle méthode a servi.Ce que ça coûte à ankUne méthode que personne ne suit n’est qu’une ligne de frontmatter. Seul l’arbre dit si le travail est fait.

Face au retrieval

Le RAG répond à ce qui semble pertinent pour cette requête ; ank context src/auth/ répond à ce qui s’applique à ce chemin. Le premier classe par similarité, le second est un test d’appartenance. Pour une contrainte, tout est là : une règle qui aurait dû s’appliquer mais est sortie septième ne s’est pas appliquée, et rien ne le signale.

Ni embeddings, ni service d’index, ni réindexation à chaque commit. Le coût est réel : quelqu’un doit avoir écrit la contrainte et son scope. ank ne remplace pas la recherche dans un corpus que personne n’a curé. Il remplace la page de wiki qu’on n’a jamais trouvée.

~/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

Face à un wiki maintenu par un LLM

Le pattern de Karpathy a trois couches (les sources brutes, un wiki que le modèle possède, un fichier de schéma) et trois opérations : ingest, query, lint. ank a cette forme et diffère sur ce qu’est la couche du milieu.

Une page de wiki est dérivée de sources et peut être régénérée si on la perd. Un ADR consigne un choix qui n’a pas de source : quelqu’un a décidé des sessions opaques plutôt que des JWT, l’enregistrement est la seule copie, et aucune ingestion ne permet de le retrouver. D’où un ancrage par hash et une signature à la ratification plutôt qu’une réécriture, et un lint mécanique plutôt qu’un modèle qui relit à la recherche de contradictions.

Le pattern de wiki LLM de Karpathy

Face à l’Open Knowledge Format

L’Open Knowledge Format de Google est le parent le plus proche, atteint indépendamment : du markdown avec un frontmatter YAML, pas de serveur, pas de SDK, l’identité portée par le chemin, le format comme contrat. Ses signaux de confiance v0.2 relèvent du même instinct que les preuves d’ank, qui en a adopté deux tels quels : la convention d’acteur et verified.

Un axe diverge, délibérément des deux côtés. OKF demande aux consommateurs de ne jamais rejeter un document pour ce qui lui manque, parce qu’entre organisations un document rejeté est du savoir perdu. ank rejette un champ inconnu, parce que pour un critère qui ne doit pas être affaibli en douce, un fichier accepté mais mal formé est une règle qui a cessé de s’appliquer sans bruit.

L’Open Knowledge Format

Face à un workflow de skills de process

Les skills de Matt Pocock en sont l’exemple le plus riche : deux douzaines de prompts couvrant tout le cycle, interroger l’humain jusqu’à ce que la spec soit précise, la découper en tickets, mener l’implémentation en test-first, relire avant le merge. Le skill est la méthode, et l’agent y est tenu pendant qu’il travaille.

ank livre aussi des méthodes : six skills dans le binaire, le contrat et cinq frères pour plan, drift, loop, tdd et diagnose. Une tâche peut en désigner un avec ank new --method tdd, ank context le nomme une fois la tâche claimée, et ank skills compte les désignations face aux déclenchements. Ce qu’aucune commande ne fait, c’est l’imposer. ank done ne lit jamais la méthode : il lance lui-même les vérificateurs déclarés, parce qu’un agent noté sur son process apprend à simuler le process, et qu’un agent noté sur l’arbre doit changer l’arbre.

Les skills de Matt Pocock

Ce que ça coûte à faire tourner

Deux chiffres plutôt qu’un adjectif.

~280 tokens
à chaque session pour les six skills : leur frontmatter, le nom et la description qu’un harness garde chargés. 38 pour le contrat, 41 à 57 pour chaque frère, comptés avec cl100k_base. Un corps n’est lu que quand son skill est invoqué.
8000 caractères
la borne par défaut de ce que ank context remet à un lecteur.

Ce qu’ank n’est pas

Dit simplement, pour que vous puissiez l’écarter vite si ce n’est pas ce qu’il vous faut.

  • Pas un tracker. Ni cycles, ni estimations, ni vélocité, ni roadmap.

  • Pas un wiki. Seul ce qui est actionnable ou contraignant pour un agent y entre.

  • Pas un moteur de recherche. Il ne remplace pas la recherche dans un corpus que personne n’a curé.

  • Pas un gendarme du process. Il enseigne des méthodes et ne mesure que le résultat.

  • Pas une frontière de sécurité. Il protège contre la dérive, pas contre un attaquant.

Installer ank

Deux commandes. Linux, macOS et Windows, avec git 2.34 ou plus récent.

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