Skip to content
Volver a notas
Open Source2026-08-183 min readGitHub ↗

Akinator y la regla del descarte: Es más fácil saber qué no quieres que qué sí quieres

Al final de una jornada agotadora, formular prompts largos es una carga mental. Diseñé un motor que lee el contexto de tu código y te permite avanzar por eliminación en dos clics.

Cualquiera que haya trabajado hasta altas horas de la noche en un proyecto de software conoce ese estado de fatiga mental en el que la capacidad de tomar decisiones complejas se reduce al mínimo.

Has pasado el día resolviendo incidencias, coordinando entregas y cambiando de contexto. Al abrir el asistente de programación en la terminal, lo único que tienes energía para escribir es algo breve como "¿qué sigue?" o "continuar".

Con las herramientas tradicionales suelen presentarse dos escenarios poco productivos: 1. La sobrecarga de preguntas abiertas: El modelo responde con una extensa lista de consideraciones teóricas y te solicita redactar especificaciones minuciosas. 2. La suposición desalineada: El modelo toma fragmentos aislados de archivos temporales y comienza a modificar componentes que no formaban parte de la prioridad.

En un momento de cansancio, lo que menos necesita un desarrollador es que la herramienta le exija redactar un informe exhaustivo para poder ayudarle.

El principio del descarte progresivo

En la toma de decisiones humanas existe un patrón universal: es mucho más sencillo identificar con certeza lo que no queremos que definir desde cero lo que sí queremos.

Pensemos en una situación cotidiana como elegir qué cenar tras un día agotador. Si alguien te pregunta de forma abierta qué deseas comer, es probable que tu mente se quede en blanco. Sin embargo, si el diálogo se estructura mediante preguntas simples: - ¿Deseas cocinar o pedir a domicilio? → Descartas cocinar. - ¿Te apetece algo ligero como ensalada o algo más sustancial? → Descartas lo ligero. - ¿Prefieres algo caliente y rápido? → Llegas con claridad a la opción adecuada en cuestión de segundos.

El descarte por eliminación reduce la carga cognitiva a su mínima expresión. Me pregunté: ¿por qué no aplicar este mismo principio a los asistentes de desarrollo en la terminal?

Así nació Akinator.

Cómo opera: Inspección silenciosa y triaje estructurado

Akinator invierte el modelo tradicional de interacción mediante un flujo optimizado:

  • Lectura profunda del entorno: Analiza el estado del repositorio (git status), los últimos registros de confirmación y los documentos de seguimiento (TODO.md, ROADMAP.md).
  • Filtrado riguroso de artefactos irrelevantes: Omite automáticamente dependencias, compilados intermedios y registros temporales para evitar distracciones.
  • Triaje en dos pasos con formato limpio: En lugar de párrafos densos, formula tres hipótesis claras y estructuradas en tarjetas numeradas: [ 1 ], [ 2 ], [ 3 ].
  • Ejecución directa: El usuario únicamente responde con el dígito correspondiente. El asistente comienza a trabajar de inmediato en la tarea seleccionada, sin preámbulos innecesarios.

Reflexión de diseño: La elegancia de reducir decisiones

Con frecuencia caemos en la tentación de asumir que una herramienta es superior cuantas más opciones, perillas de configuración y parámetros ofrece al usuario.

Sin embargo, en el diseño de productos profesionales se comprueba lo opuesto: el verdadero refinamiento de una herramienta radica en eliminar la fricción mental innecesaria.

Cuando el tiempo y la energía son limitados, un buen sistema no debe pedirte que justifiques cada decisión. Debe ser capaz de comprender el contexto, despejar el ruido y presentarte caminos claros para que puedas avanzar con un solo movimiento.