Skip to content

Entradas y Secciones

Las entradas son bloques discretos de contenido que la IA lee al generar cada respuesta. Cada entrada especifica qué contiene, cuándo la ve la IA y dónde se coloca en el prompt.

Esquema de Entrada

json
{
  "id": "unique-kebab-case-id",
  "name": "Display Name",
  "content": "The text content the AI reads...",
  "role": "character",
  "apiRole": "system",
  "section": "system-presets",
  "position": 0,
  "enabled": true,
  "alwaysSend": true,
  "keywords": [],
  "conditions": [],
  "conditionLogic": "all",
  "depth": null,
  "matchWholeWords": false,
  "secondaryKeywords": [],
  "secondaryKeywordLogic": "AND_ANY",
  "preventRecursion": false,
  "excludeRecursion": false,
  "tags": [],
  "folderId": null
}

Secciones

Las entradas se categorizan en cuatro zonas de entrega:

system-presets — Siempre enviadas

Incluidas en cada llamada de IA. Úsalas para contenido esencial del mundo.

  • alwaysSend: true (automático)
  • Ordenadas por position (ascendente)
  • Colocadas en la parte superior del contexto de la IA

Se analizan en pares de mensajes user/assistant con un marcador [Example Chat]. Muestra a la IA cómo deberían sonar los personajes.

  • alwaysSend: true (automático)
  • Formato de contenido: separador <START> entre ejemplos, líneas alternando con nombres de personajes

chat-history — Activadas por palabra clave, inyectadas por profundidad

Solo incluidas cuando las palabras clave coinciden con mensajes recientes. Inyectadas a una profundidad específica dentro del historial de la conversación.

  • alwaysSend: false (automático)
  • depth: número de mensajes desde el final donde se inserta esta entrada (0 = justo antes del mensaje más reciente)
  • keywords: array de palabras disparadoras (cualquier coincidencia activa)

post-history — Énfasis final

Colocadas después de todos los mensajes de chat — el último contenido antes de que la IA genere. Recibe la mayor atención.

  • alwaysSend: true (automático)
  • Uso común: instrucciones de formato de salida, refuerzo de estilo, bypass de CoT

Roles de Entrada

RolPropósito
systemInstrucciones del narrador, reglas del juego, mecánicas del mundo
characterDescripciones y personalidades de personajes
personalityRasgos de personalidad del personaje (separado de la descripción)
scenarioAmbientación, situación, contexto de la escena
loreHistoria del mundo, facciones, conocimiento de fondo
plotProgresión de la historia, ganchos de misión, eventos
styleEstilo de escritura, tono, formato
exampleDiálogo de muestra (usar con la sección examples)
greetingPrimeros mensajes al iniciar la sesión (manejo especial)
customCualquier cosa que no encaje arriba

Roles de API

El campo apiRole controla con qué rol de mensaje LLM se envía la entrada:

apiRoleEnviado comoCuándo usar
system (predeterminado)Mensaje del sistemaLa mayoría de las entradas
userMensaje del usuarioPrompts de bypass de CoT, contexto de usuario falso
assistantMensaje del asistenteRespuestas de ejemplo, ajuste de tono

Coincidencia de palabras clave

Para entradas chat-history:

Palabras clave primarias

Array de cadenas. Cualquier coincidencia activa la entrada.

json
"keywords": ["tavern", "inn", "bar", "drink"]

Palabras clave secundarias

Filtro adicional con operadores lógicos:

LógicaSignificado
AND_ANYLa primaria coincide Y al menos una secundaria coincide
AND_ALLLa primaria coincide Y todas las secundarias coinciden
NOT_ANYLa primaria coincide Y ninguna de las secundarias coincide
NOT_ALLLa primaria coincide Y no todas las secundarias coinciden

Control de recursión

  • preventRecursion: true — El contenido de esta entrada no activará otras entradas
  • excludeRecursion: true — Esta entrada no puede ser activada por el contenido de otras entradas (solo por mensajes del jugador/IA)

Condiciones

Las entradas pueden tener condiciones basadas en estado que deben ser verdaderas para que la entrada se incluya:

json
"conditions": [
  {
    "variableId": "story-phase",
    "operator": "eq",
    "value": "act2"
  }
],
"conditionLogic": "all"

Operadores: eq, neq, gt, lt, gte, lte, contains

Presets oficiales

Yumina incluye 5 presets integrados opcionales que los creadores pueden habilitar:

PresetSecciónPosiciónPropósito
Fiction Modesystem-presets0Interactuar con todo el contenido de forma natural
Tasksystem-presets1Instrucción "You are the narrator"
Instructionssystem-presets2Mostrar en lugar de contar, terminar a mitad de escena
Stylesystem-presets3Los personajes tienen voces independientes
CoT Bypasspost-history0Jailbreak post-historial (rol user)

Orden de ensamblaje del prompt

El motor recopila las entradas y las ensambla en este orden:

  1. Entradas de System Presets (ordenadas por posición, ascendente)
  2. Bloque de persona activa (nombre del jugador, apariencia, historia de fondo)
  3. Bloque de formato estático (reglas de comportamiento, sintaxis de directivas, pistas de audio)
  4. Entradas de Example (analizadas en pares de diálogo)
  5. — punto de quiebre de caché —
  6. Entradas de bloque del sistema activadas (coincidencia por palabras clave)
  7. Marcador [Start a new Chat]
  8. Resumen de compactación de historia (mensajes antiguos comprimidos)
  9. Bloque de memoria de sesión
  10. Historial de chat con entradas inyectadas por profundidad
  11. Efectos de contexto pendiente (de las reglas del turno anterior)
  12. Bloque de formato dinámico (valores actuales de variables)
  13. Entradas de Post-history (ordenadas por posición)

Los elementos más cercanos al final reciben más atención de la IA.