¿Qué es?
Code Wiki no es un modelo de IA, sino un concepto y tipo de herramienta: un repositorio centralizado y colaborativo donde se documenta el conocimiento técnico de una organización. Allí se describe la arquitectura del sistema, las reglas de negocio, las decisiones de diseño, las guías de estilo de código y el contexto que el código por sí solo no muestra. Ejemplos típicos son GitHub Wiki, Azure DevOps Wiki o espacios de Confluence dedicados a documentación de software.
Ventajas
- Captura el contexto humano y de negocio: explica no solo qué hace el código, sino por qué se tomaron ciertas decisiones.
- Permite organizar la información de forma jerárquica (carpetas, secciones, páginas), útil para el onboarding de nuevos desarrolladores.
- Se integra con el flujo de trabajo de desarrollo (DevOps): muchas plataformas permiten vincular commits, issues o pull requests a la documentación.
- Facilita la edición colaborativa: cualquiera en el equipo puede corregir, ampliar o mejorar la documentación.
- Es un punto de referencia explícito donde se pueden documentar políticas, estándares internos y mejores prácticas.
Desventajas
- Tiende a quedar obsoleto rápidamente si el código cambia y nadie actualiza el Wiki, generando desconfianza en la documentación.
- Requiere esfuerzo manual constante; muchos desarrolladores evitan documentar porque lo consideran tedioso.
- La búsqueda suele ser limitada a palabras clave, lo que dificulta encontrar información cuando el término usado en el artículo es distinto al que busca el usuario.
- Es frecuente que lo que dice el Wiki no coincida con lo que realmente hace el sistema en producción, lo que puede llevar a errores si se confía ciegamente en él.
- No se actualiza automáticamente a partir del código, bases de datos o logs; depende totalmente de la disciplina del equipo.
Funciona mejor para
- Documentar arquitectura, módulos clave y decisiones técnicas importantes que necesitan contexto humano.
- Crear guías de estilo, convenciones de nombres y reglas de contribución para equipos de desarrollo.
- Definir rutas de lectura para onboarding de nuevas personas en el equipo.
- Registrar historiales de decisiones (ADR: Architecture Decision Records) y su razonamiento.
- Complementar soluciones más dinámicas basadas en IA (como RAG) con explicaciones de alto nivel escritas por humanos.