Volver al CV
Logo de AKILI — Dante, el perro mascota

AKILI

Reduce a la mitad los tiempos de desarrollo sin sacrificar calidad: desarrollo spec-driven y constitution-first para agentes de IA en Claude Code, OpenCode y Google Antigravity.

akili-specs/mascot — dante.mp4
MASCOT DANTE

SDD (Spec-Driven Development, o desarrollo guiado por especificaciones) es el principio detrás de AKILI: antes de escribir código se acuerda una especificación —requisitos, diseño y criterios de aceptación— y tanto las personas como los agentes de IA construyen a partir de ese contrato. Así el trabajo asistido por IA se vuelve trazable, auditable y repetible, en lugar de depender de prompts sueltos. AKILI aplica ese contrato de forma constitution-first: los cimientos del proyecto —de producto, de UX y técnicos— se escriben una sola vez, por adelantado, y cada spec posterior se valida contra ellos.

La mayoría de desarrolladores usa IA de manera reactiva: pegan prompts y esperan que el código funcione. AKILI lo reemplaza por un proceso disciplinado y constitution-first. AKILI suma trazabilidad spec-to-code: cada línea de código entregado se rastrea hasta el requisito y la tarea que la pidieron. El contexto duradero del producto y los releases gobernados viven en archivos de metodología 100% locales. Cada cambio recorre un ciclo de vida explícito, de la constitución al archivo, de modo que la velocidad nunca cuesta calidad ni acumula deuda técnica.

Un harness Leader → Implementer → Reviewer reemplaza el bucle de agente único: el Leader planifica el trabajo, el Implementer escribe el código y el Reviewer audita el resultado a ciegas —sin acceso al razonamiento del Implementer— detectando alucinaciones antes de que se fusionen. Cuando una revisión falla de forma repetida —o falla de manera fatal—, el harness se detiene y revierte el árbol de trabajo automáticamente (git restore + git clean), así que el repositorio nunca queda sucio. Integraciones nativas con MCP extraen requisitos de negocio desde Jira y tokens de diseño desde Figma directamente a las especificaciones. Qué modelo cumple cada rol lo determina el nivel asignado, no el modelo que esté de turno, y cuánto trabajo se delega en total está acotado en ambos extremos.

AKILI es portátil entre Claude Code, OpenCode y Google Antigravity, es consciente de CodeGraph, corre en macOS, Linux y Windows (Node.js 18+) y se distribuye bajo licencia MIT. Instálalo desde NPM y sé productivo en segundos: akili init ejecuta un asistente de configuración interactivo, la bandera --local instala los agentes de forma aislada por proyecto, y los clásicos comandos akili install, update, list y doctor mantienen tu configuración saludable.

Mejora continua · 改善

Kaizen: la metodología que aprende

Otras metodologías ejecutan especificaciones. AKILI aprende de cada una.

AKILI incorpora la filosofía japonesa del Kaizen (改善 — kai, cambio; zen, mejor) como una retrospectiva Kaizen ejecutable, no como un eslogan: cada vez que se archiva una especificación, AKILI ejecuta esa retrospectiva automáticamente, midiendo el desperdicio (MUDA) en la evidencia de la propia especificación —reintentos del Reviewer, pivotes, bugs y hallazgos críticos— y destilando lecciones con causa raíz nombrada y evidencia real (Gemba), nunca especulación.

Esas lecciones se estandarizan en la constitución, las plantillas y las guías de los agentes —siempre con aprobación humana y en pasos pequeños— y quedan registradas en un log acumulativo que las próximas especificaciones leen antes de empezar. Así el equipo deja de repetir errores y la metodología mejora con cada entrega. Este es el significado de su nombre: akili es inteligencia en swahili, y una inteligencia que no aprende no es inteligencia.

  1. 1

    Medir

    Detecta el desperdicio (MUDA) en la evidencia del spec: reintentos, pivotes, bugs y advertencias de validación.

  2. 2

    Aprender

    Destila lecciones con causa raíz nombrada y evidencia real (Gemba). Las lecciones genéricas están prohibidas.

  3. 3

    Estandarizar

    Propone ediciones pequeñas a la constitución, las plantillas y las guías — siempre con aprobación humana.

  4. 4

    Repetir

    El próximo spec lee las lecciones activas antes de empezar, para que los errores no vuelvan.

Y vuelve a empezar en cada especificación

