ank und die Alternativen
ank ist nicht die erste kuratierte Schicht über einer Codebasis. Hier steht, was jede Alternative gut kann, worin ank sich unterscheidet und was dieser Unterschied ank kostet.
Auf einen Blick
| Alternative | Gut darin | Worin ank sich unterscheidet | Was es ank kostet |
|---|---|---|---|
| Retrieval (RAG) | Gut darinFinden, was für eine Anfrage relevant aussieht, in einem Korpus, den niemand kuratiert hat. | Worin ank sich unterscheidetBeantwortet, was für einen Pfad gilt: ein Mengen-Test, kein Ranking. Keine Embeddings, kein Index-Dienst. | Was es ank kostetJemand muss die Constraint und ihren Scope geschrieben haben. |
| Ein von einem LLM gepflegtes Wiki | Gut darinSeiten, abgeleitet aus Rohquellen, die das Modell neu erzeugen kann, wenn sie verloren gehen. | Worin ank sich unterscheidetEin ADR hält eine Entscheidung fest, die keine Quelle hat. Es ist per Hash verankert und bei der Ratifizierung signiert, nie umgeschrieben. | Was es ank kostetNichts erzeugt einen Eintrag neu: Die Entscheidung wird einmal geschrieben und von einem Menschen ratifiziert. |
| Open Knowledge Format | Gut darinWissen, das Organisationsgrenzen überquert: Ein Konsument weist ein Dokument nie wegen fehlender Teile ab. | Worin ank sich unterscheidetDerselbe Instinkt, dieselbe Form, Markdown mit YAML-Frontmatter und kein Server. Aber ank weist ein unbekanntes Feld ab. | Was es ank kostetEine fehlerhafte Datei wird abgewiesen statt gelesen. |
| Prozess-Skill-Workflows | Gut darinEine reichhaltige Methode für den ganzen Zyklus, vom Befragen des Menschen bis zum Review vor dem Merge. | Worin ank sich unterscheidetank bringt auch Methoden mit und misst das Ergebnis: ank done führt die Verifier aus und liest nie, welche Methode benutzt wurde. | Was es ank kostetEine Methode, an die sich niemand hält, ist eine Zeile Frontmatter. Nur der Tree zeigt, ob die Arbeit erledigt ist. |
Gegenüber Retrieval
RAG beantwortet, was für diese Anfrage relevant aussieht; ank context src/auth/ beantwortet, was für diesen Pfad gilt. Das eine rankt nach Ähnlichkeit, das andere ist ein Mengen-Test. Für eine Constraint ist genau das der Punkt: Eine Regel, die hätte greifen sollen, aber auf Platz sieben landete, hat nicht gegriffen, und nichts sagt es dir.
Keine Embeddings, kein Index-Dienst, kein Neuindizieren bei jedem Commit. Die Kosten sind real: Jemand muss die Constraint und ihren Scope geschrieben haben. ank ersetzt keine Suche über einen Korpus, den niemand kuratiert hat. Es ersetzt die Wiki-Seite, die nie gefunden wurde.
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
Gegenüber einem von einem LLM gepflegten Wiki
Karpathys Muster hat drei Schichten (Rohquellen, ein Wiki, das dem Modell gehört, eine Schema-Datei) und drei Operationen: ingest, query, lint. ank hat diese Form und unterscheidet sich darin, was die mittlere Schicht ist.
Eine Wiki-Seite ist aus Quellen abgeleitet und lässt sich neu erzeugen, wenn sie verloren geht. Ein ADR hält eine Entscheidung fest, die keine Quelle hat: Jemand hat sich für opake Sessions statt JWTs entschieden, der Eintrag ist die einzige Kopie, und kein Ingest bringt ihn zurück. Deshalb wird er per Hash verankert und bei der Ratifizierung signiert statt umgeschrieben, und der Lint ist mechanisch statt eines Modells, das nach Widersprüchen sucht.
Gegenüber dem Open Knowledge Format
Googles Open Knowledge Format ist der nächste Verwandte, unabhängig entstanden: Markdown mit YAML-Frontmatter, kein Server, kein SDK, Identität über den Pfad, das Format als Vertrag. Seine Trust-Signale aus v0.2 folgen demselben Instinkt wie die Proofs von ank, und ank hat zwei davon direkt übernommen: die Actor-Konvention und verified.
Eine Achse weicht ab, auf beiden Seiten mit Absicht. OKF sagt Konsumenten, ein Dokument nie wegen fehlender Teile abzuweisen, denn über Organisationsgrenzen hinweg ist ein abgewiesenes Dokument verlorenes Wissen. ank weist ein unbekanntes Feld ab, denn für ein Kriterium, das nicht heimlich aufgeweicht werden darf, ist eine akzeptierte, aber fehlerhafte Datei eine Regel, die still aufgehört hat zu gelten.
Gegenüber einem Prozess-Skill-Workflow
Matt Pococks Skills sind das reichhaltigste Beispiel: zwei Dutzend Prompts für den ganzen Zyklus, den Menschen befragen, bis die Spec präzise ist, sie in Tickets schneiden, die Implementierung test-first vorantreiben, vor dem Merge reviewen. Der Skill ist die Methode, und der Agent wird bei der Arbeit an sie gehalten.
ank bringt auch Methoden mit: sechs Skills im Binary, den Vertrag und fünf Geschwister für plan, drift, loop, tdd und diagnose. Ein Task kann eine mit ank new --method tdd benennen, ank context nennt sie, sobald der Task geclaimt ist, und ank skills zählt Zuweisungen gegen Ausführungen. Was kein Befehl tut: eine erzwingen. ank done liest die Methode nie, es führt die deklarierten Verifier selbst aus, denn ein Agent, der nach seinem Prozess bewertet wird, lernt, den Prozess vorzutäuschen, und ein Agent, der nach dem Tree bewertet wird, muss den Tree ändern.
Was der Betrieb kostet
Zwei Zahlen statt eines Adjektivs.
- ~280 Tokens
- pro Session für die sechs Skills: ihr Frontmatter, also Name und Beschreibung, die ein Harness geladen hält. 38 für den Vertrag, 41 bis 57 für jedes Geschwister, gezählt mit
cl100k_base. Den Inhalt liest er nur, wenn der Skill aufgerufen wird. - 8000 Zeichen
- die Standardgrenze für das, was
ank contexteinem Leser übergibt.
Was ank nicht ist
Klar gesagt, damit du es schnell ausschließen kannst, wenn es nicht das ist, was du brauchst.
Kein Tracker. Keine Zyklen, Schätzungen, Velocity oder Roadmap.
Kein Wiki. Hinein kommt nur, was für einen Agenten umsetzbar oder bindend ist.
Keine Suchmaschine. Es ersetzt keine Suche über einen Korpus, den niemand kuratiert hat.
Kein Prozess-Aufseher. Es lehrt Methoden und misst nur das Ergebnis.
Keine Sicherheitsgrenze. Es schützt vor Drift, nicht vor einem Angreifer.
ank installieren
Zwei Befehle. Linux, macOS und Windows, mit git 2.34 oder neuer.
npm install -g @haksolot/ank
npx skills add haksolot/ank