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
{
"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
examples — Muestras de diálogo
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
| Rol | Propósito |
|---|---|
system | Instrucciones del narrador, reglas del juego, mecánicas del mundo |
character | Descripciones y personalidades de personajes |
personality | Rasgos de personalidad del personaje (separado de la descripción) |
scenario | Ambientación, situación, contexto de la escena |
lore | Historia del mundo, facciones, conocimiento de fondo |
plot | Progresión de la historia, ganchos de misión, eventos |
style | Estilo de escritura, tono, formato |
example | Diálogo de muestra (usar con la sección examples) |
greeting | Primeros mensajes al iniciar la sesión (manejo especial) |
custom | Cualquier cosa que no encaje arriba |
Roles de API
El campo apiRole controla con qué rol de mensaje LLM se envía la entrada:
| apiRole | Enviado como | Cuándo usar |
|---|---|---|
system (predeterminado) | Mensaje del sistema | La mayoría de las entradas |
user | Mensaje del usuario | Prompts de bypass de CoT, contexto de usuario falso |
assistant | Mensaje del asistente | Respuestas de ejemplo, ajuste de tono |
Coincidencia de palabras clave
Para entradas chat-history:
Palabras clave primarias
Array de cadenas. Cualquier coincidencia activa la entrada.
"keywords": ["tavern", "inn", "bar", "drink"]Palabras clave secundarias
Filtro adicional con operadores lógicos:
| Lógica | Significado |
|---|---|
AND_ANY | La primaria coincide Y al menos una secundaria coincide |
AND_ALL | La primaria coincide Y todas las secundarias coinciden |
NOT_ANY | La primaria coincide Y ninguna de las secundarias coincide |
NOT_ALL | La primaria coincide Y no todas las secundarias coinciden |
Control de recursión
preventRecursion: true— El contenido de esta entrada no activará otras entradasexcludeRecursion: 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:
"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:
| Preset | Sección | Posición | Propósito |
|---|---|---|---|
| Fiction Mode | system-presets | 0 | Interactuar con todo el contenido de forma natural |
| Task | system-presets | 1 | Instrucción "You are the narrator" |
| Instructions | system-presets | 2 | Mostrar en lugar de contar, terminar a mitad de escena |
| Style | system-presets | 3 | Los personajes tienen voces independientes |
| CoT Bypass | post-history | 0 | Jailbreak post-historial (rol user) |
Orden de ensamblaje del prompt
El motor recopila las entradas y las ensambla en este orden:
- Entradas de System Presets (ordenadas por posición, ascendente)
- Bloque de persona activa (nombre del jugador, apariencia, historia de fondo)
- Bloque de formato estático (reglas de comportamiento, sintaxis de directivas, pistas de audio)
- Entradas de Example (analizadas en pares de diálogo)
- — punto de quiebre de caché —
- Entradas de bloque del sistema activadas (coincidencia por palabras clave)
- Marcador
[Start a new Chat] - Resumen de compactación de historia (mensajes antiguos comprimidos)
- Bloque de memoria de sesión
- Historial de chat con entradas inyectadas por profundidad
- Efectos de contexto pendiente (de las reglas del turno anterior)
- Bloque de formato dinámico (valores actuales de variables)
- Entradas de Post-history (ordenadas por posición)
Los elementos más cercanos al final reciben más atención de la IA.