Juan Carlos Cadavid en un taller de estrategia de innovación, escribiendo en una pared de notas adhesivas
AKILI en práctica

El mismo proceso estructurado que aplico al código, aplicado a la estrategia: discovery colaborativo, problemas enmarcados y decisiones trazables.

Taller de estrategia de innovación · Roma

El ciclo de vida de las especificaciones

  1. Constitución

    Establece la base del proyecto —PRD, diseño de sistema y diseño detallado— como fuente de verdad duradera.

  2. Propuesta

    Captura la intención de un cambio acotado como una propuesta ligera y revisable.

  3. Especificación

    Convierte la intención aprobada en requisitos completos, diseño técnico y tareas trazables.

  4. Ejecución

    Implementa cada tarea con un harness Leader → Implementer → Reviewer — el Reviewer audita a ciegas al Implementer y cualquier aborto fail-fast revierte limpiamente con git restore + git clean.

  5. Validación

    Revisión humana, pruebas automatizadas y evidencia de validación registrada contra cada requisito.

  6. Cierre

    Consolida la documentación, sincroniza el sistema de diseño y cierra la especificación.

Comandos de apoyo

Cinco comandos para el trabajo fuera de las seis fases principales

  • /akili-test

    Test

    Escribe y ejecuta pruebas automatizadas unitarias y de integración, completas, para lo que el spec en curso acaba de implementar.

  • /akili-audit

    Audit

    Ejecuta una auditoría de desviación (drift) entre el código en producción y el diseño UX/UI y el blueprint técnico vigentes, para exponer dónde se separaron.

  • /akili-resume

    Resume

    Escanea cada spec activo tras una pausa de sesión y presenta un tablero multi-spec para retomar el trabajo con el contexto completo.

  • /akili-quick

    Quick

    Acelera un cambio trivial y de bajo riesgo con trazabilidad mínima, y escala automáticamente al ciclo de vida completo si el cambio resulta no ser tan trivial.

  • /akili-seo

    SEO

    Audita el SEO técnico y la visibilidad en motores generativos (GEO): cómo leen una página tanto los crawlers de búsqueda como los motores de respuesta de IA.

Enrutamiento de modelos

Cada fase con el modelo diseñado para ella

El enrutamiento de modelos por niveles de capacidad asigna cada fase del ciclo de vida de AKILI a uno de seis niveles de capacidad con nombre propio, en lugar de correr todo sobre un único modelo fijo, de modo que la profundidad de razonamiento aplicada a una tarea coincide con lo que esa tarea realmente necesita.

  • T1 · Architect

    Razonamiento profundo para arquitectura, decisiones de trade-off e intención, además del juicio de orquestación sobre la marcha que surge durante la ejecución.

  • T2 · Coder

    Máxima productividad al escribir código y seguimiento de instrucciones para escribir el código y las pruebas que lo acompañan.

  • T3 · Auditor

    Revisión crítica independiente —conformidad, bugs, desviación— realizada en un modelo distinto al que escribió el cambio.

  • T4 · Context-Ingest

    Absorción de contexto extenso sobre código legado y documentación base, donde el tamaño de la ventana de contexto importa más que la profundidad de razonamiento.

  • T5 · Fast-Cheap

    Formateo estructurado y resumen rápidos y económicos para tareas donde la profundidad no es el cuello de botella.

  • T6 · Multimodal

    Razonamiento visual y de UI/UX sobre imágenes, capturas de pantalla y referencias de diseño.

El effort dial es un segundo ajuste, independiente del anterior, con cinco niveles —low, medium, high, xhigh y max— que controla cuánto razonamiento recibe una tarea puntual sin importar qué nivel de capacidad tenga asignado: el nivel es fijo por fase, el effort dial se ajusta por tarea.

  • Low
  • Medium
  • High
  • X-High
  • Max
  • author is not equal to auditor

    author ≠ auditor significa que el modelo que escribe un cambio nunca es el modelo que lo revisa: el registro de enrutamiento de AKILI exige que los niveles Coder y Auditor apunten a modelos concretos distintos, y si alguna vez coincidieran en el mismo modelo, escala automáticamente al Reviewer un nivel.

  • ARCHITECT = BUILDER

    ARCHITECT = BUILDER mantiene al mismo modelo que razona la arquitectura como responsable de construirla, para que una decisión de diseño sobreviva intacta hasta el código en vez de ser reinterpretada por el modelo que termine implementándola.

  • Reservar el razonamiento profundo para las decisiones

    Reservar el razonamiento profundo para las decisiones significa que el nivel más capaz se dedica a la propuesta, la especificación, la verificación y la orquestación sobre la marcha —las fases donde una decisión equivocada sale cara— mientras la ejecución y el trabajo de registro se enrutan a niveles más rápidos y económicos, de modo que el costo siga la dificultad en lugar de que cada tarea pague tarifa de arquitecto.

