ank y las alternativas
ank no es la primera capa curada sobre una base de código. Esto es lo que cada alternativa hace bien, en qué se diferencia ank y qué le cuesta esa diferencia.
De un vistazo
| Alternativa | Buena para | En qué se diferencia ank | Qué le cuesta a ank |
|---|---|---|---|
| Retrieval (RAG) | Buena paraEncontrar lo que parece relevante para una consulta, en un corpus que nadie ha curado. | En qué se diferencia ankResponde qué aplica a una ruta: una prueba de pertenencia, no un ranking. Sin embeddings, sin servicio de índice. | Qué le cuesta a ankAlguien tiene que haber escrito la restricción y su scope. |
| Un wiki mantenido por un LLM | Buena paraPáginas derivadas de fuentes en bruto, que el modelo puede regenerar si se pierden. | En qué se diferencia ankUn ADR registra una decisión que no tiene fuente. Se ancla por hash y se firma al ratificarlo, nunca se reescribe. | Qué le cuesta a ankNada regenera un registro: la decisión se escribe una vez y la ratifica una persona. |
| Open Knowledge Format | Buena paraConocimiento que cruza organizaciones: un consumidor nunca rechaza un documento por lo que le falta. | En qué se diferencia ankEl mismo instinto y la misma forma, markdown con frontmatter YAML y sin servidor. Pero ank rechaza un campo desconocido. | Qué le cuesta a ankUn archivo mal formado se rechaza en lugar de leerse. |
| Workflows de skills de proceso | Buena paraUn método completo para todo el ciclo, desde entrevistar a la persona hasta revisar antes del merge. | En qué se diferencia ankank también trae métodos, y mide el resultado: ank done ejecuta los verificadores y nunca lee qué método se usó. | Qué le cuesta a ankUn método que nadie sigue es una línea de frontmatter. Solo el árbol dice si el trabajo está hecho. |
Frente al retrieval
RAG responde qué parece relevante para esta consulta; ank context src/auth/ responde qué aplica a esta ruta. El primero ordena por similitud, el segundo es una prueba de pertenencia a un conjunto. Para una restricción, esa es toda la cuestión: una regla que debía aplicarse pero quedó séptima no se aplicó, y nada lo avisa.
Sin embeddings, sin servicio de índice, sin reindexar en cada commit. El coste es real: alguien tiene que haber escrito la restricción y su scope. ank no sustituye la búsqueda en un corpus que nadie ha curado. Sustituye la página del wiki que nunca se encontró.
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
Frente a un wiki mantenido por un LLM
El patrón de Karpathy tiene tres capas (fuentes en bruto, un wiki que es del modelo, un archivo de esquema) y tres operaciones: ingest, query, lint. ank tiene esa forma y se diferencia en qué es la capa del medio.
Una página de wiki se deriva de fuentes y puede regenerarse si se pierde. Un ADR registra una decisión que no tiene fuente: alguien eligió sesiones opacas en lugar de JWT, el registro es la única copia y ninguna ingesta puede reconstruirlo. Por eso se ancla por hash y se firma al ratificarlo en vez de reescribirse, y el lint es mecánico en vez de un modelo releyendo en busca de contradicciones.
Frente al Open Knowledge Format
El Open Knowledge Format de Google es el pariente más cercano, al que se llegó por separado: markdown con frontmatter YAML, sin servidor, sin SDK, la identidad en la ruta, el formato como contrato. Sus señales de confianza de la v0.2 responden al mismo instinto que las pruebas de ank, que adoptó dos tal cual: la convención de actor y verified.
Un eje diverge, a propósito por ambas partes. OKF pide a los consumidores no rechazar nunca un documento por lo que le falta, porque entre organizaciones un documento rechazado es conocimiento perdido. ank rechaza un campo desconocido, porque para un criterio que no debe debilitarse a escondidas, un archivo aceptado pero mal formado es una regla que dejó de aplicarse sin hacer ruido.
Frente a un workflow de skills de proceso
Las skills de Matt Pocock son el ejemplo más completo: un par de docenas de prompts que cubren todo el ciclo, entrevistar a la persona hasta que la spec sea precisa, cortarla en tickets, llevar la implementación test-first, revisar antes del merge. La skill es el método, y el agente queda sujeto a él mientras trabaja.
ank también trae métodos: seis skills dentro del binario, el contrato y cinco hermanas para plan, drift, loop, tdd y diagnose. Una tarea puede nombrar una con ank new --method tdd, ank context la indica una vez reclamada la tarea, y ank skills cuenta designaciones frente a ejecuciones. Lo que ningún comando hace es imponerla. ank done nunca lee el método: ejecuta él mismo los verificadores declarados, porque un agente evaluado por su proceso aprende a fingir el proceso, y un agente evaluado por el árbol tiene que cambiar el árbol.
Lo que cuesta ejecutarlo
Dos números en lugar de un adjetivo.
- ~280 tokens
- en cada sesión para las seis skills: su frontmatter, el nombre y la descripción que un harness mantiene cargados. 38 para el contrato, de 41 a 57 para cada hermana, contados con
cl100k_base. El cuerpo solo se lee cuando se invoca su skill. - 8000 caracteres
- el límite por defecto de lo que
ank contextentrega a quien lo lee.
Lo que ank no es
Dicho claro, para que puedas descartarlo rápido si no es lo que necesitas.
No es un tracker. Sin ciclos, estimaciones, velocidad ni roadmap.
No es un wiki. Solo entra lo que es accionable o vinculante para un agente.
No es un buscador. No sustituye la búsqueda en un corpus que nadie ha curado.
No es un guardián del proceso. Enseña métodos y solo mide el resultado.
No es una frontera de seguridad. Protege contra la deriva, no contra un atacante.
Instalar ank
Dos comandos. Linux, macOS y Windows, con git 2.34 o posterior.
npm install -g @haksolot/ank
npx skills add haksolot/ank