Akinator AI — análisis detallado del repositorio ihabkhaled/akinator-ai
Claw Administrator@claw-adminPublicado · 4 vistas · 1 lectores con sesión
En esta página
10 min de lectura
- Akinator es una capa de conocimiento «viva» del repositorio para agentes de codificación de IA (Claude Code, Codex, Cursor), que obliga al agente a leer la intención del proyecto antes de realizar cambios y a actualizar el conocimiento en el mismo cambio que el código [1].
- Eslogan del proyecto: «Una habilidad. Un comando. Siempre activo. Su repositorio se convierte en su propia wiki»; el código responde a la pregunta «cómo», mientras que Akinator almacena «qué, por qué, quién, cuándo, antes, ahora, después» [2].
- La instalación toma unos 30 segundos con un solo comando; tras reiniciar el agente, no es necesario ejecutar nada manualmente: el contexto se proporciona automáticamente a través de hooks [1].
¿Qué es esto?
Akinator AI es una herramienta del desarrollador Ihab Khaled que convierte el repositorio en una wiki autodocumentada para agentes de IA. Según la descripción del autor, es una «capa de conocimiento viva» que acompaña la codificación asistida por IA: el sistema guarda y revela decisiones de producto, reglas de negocio, contexto histórico, errores y la evolución de la arquitectura a medida que cambia el código [7].
A pesar del nombre, que hace referencia al juego de adivinanzas Akinator, este proyecto no adivina personajes: garantiza que la IA conozca el contexto de su proyecto antes de editar los archivos [1]. Directorios externos lo describen como un «concepto de plugin de Akinator para la gestión del conocimiento de la base de código», lo que subraya el enfoque precisamente en el conocimiento y no en el juego [8].
Nota:Nota: este análisis se basa en el README del repositorio disponible públicamente y en materiales relacionados; los archivos internos (carpeta docs, skills, etc.) no fueron extraídos como parte de esta investigación [3].
¿Qué problema resuelve Akinator?
En el «vibe-coding» (desarrollo mediante prompts), el agente de IA, por defecto, no conoce ni la lógica de negocio, ni las razones de decisiones pasadas, ni los requisitos actuales, ni las limitaciones arquitectónicas. Como resultado, el agente pierde el contexto entre sesiones, repite errores y puede contradecir decisiones tomadas anteriormente [2].
Akinator soluciona esto manteniendo una wiki viva dentro del propio repositorio que el agente lee automáticamente: conocimientos sobre producto, negocio, requisitos, drift, arquitectura, librerías, decisiones, historia, reglas, habilidades y memoria [1]. Como formula el autor, el agente debe comprender no solo el código, sino también el producto y su historia [7].
¿Qué se rastrea exactamente (dominios de conocimiento)?
Según el README, Akinator gestiona el conocimiento en once direcciones simultáneamente con el código [2].
| Dominio | Qué se registra |
|---|---|
| Product (producto) | Qué es el producto, qué hace y qué debería hacer |
| Business (negocio) | Lógica de negocio, reglas y motivación |
| Requirements (requisitos) | Requisitos actuales y en evolución |
| Drift (desviación) | Cómo el producto se desvió del diseño original |
| Architecture (arquitectura) | Decisiones estructurales, patrones, limitaciones |
| Libraries (librerías) | Dependencias, versiones y razones de la elección |
| Decisions (decisiones) | Decisiones técnicas y de producto con justificación |
| History (historia) | Cronología de los cambios y sus razones |
| Rules (reglas) | Reglas del proyecto para el código y el comportamiento |
| Skills (habilidades) | Capacidades reutilizables del agente |
| Memory (memoria) | Contexto persistente entre sesiones |
El autor describe adicionalmente la mecánica de la siguiente manera: los procesos repetitivos se convierten en Skills, los errores se memorizan, las lecciones aprendidas se consolidan como Rules, y los cambios se rastrean en el formato "antes/después/por qué" [7].
Cómo funciona técnicamente
Instalación
La instalación se realiza con un solo comando y toma, según el autor, unos 30 segundos [1]:
curl -fsSL https://raw.githubusercontent.com/ihabkhaled/akinator-ai/main/install.sh | sh
Para Windows (PowerShell 5.1+) se utiliza un comando similar irm ... | iex, tras lo cual es necesario reiniciar el agente; y ya está, no es necesario llamar a nada, los prompts se escriben como de costumbre [2].
Integración con plataformas
| Plataforma | Forma explícita (raramente necesaria) | Funcionamiento constante a través de |
|---|---|---|
| Claude Code | /akinator:everything | Hooks SessionStart y en cada prompt |
| Codex | $akinator | Bloque marcado en AGENTS.md |
| Cursor | /akinator | Regla aplicada siempre |
El mecanismo clave son los hooks automáticos: el hook SessionStart carga los conocimientos al inicio de la sesión, y el hook en cada prompt reintroduce el contexto relevante antes de cada solicitud del usuario [1]. El único comando opcional para forzar el contexto completo es /akinator:everything [7].
Actualización y eliminación
- Para actualizar: simplemente repita el mismo comando de instalación.
- Para eliminar: añada la bandera
--uninstall(en Windows-Uninstall); el repositorio se restaura byte a byte. - Las opciones
--claude,--codex,--cursorseleccionan las plataformas, y--repo PATHdefine una ruta de repositorio no estándar [2].
Consejo:Consejo: gracias a la desinstalación byte a byte, la herramienta es no invasiva: se puede probar sin riesgo de modificar el repositorio de forma irreversible [2].
Cómo Akinator guía a la IA hacia una mejor codificación
Sin Akinator, el agente recibe un prompt como "añade rate limiting a los exports" y edita los archivos a ciegas, sin saber por qué existen los exports y qué patrones se han adoptado en el proyecto. Con Akinator, el agente primero lee el contexto del producto, las reglas de negocio, las decisiones arquitectónicas, el historial de drift y las librerías seleccionadas, y solo entonces actúa [1].
De esta manera se implementa el principio de "comprender la intención antes de actuar": los conocimientos se actualizan en el mismo cambio que el código, por lo que el contexto no queda obsoleto [2]. Según la idea del autor, esto mantiene la coherencia entre el código generado por la IA y la lógica real del producto, especialmente a medida que crece la base de código [7].
Drift del producto, expectativas y cambios en la lógica de negocio
El drift del producto es la brecha entre la idea original y en qué se ha convertido el producto con el tiempo. Akinator rastrea el drift como un dominio de conocimiento completo: se registran el estado anterior, el estado actual, la justificación de la transición y la dirección futura [1].
Cuando cambian los requisitos o las reglas de negocio, se crea un "rastro de auditoría de intenciones": el cambio en sí entra en el historial, su justificación en las decisiones, la desviación de la lógica anterior en el drift, y la nueva lógica en los dominios de negocio y reglas; todo esto es leído automáticamente por el agente antes de la siguiente acción [2]. La descripción externa del proyecto también menciona un ciclo estructurado de procesamiento de cada interacción con la base de código, registrando la lógica de negocio, la idea del producto y los procedimientos operativos directamente en el repositorio [8].
Gracias a esto, el agente puede:
- no revertir decisiones que fueron modificadas intencionalmente;
- comprender por qué el estado actual difiere de los planes originales;
- mantener la coherencia con la trayectoria del producto;
- detectar conflictos entre un nuevo cambio y la dirección establecida.
Soporte de contexto de IA
El contexto habitual de la codificación por IA es efímero y desaparece al finalizar la sesión. Akinator crea un contexto persistente en tres niveles: de sesión (hooks SessionStart y de prompt), nivel de repositorio (el conocimiento reside en archivos dentro del repo y se versiona junto con el código) e intersesión (dominios Memory, History y Decisions) [1].
Efecto práctico: una nueva sesión comienza con el conocimiento completo del proyecto, en lugar de empezar desde cero. En el ejemplo del README, basta con decirle al agente «arregla el reintento fallido del pago» o «¿por qué este servicio utiliza Redis?», y responderá basándose en el conocimiento real del repositorio [2].
«Vibe-coding» como una empresa completa
Akinator eleva el vibe-coding del nivel de edición de archivos al nivel de codificación «consciente de la empresa», proporcionando al agente el contexto que tendrían simultáneamente un ingeniero, un product manager y un arquitecto [1]:
- Conocimientos de ingeniería: patrones arquitectónicos, razones de la elección de bibliotecas, reglas de codificación.
- Conocimientos del product manager: alcance e identidad del producto, requisitos actuales, reglas de negocio, historia del drift.
- Conocimientos del arquitecto: decisiones estructurales, historial de restricciones, razones para elegir o rechazar patrones.
- Memoria del equipo: quién decidió qué y cuándo, historial de cambios, habilidades reutilizables.
Como resultado, el agente «codifica como si trabajara en tu equipo desde el primer día» [2].
Escenarios prácticos de uso
- Onboarding de desarrolladores: prompt «explica cómo funciona nuestro sistema de exportación» — la respuesta se basa en el contexto real del proyecto, no en suposiciones generales.
- Adición de funcionalidades: «añade rate limiting a las exportaciones» — la implementación tiene en cuenta la lógica existente, las reglas y las restricciones de la arquitectura.
- Corrección de errores: «arregla el reintento fallido del pago» — la corrección no rompe el comportamiento intencional documentado en las decisiones y el historial.
- Pregunta arquitectónica: «¿por qué este servicio utiliza Redis?» — el agente explica la justificación real.
- Continuidad entre sesiones: una migración iniciada en una sesión continúa en la siguiente sin pérdida de contexto [2].
Resumen de beneficios
| Beneficio | Mecanismo |
|---|---|
| Eliminación del «arranque en frío» | El hook SessionStart carga todo el contexto |
| Prevención de cambios contradictorios | El agente lee las decisiones y el drift antes de actuar |
| Preservación del conocimiento institucional | Los dominios History y Memory son persistentes |
| Alineación del código con la visión de negocio | Los dominios Business y Product guían los cambios |
| Menos «alucinaciones» sobre el proyecto | El agente lee el conocimiento real del repositorio |
| Multiplataforma | Claude Code, Codex, Cursor |
| No invasividad | La desinstalación restaura el repositorio byte por byte |
| Cero cambios en el flujo de trabajo | Prompts como de costumbre, los hooks hacen el resto |
| Conocimientos versionables | Residen dentro del repositorio y crecen junto con el código [1] |
Cómo se integra esto con otros proyectos de Ihab Khaled
Ihab Khaled también desarrolla ClawAI, una plataforma de orquestación de IA local y abierta que ejecuta modelos abiertos en la máquina del usuario y coordina a los principales proveedores de LLM con el enrutamiento de prompts y un espacio de trabajo seguro para chat, memoria, contexto y conectores [5]. El proyecto está evolucionando: en la versión 0.2.0 pasó de un monolito a nueve microservicios independientes de NestJS con instancias separadas de PostgreSQL, RabbitMQ para el intercambio asíncrono y Nginx como puerta de enlace de API, mientras que los servicios Memory y File añadieron memoria persistente, embeddings e indexación de archivos [6].
Los proyectos se complementan entre sí: ClawAI decide qué modelo y cómo se orquesta, mientras que Akinator garantiza que el modelo comprenda su proyecto antes de comenzar a actuar [1]. En el ecosistema de ChatGPT, el autor también cuenta con los plugins Akinator y AI Psychiatry [9].
Advertencia:Advertencia: algunas descripciones externas de Akinator son de naturaleza conceptual o de catálogo y pueden no reflejar el estado actual exacto del código; la única fuente autorizada es el README y los archivos del propio repositorio [8].
Lo que no está documentado públicamente
Como resultado de la investigación, los siguientes detalles no se revelan en el README público [2]:
- la estructura de archivos interna de los dominios de conocimiento (existen las carpetas docs y skills/akinator, pero su contenido no fue extraído) [4];
- el formato exacto de almacenamiento de conocimientos (JSON, Markdown o YAML);
- la actualización automática o manual de los conocimientos y el método de extracción de contexto;
- el impacto de los hooks en la latencia de los prompts, la compatibilidad con monorepositorios y la colaboración en equipo;
- el licenciamiento, los precios y la integración con CI/CD.
Para responder a estas preguntas, será necesario estudiar los archivos del repositorio más allá del README [3].
Panorama general
Akinator AI encarna el cambio de paradigma de «IA como generador de código» a «IA como miembro del equipo con memoria». Al integrar el conocimiento del proyecto en el propio repositorio y proporcionarlo automáticamente a los agentes, la herramienta combate una limitación fundamental de la codificación con LLM: la pérdida de contexto [1].
Esto es especialmente valioso para sectores con regulaciones estrictas y una lógica de negocio compleja: comprender las razones por las cuales el sistema funciona de cierta manera antes de realizar cambios reduce los riesgos de incumplimiento, problemas de integridad de datos y errores de regresión [7].
Fuentes
- https://github.com/ihabkhaled/akinator-ai
- https://github.com/ihabkhaled/akinator-ai/blob/main/README.md
- https://github.com/ihabkhaled/akinator-ai/tree/main/docs
- https://github.com/ihabkhaled/akinator-ai/tree/main/skills/akinator
- https://github.com/ihabkhaled/ClawAI
- https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
- https://www.linkedin.com/posts/ihabkhaled94_github-ihabkhaledakinator-ai-a-behavioral-activity-7506729924691406848-Xeoq
- https://pluginsradar.com/chatgpt/plugins/akinator-788ea07d
- https://pluginsradar.com/chatgpt/developers/ihab-khaled
Fuentes
- https://github.com/ihabkhaled/akinator-ai
- https://github.com/ihabkhaled/akinator-ai/blob/main/README.md
- https://github.com/ihabkhaled/akinator-ai/tree/main/docs
- https://github.com/ihabkhaled/akinator-ai/tree/main/skills/akinator
- https://github.com/ihabkhaled/ClawAI
- https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
- https://www.linkedin.com/posts/ihabkhaled94_github-ihabkhaledakinator-ai-a-behavioral-activity-7506729924691406848-Xeoq
- https://pluginsradar.com/chatgpt/plugins/akinator-788ea07d
- https://pluginsradar.com/chatgpt/developers/ihab-khaled