Delegación

Qué se delega a un agente y qué sigue en manos del autor

La delegación en AKILI está acotada en ambos extremos: un piso que la vuelve obligatoria a partir de cierto tamaño, y un techo que la vuelve un desperdicio a partir de cierto punto.

Cuándo delegar es obligatorio

  1. Una revisión de un solo archivo se queda en el mismo hilo —la delegación solo empieza después de esa base.
  2. Leer cuatro archivos completos o más pide levantar un scout en lugar de leerlos en el mismo hilo.
  3. Escribir en dos archivos no triviales o más pide entregarle el trabajo a un Implementer.
  4. Revisar un diff pide un Reviewer con contexto nuevo, nunca el mismo modelo que lo escribió.

Cuándo delegar es un desperdicio

  • El techo de delegación marca el punto en que entregarle el trabajo a otro agente cuesta más de lo que ahorra: un subagente bien enfocado rinde más que varios para una tarea modesta.
  • Comprometerse con una delegación ya hecha en vez de volver a derivar el mismo plan.
  • Dar el brief preciso al subagente desde la primera vez, en lugar de iterar con instrucciones vagas.
  • Poner un techo a cuántos subagentes corren en paralelo, en lugar de abrir el abanico sin límite.
  • Nunca delegar la propia verificación: revisar el trabajo propio no es algo que se entregue a otro.
El Reviewer es la única delegación que nunca se recorta por optimización: al ser verificación independiente y no autoverificación, sigue siendo obligatoria incluso cuando cualquier otra delegación del lado del techo parece puro overhead.

Preguntas frecuentes

  • ¿Cómo arranca un proyecto?

    Con mi metodología AKILI: una sesión de discovery para entender el problema, luego una especificación acordada (requisitos + diseño) que apruebas antes de escribir código, y construcción por incrementos verificables. Nada se construye sin spec aprobado.

  • ¿Qué es SDD (Spec-Driven Development)?

    SDD, o desarrollo guiado por especificaciones, es una forma de construir software donde primero se acuerda una especificación —qué se va a construir, cómo y con qué criterios de aceptación— y luego humanos y agentes de IA implementan a partir de ese contrato, no de prompts sueltos. El resultado es trazable, revisable y con mucho menos retrabajo. AKILI es mi implementación open-source de SDD.

  • ¿Qué es AKILI, tu metodología?

    AKILI (AKILI-SPECS) es mi metodología open-source que lleva SDD a la práctica con un ciclo de vida explícito —de la constitución al cierre— y un harness multi-agente donde un Leader planifica, un Implementer codifica y un Reviewer audita a ciegas. Se instala desde NPM como akili-specs y es portátil entre Claude Code, OpenCode y Google Antigravity.

  • ¿Qué evita que la documentación de la metodología quede desactualizada?

    La versión que muestra esta página se vuelve a resolver desde el paquete publicado en npm en cada despliegue, así que se re-sincroniza con cada release en lugar de ser una cadena mantenida a mano. Además, cada spec archivado ejecuta una retrospectiva Kaizen acotada que mide el reproceso y los hallazgos contra la evidencia, destila una lección con causa raíz nombrada, y la incorpora a la constitución y a las plantillas antes de que empiece el siguiente spec.

  • ¿Por qué el Reviewer debe ejecutarse en un modelo distinto del que escribió el código?

    Porque un modelo que audita su propia salida tiende a defender su propio razonamiento en lugar de encontrarle los huecos: author ≠ auditor elimina ese conflicto al exigir que los niveles Coder y Auditor apunten a modelos concretos distintos, para que la revisión sea genuinamente independiente y no un segundo paso del mismo autor.

  • ¿AKILI ata a un equipo a una sola herramienta de IA para programar?

    No: AKILI es portátil entre Claude Code, OpenCode y Google Antigravity, corre en macOS, Linux y Windows con Node.js 18+, y se distribuye bajo licencia MIT, así que adoptarlo no significa apostarlo todo a que sobreviva la herramienta de un solo proveedor.