--- type: ARQ asset_id: ARQ-MPX-KatIA-MultiKB-v01 version: v01 status: Draft owner: Victor Heredia sherpa_owner: Jay fecha_creacion: 2026-05-20 fecha_ultima_actualizacion: 2026-05-20 fecha_migracion_bmf: 2026-05-20 intellbank: IB-MPX-MasterPlaybooks subbank: PB-MPX-MasterPlaybooks proposito: ARQ · KatIA MultiKB · IB-MPX-MasterPlaybooks nota_migracion: Frontmatter BMF agregado en batch masivo 2026-05-20 · Workbench FASE 5C · proposito pendiente revisión manual --- # ARQ-MPX-KatIA-MultiKB — Arquitectura Multi-KB de KatIA **Archivo:** `ARQ-MPX-KatIA-MultiKB-v01.md` **Versión:** 1.0 **Fecha:** 16 de abril de 2026 **Estado:** ✅ Decisión tomada — lista para construcción **Owner:** Anahí Martínez — PM & Contenidos **Decisión apoyada por:** Victor Heredia (thread Plan Maestro, 2026-04-15) **Referencias:** `PLAN-MPX-KatIA-SherpaAnfitrion-v01.md`, `KB-MPX-KatIA-BaseConocimiento-v01.md`, `TP-MPX-KatIA-SherpaPrompt-v20.md` --- ## 0. TL;DR (para ejecutar sin leer todo) La arquitectura de KatIA es **Core + Channel Overlay**: - **Una sola KB base** (`KB-MPX-KatIA-BaseConocimiento-v01.md`) → es la verdad única de la plataforma MasterPlaybooks. Vive ahí todo lo que NO cambia entre canales: identidad de KatIA, catálogo MPBooks, modelo de membresías, FAQs generales, escalación genérica. - **Una KB por canal** (`KB--KatIA-CanalContexto-v01.md`) → aditiva, nunca sobreescribe. Vive ahí lo que ES del canal: audiencia, funcionalidades propias (foro, bolsa de trabajo, noticias), dinámicas, FAQs específicas, curaduría de MPBooks relevantes al canal. - **Sherpa decide con `${channel}`**: el frontend le dice a KatIA en qué canal está operando. KatIA responde usando KB base siempre + KB canal si `${channel}` está activo. - **Regla de oro ante conflicto:** la KB base gana. El canal extiende, no sobreescribe (excepto en campos explícitamente marcados como `override_allowed`, como un email de soporte específico del canal). **Por qué esta y no otra:** evita duplicación (todo lo de plataforma vive en un solo lugar), evita caos (cada canal tiene su archivo versionado), y permite que el Sherpa responda con contexto correcto sin reentrenamiento por canal. --- ## 1. Contexto de la Decisión ### 1.1 Qué gatilló esta decisión Victor planteó en el Plan Maestro (thread 2026-04-15) que KatIA debe ser adaptable por canal. Cada canal que adopte KatIA (empezando por **Tribus RRH**) trae contexto propio: - Funcionalidades distintas (foro, bolsa de trabajo, noticias, clasificados) - Dinámicas y reglas de comunidad propias - Audiencia específica (profesionales de RRHH en el caso de Tribus RRH) - Posible identidad visual/tono matizado Si KatIA responde solo con la KB genérica de MasterPlaybooks, queda ciega a lo que pasa *dentro* del canal donde está operando. ### 1.2 Restricción resuelta por Anahí (decisión del 16-abr-2026) **Tribus RRH comparte el modelo de membresías de MasterPlaybooks.** El canal **extiende** con funcionalidades propias (foro, bolsa, noticias, comunidad), pero **no sobreescribe** reglas de plataforma. Esto simplifica la arquitectura: no necesitamos un mecanismo complejo de override de reglas. Solo necesitamos un mecanismo de adición de contexto. ### 1.3 Opciones evaluadas | Opción | Descripción | Veredicto | |---|---|---| | A. KB única monolítica con secciones por canal | Una sola KB crece con bloques "[CANAL X]", "[CANAL Y]" | ❌ Se vuelve inmantenible. Riesgo alto de contaminación entre canales. | | B. Una KB totalmente distinta por canal (sin base compartida) | Cada canal tiene su propia KB completa, incluyendo identidad/membresías | ❌ Duplica información. Si cambia un precio, hay que actualizar N archivos. Alto riesgo de drift. | | **C. Core + Channel Overlay** ✅ | KB base + KB por canal, aditiva | ✅ **Elegida.** Sin duplicación, versionable, y KatIA resuelve con reglas claras. | | D. Retrieval puro (RAG multi-índice) | Sin KBs estructuradas, solo embeddings | ❌ Prematuro. La KB actual es textual y curada; no hay stack RAG activo todavía. No bloquea evolución futura a RAG. | --- ## 2. Arquitectura "Core + Channel Overlay" ### 2.1 Diagrama conceptual ``` ┌─────────────────────────────────────────────────────────────────┐ │ SHERPA PROMPT (TP-MPX-KatIA-v20) │ │ Identity Block · Operating Principles · Intent Classifier │ │ ─────────────────────────────────────────────────────────── │ │ Variables de sesión: │ │ ${user_type} ${membership_tier} ${channel} ← NUEVA │ └───────────┬─────────────────────────────────────┬───────────────┘ │ │ ▼ ▼ ┌───────────────────────────┐ ┌───────────────────────────┐ │ KB BASE — MasterPlaybooks│ │ KB CANAL (si ${channel}) │ │ KB-MPX-KatIA-...-v01.md │ │ KB--KatIA-...-v01 │ │ │ │ │ │ Siempre cargada. │ ADITIVA│ Se carga si el canal es │ │ Verdad única plataforma. │ ──────► │ != "none". │ │ │ │ Extiende, no sobreescribe│ │ • Identidad KatIA │ │ │ │ • Qué es MasterPlaybooks │ │ • Quién es el canal │ │ • Catálogo MPBooks │ │ • Audiencia │ │ • Membresías y precios │ │ • Funcionalidades canal │ │ • FAQs plataforma │ │ • Dinámicas y reglas │ │ • Escalación genérica │ │ • Noticias/eventos canal │ │ │ │ • FAQs canal │ │ │ │ • Curaduría MPBooks │ │ │ │ • Contacto canal (opc.) │ └───────────────────────────┘ └───────────────────────────┘ ``` ### 2.2 Dos reglas que definen todo 1. **La KB base es la verdad única de plataforma.** Identidad, membresías, precios, catálogo y voz de KatIA viven ahí y solo ahí. 2. **La KB canal es aditiva.** Añade capas de contexto sobre cosas que la KB base no sabe (porque no son de plataforma, son del canal). Nunca redefine lo que ya está en base. Si alguna vez tenemos que hacer una excepción (ej: Tribus RRH tiene un email de soporte propio distinto al de MasterPlaybooks), se marca explícitamente como `override_allowed` en el campo específico. Las excepciones son la excepción, no la regla. --- ## 3. Qué vive en cada KB (división de responsabilidades) ### 3.1 KB Base — `KB-MPX-KatIA-BaseConocimiento-v01.md` | Bloque | Contenido | Cambia por canal? | |---|---|---| | 1. Quién es KatIA | Identidad, nombre, personalidad, tono, voz, límites | ❌ Nunca | | 2. Qué es MasterPlaybooks | Propuesta, AI Sherpa, ecosistema, equipo | ❌ Nunca | | 3. Catálogo de contenidos | Los 31 MPBooks publicados, categorías, guía de recomendación | ❌ Nunca (la curaduría por canal vive en KB canal) | | 4. Membresías y precios | Gratis / Básica / Básica Pro, créditos, compra individual | ❌ Nunca (en esta decisión) | | 5. Onboarding | Flujo conversacional de bienvenida | ❌ Base. El canal puede añadir pasos. | | 6. FAQs plataforma | FAQs generales sobre MPX, AI Sherpa, cuenta, técnico | ❌ Base. El canal añade FAQs propias. | | 7. Escalación | Protocolo genérico, `soporte@masterplaybooks.com` | ⚠️ Canal puede añadir email/canal específico (override explícito) | ### 3.2 KB Canal — `KB--KatIA-CanalContexto-v01.md` Cada canal (Tribus RRH, futuros) tiene su propio archivo. Estructura común: | Bloque | Contenido | Obligatorio? | |---|---|---| | 0. Relación con KB base | Declara que extiende KB-MPX, no sobreescribe. Lista overrides explícitos si los hay. | ✅ Sí | | 1. Quién es el canal | Qué es Tribus RRH, misión, relación con MasterPlaybooks | ✅ Sí | | 2. Audiencia | Perfil de los miembros, lenguaje, vocabulario específico | ✅ Sí | | 3. Funcionalidades del canal | Foro, bolsa de trabajo, noticias, clasificados, eventos, etc. | ✅ Sí | | 4. Dinámicas y reglas | Códigos de conducta, políticas de publicación, moderación, horarios | ✅ Sí | | 5. Noticias y eventos | Qué está pasando ahora en el canal (se actualiza con frecuencia) | ⚠️ Opcional | | 6. FAQs específicas | Preguntas que solo aplican al canal ("¿cómo publico en el foro?") | ✅ Sí | | 7. Curaduría MPBooks | Subset del catálogo MPX relevante al canal, con orden sugerido | ✅ Sí | | 8. Contactos del canal | Escalación específica si existe (email, moderador, etc.) | ⚠️ Solo si aplica | | 9. Overrides explícitos | Cualquier campo que sobreescriba algo de KB base, con justificación | ⚠️ Solo si aplica | ### 3.3 Qué NO va en KB canal (para evitar duplicación) - La identidad de KatIA (voz, tono, personalidad) → vive en KB base, siempre. - La descripción de qué es MasterPlaybooks → vive en KB base. - Los precios y reglas de membresías → vive en KB base. - Las FAQs genéricas de plataforma → vive en KB base. - El catálogo completo de MPBooks → vive en KB base. La KB canal solo lista cuáles son relevantes. > **Principio:** si la información es verdadera sin importar el canal, vive en KB base. Si la información solo tiene sentido dentro de un canal específico, vive en KB canal. --- ## 4. Cómo decide el Sherpa qué información usar ### 4.1 Input de sesión El frontend debe enviar al Sherpa, en cada conversación, las siguientes variables: ``` ${user_type} → "nuevo" | "existente" ${membership_tier} → "gratis" | "basica" | "basica_pro" | "desconocido" ${channel} → "none" | "tribus_rrh" | "" ← NUEVA ``` Cuando `${channel} = "none"`, KatIA opera solo con KB base (caso directo en masterplaybooks.com). Cuando `${channel} = "tribus_rrh"`, KatIA carga KB base + KB Tribus RRH. ### 4.2 Algoritmo de resolución por respuesta ``` 1. INTENT CLASSIFIER clasifica la pregunta del usuario. 2. CONTEXT ROUTER decide de dónde viene la información: a) Tópico "platform" (membresías, MPBooks, AI Sherpa, qué es MPX, onboarding general) → Responde desde KB BASE. → Si hay ${channel} activo, puede matizar el tono a la audiencia del canal. b) Tópico "channel" (foro, bolsa de trabajo, noticias del canal, políticas del canal) → Requiere ${channel} != "none". → Responde desde KB CANAL. → Si ${channel} = "none" y el usuario pregunta algo de canal → KatIA dice: "Eso depende del canal donde estés. ¿Desde dónde me estás escribiendo?" o escala. c) Tópico "hybrid" (ej: "¿puedo compartir un MPBook en el foro de Tribus?") → Combina: toma el catálogo/reglas de KB BASE + la dinámica del foro de KB CANAL. d) Tópico desconocido → escala (email de KB canal si existe, si no email de KB base). 3. IDENTITY BLOCK de KatIA siempre se aplica al estilo de la respuesta, sin importar el origen. ``` ### 4.3 Regla de conflicto (raro pero posible) Si una pieza de información aparece en ambas KBs con valores distintos: 1. Si el campo en KB canal está marcado `override_allowed: true` → gana el canal. 2. Si no está marcado → gana KB base. KatIA debería incluso señalar: "La regla general de MasterPlaybooks dice X. En este canal no hay una excepción documentada, así que aplica X." 3. Si KatIA no puede decidir con confianza → escala. ### 4.4 Ejemplo práctico (Tribus RRH) | Pregunta del usuario | De dónde saca la respuesta | Cómo la entrega | |---|---|---| | "¿Cuánto cuesta Básica Pro?" | KB base (Bloque 4) | Directo, precio fijo: $19.99 USD/mes | | "¿Cómo publico una vacante en la bolsa de trabajo?" | KB canal (Bloque 3) | Pasos específicos del canal Tribus RRH | | "¿Qué libro me recomiendas para mi equipo de RRHH?" | KB canal (Bloque 7 curaduría) → apunta a MPBooks en KB base | Recomienda 1-2 títulos de la curaduría Tribus RRH con su ficha de KB base | | "¿Qué es MasterPlaybooks?" | KB base (Bloque 2) | Respuesta genérica + opcional: "desde Tribus RRH tienes acceso a todo el catálogo" | | "¿Hay algún evento próximo en el foro?" | KB canal (Bloque 5) | Si está en KB canal, responde; si no, dice "por ahora no tengo eventos registrados" | | "Tengo un cargo duplicado en mi tarjeta" | KB base (Bloque 7) → escala | Escala al email de soporte (canal si aplica, base por default) | --- ## 5. Convención de nombres y versionado ### 5.1 Nombres de archivo - KB base: `KB-MPX-KatIA-BaseConocimiento-v0X.md` (ya existe v01) - KB canal: `KB--KatIA-CanalContexto-v0X.md` - Tribus RRH → `KB-TriRH-KatIA-CanalContexto-v01.md` - Futuros canales: usar código corto consistente (ej. `MiShp` para Mi Sherpa IA as a Service) ### 5.2 Versionado independiente - KB base y KB canal se versionan por separado. Cambiar el precio de Básica Pro bumpea KB-MPX; agregar una nueva funcionalidad al foro de Tribus bumpea KB-TriRH. - Cada KB canal declara en su Bloque 0 contra qué versión de KB base fue escrita. Esto permite detectar drift cuando KB base evoluciona. ### 5.3 Regla operativa - Al crear un nuevo canal, copiar el **template** del Bloque 2.2 (estructura obligatoria) y llenarlo. - No empezar un canal desde cero: siempre partir de la plantilla para mantener consistencia y retrievabilidad. --- ## 6. Impacto en el Sherpa Prompt (TP-MPX-KatIA-SherpaPrompt-v20) Cambios necesarios (no urgentes para construir Tribus RRH, pero sí antes de activar el canal en producción): 1. **Añadir `${channel}` al bloque CONTEXTO DE SESIÓN** (sección Bloque 2 del prompt, donde ya viven `${user_type}` y `${membership_tier}`). 2. **Añadir sección "CONTEXT ROUTER"** después del INTENT CLASSIFIER: breve instrucción de cómo decidir entre KB base y KB canal según el tópico detectado (usar el algoritmo de la sección 4.2 de este ADR). 3. **Actualizar el bloque DATOS DE CONOCIMIENTO** para declarar que KatIA puede operar sobre "KB base + opcionalmente KB de canal activa". Estos cambios son editables, no requieren rediseño del prompt. Se proponen en un siguiente ticket una vez aprobado este ADR. --- ## 7. Qué NO resuelve este ADR (para evitar scope creep) - **Mecanismo técnico de carga de KBs** (si es file-based, vector DB, o RAG): eso lo define el equipo técnico (Alex/Juan Carlos) cuando construyan la integración. Este ADR solo define *qué* se carga y *cómo* se decide. - **Memoria entre sesiones** (si KatIA recuerda conversaciones previas): es un tema separado — vive a nivel Sherpa OS, no en la KB. - **Moderación del foro / bolsa de trabajo**: son funcionalidades del canal. KatIA solo debe *saber que existen*, no moderarlas. - **Contenido real de la KB Tribus RRH**: este ADR define la estructura; el llenado lo hace Anahí a partir del esqueleto `KB-TriRH-KatIA-CanalContexto-v01.md`. --- ## 8. Checklist de validación antes de avanzar - [x] KB base existe y está estable (v1.2, 13-abr-2026) - [x] Decisión de arquitectura tomada (este documento) - [x] Esqueleto KB Tribus RRH creado (`KB-TriRH-KatIA-CanalContexto-v01.md`) - [ ] Anahí valida que la división de responsabilidades (Sección 3) coincide con su visión operativa - [ ] Anahí llena el esqueleto de Tribus RRH con el contenido real del canal - [ ] Victor confirma (o Anahí ratifica) el modelo Core + Overlay para futuros canales - [ ] Equipo técnico confirma que puede inyectar `${channel}` desde el frontend - [ ] Sherpa Prompt v2.1 incorpora `${channel}` y el CONTEXT ROUTER --- ## 9. Decisión **Se adopta la arquitectura "Core + Channel Overlay"** para KatIA. - Una KB base única por plataforma (MasterPlaybooks). - Una KB aditiva por cada canal (empezando por Tribus RRH). - Resolución por variable `${channel}` en el Sherpa Prompt. - Regla de conflicto: KB base gana, salvo campos marcados `override_allowed`. **Esta decisión resuelve el NEXT[@Anahí] del Plan Maestro (thread 2026-04-15).** --- *ARQ-MPX-KatIA-MultiKB-v01.md · MasterPlaybooks / EmpowerLabs* *16 de abril de 2026 — Decisión de arquitectura para habilitar canales (Tribus RRH y futuros)*