Volver a la wiki

Modo IT Tutor — Help Widget de la Biblioteca

Resumen

El modo IT Tutor es una nueva capacidad del Help Widget de CreaRack Pro que permite al usuario cambiar el comportamiento del asistente bib_ask de un modo help (asistente de la app, con grounding en la wiki) a un modo tutor (ingeniero IT senior & educador, sin grounding).

Activado mediante un toggle en el Help Widget del frontend, el modo Tutor responde preguntas sobre IT/Networking/Datacenter ops en general — Cisco, Juniper, Linux, IEEE/RFC, SNMP, hardware vendors — sin recuperar chunks de la wiki. El resultado es más rápido (zero embeddings) y con cobertura técnica más amplia que el modo help.


Comportamiento por modo

CaracterísticaModo help (default)Modo tutor
GroundingChunks recuperados de la wiki (vector search)Ninguno — conocimiento general del modelo
Rol del modeloAsistente in-app de CreaRack ProSenior IT engineer & educator
DominioCreaRack Pro features y operativaNetworking, Linux, Datacenter, IEEE/RFC
ArchivadoSí (utility hit registrado)No (archive.attempted: false, reason: tutor-mode)
sources[]Chunks con relevance scoreSiempre vacío ([])
VelocidadEmbedding + vector search + síntesisSolo síntesis (más rápido)
Longitud máx.~200 palabras250 palabras (más margen pedagógico)

Arquitectura del cambio

archivo-core.ts — Refactor de prompts y firma de synthesizeAnswer

El commit extrae la lógica de construcción de prompts en dos funciones privadas, y extiende la firma pública:

// ANTES
export async function synthesizeAnswer(
  apiKey: string,
  question: string,
  chunks: ChunkMatch[],
): Promise<AskResult>

// DESPUÉS
export async function synthesizeAnswer(
  apiKey: string,
  question: string,
  chunks: ChunkMatch[],
  mode: 'help' | 'tutor' = 'help',  // nuevo parámetro, default retrocompatible
): Promise<AskResult>

buildHelpPrompts(question, chunks, lang) — modo por defecto. Usa los chunks recuperados como contexto de grounding. System prompt en inglés neutro + user prompt en el idioma detectado (patrón anti-sesgo ES documentado en s53).

buildTutorPrompts(question, lang) — modo tutor. Sin chunks. System prompt con rol de senior IT engineer, dominio explícito (Cisco/Juniper/Linux/RFC), instrucciones de redirect si el usuario pregunta sobre la app, y cap de 250 palabras. Advertencia explícita si el modelo no está seguro de un comando ("Consulta la doc del fabricante para la sintaxis exacta").

archivo.ts — Early-return para modo tutor

El handler handleAsk lee args.mode:

const mode = (args.mode as string) === 'tutor' ? 'tutor' : 'help';
if (mode === 'tutor') {
  // Skip: embedTexts, searchChunks, utility hit, archivado
  const result = await synthesizeAnswer(env.GOOGLE_AI_API_KEY, question, [], 'tutor');
  return JSON.stringify({
    answer: result.answer,
    sources: [],
    mode: 'tutor',
    archive: { attempted: false, reason: 'tutor-mode' },
    ...
  });
}

Notable: el binding env.AI (Workers AI) ya no es necesario en tutor mode — el check se desplazó post-early-return, eliminando también el error falso cuando AI no está configurado.


Dominio cubierto por IT Tutor

El system prompt delimita explícitamente el dominio para mantener respuestas útiles y evitar scope creep:


Reglas de redirección

Si el usuario pregunta sobre features de CreaRack Pro en modo Tutor, el modelo redirige:

“That question is about the app itself. Switch off IT Tutor mode at the top of the Help panel to get help with CreaRack Pro features.”

Esto preserva la separación de responsabilidades entre modos.


Frontend (pendiente)

El commit describe que el toggle UI, persistencia localStorage y el payload mode en el frontend vienen en un commit aparte sobre CreaRack-Pro. Esta página se actualizará cuando ese commit se mergee.


Consideraciones operativas


Véase también

Subir