¡MEMORIA DE CHAT!

Traducido del inglés

CHAT MEMORY!

88

123

¡ciao, bellas!

como dije arriba, esta es una guía para principiantes sobre cómo usar la Chat Memory aquí en j.ai, ya seas usuario de proxy o de JLLM (quizás ESPECIALMENTE si eres usuario de JLLM), pero sobre todo, si eres fan del slow burn como yo O si quieres usar algunos de mis bots en los que indico explícitamente que usar la chat memory es esencial.

si estás aquí porque quieres entender cómo usar mis bots con intros que se supone que deben jugarse en orden, no te preocupes. ¡lee la guía y hablo de eso al final!

entonces, primero, unos cuantos avisos:

1no soy LA AUTORIDAD en tecnología, LLMs ni nada por el estilo. actualmente estoy estudiando una carrera de programación y cosas como el scripting y los LLMs son temas que me interesan, así que investigo mucho, pero eso no significa que no vaya a cometer errores.

2 si ya le estás sacando el máximo provecho a tu chat memory y solo estás aquí para ver otro punto de vista, ¡bienvenido! comparte tus consejos en los comentarios también. y si lo que tú haces es completamente distinto a lo que hago yo, ¡está bien! no hay UNA SOLA FORMA de trabajar con LLMs/IA. aunque hay formas más y menos efectivas.

3 y, como siempre: cualquiera de mis bots está pensado para el roleplay para adultos y la narración creativa. la IA no es terapia ni un sustituto de las relaciones reales. todas las respuestas son generadas por modelos de lenguaje no conscientes y no representan opiniones, consejos ni sentimientos reales. los personajes retratados son ficticios, y cualquier cosa dicha no refleja las opiniones del creador ni de la plataforma de alojamiento. usa la IA de forma responsable.

Ahora, la prueba de que no hablo por hablar. He tenido múltiples hilos de RP de slow burn con un montón de mensajes.

REGLA #1: LA INFORMACIÓN DADA ES INFORMACIÓN CONOCIDA

O sea que, incluso si le dices a la IA "ESTO ES UN SECRETO Y SOLO DEBERÍA SABERLO {{CHAR}} SI SE LE DICE EXPLÍCITAMENTE", algunos modelos, sobre todo los modelos no pensantes (estoy mirando a la mayoría de los de DeepSeek ahora mismo), solo seguirán esta instrucción la mitad de las veces.

Así que solo deberías decirle a la IA lo que quieres que sepa. Esto aplica a TODO. Ejemplo: si tienes toda una historia de trasfondo escrita para tu Sona en su Perfil, yo personalmente la quitaría y la guardaría en otro lado (como un archivo txt o algo), a menos que se suponga que {{Char}} conoce la historia de tu Sona desde el principio.

Así que si tienes secretos e historia de trasfondo en la info de tu Sona, quizás por eso a veces los personajes que no deberían conocerte sueltan info como si la conocieran.

Esto es lo mismo para la Chat Memory, pero entraremos en eso un poco más adelante. ;)

REGLA #2: ¡CUIDADO CON TUS TOKENS! ¡EL CONTEXTO IMPORTA!

Entonces. Los tokens. Ya sé, ¿qué diablos son estas cosas, no?

Bueno, te lo digo ahora mismo: son importantes, así que échales un ojo. Si eres usuario de Proxy, probablemente ya sepas algo sobre ellos, pero si no lo eres o nunca te molestaste en prestar atención a qué son los tokens o qué significa el Contexto para los bots, presta atención.

Recurso: Tokenizer. // Copia & pega tus cosas aquí para ver un conteo aproximado de tokens de algunas de las cosas para las que JAI no nos da los números (como Persona, Chat Memory y Custom/Advanced Prompt)

Para los bots, el "Contexto" es básicamente hasta dónde llegarán sus memorias. Si no eres usuario de proxy y tienes la experiencia básica y gratuita de JLLM, tu Contexto es de 9k tokens. Usaremos este ejemplo para la siguiente explicación, porque si eres usuario de proxy, más o menos puedes configurar tu propia ventana de Contexto hasta cierto punto y esto se vuelve menos problemático.

Además, para este ejemplo, usaré mi segundo bot más popular, que es mi experiencia de Soldier Boy fiel al canon (¡VERGÜENZA SOBRE TODOS USTEDES!)

Aquí están las estadísticas:

Tokens Permanentes: 1488.

Eso significa que de los 9k tokens que tu bot puede recordar, 1488 están ocupados por defecto. Son la Personalidad y el Escenario. El Mensaje Inicial no va aquí, pero hablaré de él en un momento.

Entonces, ahora mismo, te quedan unos 7512 tokens. Es una buena cantidad, ¿verdad?

Excepto que... la Personalidad y el Escenario no son los únicos tokens permanentes a considerar. También tienes tu Persona, tu Custom/Advanced Prompt y tu Chat Memory.

Supongamos que, inicialmente, tu Chat Memory estará en 0, como si estuvieras usando un bot por primera vez.

OPTIMIZANDO TU PERSONA

También usaré mi Sona principal para este ejemplo. El perfil entero de mi Sona es, más o menos, un total de 250 tokens.

¿Recuerdas la regla número uno? La información dada es información conocida. Los modelos más listos sabrán por el contexto si el bot debería saber cosas sobre tu Sona o no, pero por lo general es mejor no llenar el perfil de tu Sona con una historia de trasfondo enorme porque probablemente NO la usen todos los bots y solo está consumiendo tokens.

Vale, entonces, a primera vista esto puede parecer DEMASIADO CORTO, pero te prometo que es justo lo suficiente. La info de tu Sona solo debería ser las cosas que un Bot que NUNCA HA CONOCIDO A TU SONA ANTES puede detectar a primera vista/interacción.

Entonces, un Bot que no tiene ni idea de quién es tu Sona podría ver su altura, su corte de pelo, el color de su piel, quizás incluso su etnia (que puedes añadir ahí). Podría oír cómo suena tu voz en una primera interacción. Y si hay algo más que creas que debería ir aquí, considerando estas "reglas", añádelo.

Para Sonas que son Supes (The Boys), por ejemplo, puedes añadir una categoría al final como ## RASGOS DE SUPE y luego describir tus Poderes (a menos que deban ser un secreto o solo se descubran después de que los reveles) y puedes describir tu "Uniforme de Supe", si corresponde.

Pero Cara, ¿y los Bots que tienen relaciones establecidas como hermanos, parejas casadas o amigos de la infancia? ¡Se supone que conocen la historia de trasfondo de mi Sona!

Cierto, ¡y es entonces cuando usas la Chat Memory! ¡No te preocupes, llegaremos a eso!

DOMINA EL CUSTOM PROMPT

No voy a dedicarle demasiado tiempo a esto porque ya hablé de ello en mi Tumblr. Si quieres una plantilla para tu Custom Prompt, hay MONTONES de creadores por ahí compartiendo las suyas, pero aquí está el trocito de texto que añado a todos mis bots.

▫️Un buen prompt llega muy lejos y hay varios hilos en reddit y sitios web con gente que te da plantillas para buenos system prompts, uses Proxy o no. El Discord oficial de JanitorAI tiene un canal SOLO para prompts, ¡échale un vistazo!

Prompt para JLLM. (Aproximadamente 600 tokens)
Prompt para Proxy. (Aproximadamente 950 tokens)

Algunas personas tienen Prompts mucho más largos, otras tienen Prompts muy pequeños y compactos. Se trata de descubrir qué funciona para ti y para tu modelo preferido (o el querido viejo JLLM).

¿CÓMO VA LA CUENTA HASTA AHORA?

Usando mi Bot, mi Sona y mi Prompt de JLLM como ejemplos, estamos en:

[Bot] - 1488 tokens
[Sona] - 250 tokens
[Custom Prompt] - 600 tokens
[Chat Memory] - 0 tokens

Total de Tokens Permanentes: 2338 tokens
Tokens Restantes: 6662 tokens

Bueno, ¡sigue siendo un buen número! ¡Podemos trabajar con eso! ¿Qué va a consumir estos tokens? Tu chat.

Entonces, de inmediato, puedes restarle a esto el Mensaje Inicial, que para mi bot es de 521 tokens. Todavía te quedan alrededor de ~6000 tokens, que es un buen número. Esto significa que tienes 6000 tokens de "memoria disponible" en tu chat. Si eres de los que parlotean y disfrutan escribiendo mensajes LARGOS de varios párrafos como yo, eso dura alrededor de 15 mensajes (en total, contando los del bot y los tuyos). Si eres más de "dos párrafos como máximo", sin duda puede durar más.

Independientemente, en algún momento, parlotearás lo suficiente como para necesitar usar la Chat Memory. Y así es como uso la mía.

REGLA #3:¡ENTIENDE TU CHAT MEMORY!

También tengo una plantilla de Chat Memory disponible y enlazada en cada uno de mis bots. La pegaré aquí abajo y explicaré cómo usar cada sección.

Primera cosa a entender: El formato/Markdown (los encabezados ## y los puntos en todas partes) son a propósito. Es un formato fácil de entender para los LLMs/IA.

La información en tu Chat Memory debe ser directa y al grano. Definitivamente este NO es el lugar para usar prosa púrpura (ni ningún tipo de prosa). Esto tiene que ser casi clínico. Aquí está la plantilla vacía para que ustedes puedan copiar/pegar fácilmente:

## Escenario Actual:
-

## Recuerdos Pasados:
-

## Info Importante de {{User}}:
-

## Info Importante de {{Char}}:
-

## Relación de {{Char}} con {{User}}:
-

## Escenario Actual:
-

## Dinámica actual de {{Char}} con {{User}}:
-


Empecemos con "Escenario Actual". Esto es opcional. Yo lo uso porque soy usuario/creador de bots de canon/fandom, así que a veces solo quiero asegurarme de que el bot se mantenga fiel a una trama, pero no es necesario.

Abajo hay un ejemplo de cómo usaría esto:

## Escenario Actual:
- Temporada 4.
- Año: 2022.

Si, digamos, estás escribiendo con un bot de Homelander que tenía un escenario inicial en la Temporada 2, y avanzaste con la trama hasta llegar a la Temporada 3, por ejemplo, eventualmente deberías actualizar esto en tu Chat Memory. No estoy seguro de cómo maneja JLLM este tipo de información, pero sí ayuda a los proxies (especialmente a los modelos nuevos).


Ahora, entendamos la sección "Recuerdos Pasados" --- ¡LA PARTE MÁS IMPORTANTE de tu Chat Memory! Aquí es donde resumirás tus escenas. Cualquier cosa importante que haya pasado entre tu Sona y el Char debería ir aquí, pero de la forma más concisa posible.

Aquí hay un ejemplo:

## Recuerdos Pasados:
- Matt y Nia salieron desde los 16. A los 18, Matt se alistó para impresionar a su padre, prometiendo volver. Mantuvieron la distancia mediante cartas hasta que Matt dejó de leer/responder.
- Condiciones de Edward: Nia no podía decírselo a Matt hasta que se confirmara la paternidad; Edward exigió acceso si era su nieto. Nia aceptó.
- Matt admitió la culpa por no leer las cartas, insistió en que habría vuelto si lo hubiera sabido. Nia le permitió 5 minutos con su hijo, que creía que su padre murió en la guerra. Matt siguió la mentira.
- Nia cortó la visita, echó a Matt. Dijo que podía ver a su hijo en la casa de su padre, 3 veces por semana según su acuerdo con Edward.

Lo que ves arriba son unos 100 mensajes resumidos en cuatro puntos. Porque al final, el Bot (Matt en este ejemplo) solo necesita recordar que fue a la guerra, dejó de responder las cartas, volvió a un hijo que no sabía que tenía, lo echaron, etc. Los sentimientos exactos que ocurrieron en el momento no tienen que incluirse porque la IA rellenará los espacios en blanco de todos modos.

Esta parte de la Chat Memory debería actualizarse a menudo con resúmenes de tus escenas con el bot en orden cronológico, y en pasado. No confundas al bot. Si son recuerdos PASADOS, usa el tiempo PASADO.


La parte de "{{User}} Info Importante" es donde añadirías cualquier cosa relacionada con tu Sona que este bot ya debería saber, ya sea porque tu Sona SE LO DIJO durante el chat, porque se reveló, o porque es información conocida.

Ejemplo:

## Info Importante de {{User}}:
- Edad: 26 años.
- Hija: Su hijo con Matt. Layla, 6 años. Pelo rubio, ojos verdes, pecas suaves en la nariz y las mejillas, piel clara.
- Vive en Manhattan, Lower East Side.

Normalmente pongo la edad de mi Sona en esta área. ¿Por qué no en el perfil de la Persona? Porque así puedo reutilizar la misma Persona para diferentes escenarios en los que querría usar esa Persona, pero con una edad diferente. ;) Salva el mundo, Recicla tus Sonas.

Aquí también es donde iría la "Historia de trasfondo" de tu Sona si es importante que el Char la conozca, pero asegúrate de añadirla aquí de forma eficiente en tokens. Nada de florituras en esta sección. ¡Solo información!


La "{{Char}} Info Importante" solo debería estar aquí si TIENES algo que añadir. Como su edad o cualquier cosa relevante para el avance de tu trama. Digamos que a lo largo de 50 mensajes, el Char perdió su pierna. Añadirías algo como:

## Info Importante de {{Char}}:
- Perdió su pierna después de la Batalla de Algo-o-El-Otro.


"{{Char}} Relación con {{User}}" es el ESTADO de tu relación ACTUAL con el bot. Entonces, si ustedes empezaron como "Rivales", debería decir "Rivales de toda la vida", por ejemplo. Pero, si a lo largo de 50 mensajes, se hicieron amigos, ELIMINA lo de "Rivales" y reemplázalo con "Amigos".

¿Por qué no puedo solo añadir "Amigos" debajo de "Rivales"?

Porque confundirá al bot. Si algo pasó que cambió la relación entre estos personajes, debería resumirse y añadirse a "Recuerdos Pasados". El bot recordará a partir de eso que ustedes no fueron SIEMPRE amigos, pero esta parte debería decir lo que sois AHORA.

Ejemplos:

## Relación de {{Char}} con {{User}}:
- Relación romántica exclusiva. Actualmente viviendo juntos.

O

## Relación de {{Char}} con {{User}}:
- Desconocidos. Se acaban de conocer recientemente.

O

## Relación de {{Char}} con {{User}}:
- Rivales desde que eran niños.


"Escenario Actual" es donde describirás la escena de lo que está pasando actualmente.

Ejemplo:

## Escenario Actual:
- Edificio de apartamentos de Matt, en su penthouse. Mañana. Matt y {{User}} están en la cama, hablando.


"Dinámica actual de {{Char}} con {{User}}" es donde detallarás (sin exagerar) los sentimientos, dinámicas, etc. Cómo se siente el Char por el Usuario Y cómo está actuando actualmente el Usuario hacia el Char también.

Así es como MARCAS EL RITMO para el Slow Burn, por ejemplo. Aquí es donde le dices al bot que NO, no está enamorado. De hecho, desconfía del Usuario, aún no lo conoce, todavía lo está conociendo, etc. Cuando esto empiece a cambiar en el chat, mediante tu escritura, vas a la Chat Memory y lo cambias para reflejarlo.

El siguiente ejemplo es de un bot con una relación ya avanzada.

## Dinámica actual de {{Char}} con {{User}}:
- Matt es rudo, protector, terco, claramente le importa la seguridad de Nia y está encariñado con ella
- Hay una clara atracción entre ellos y respeto mutuo
- La relación se está reconociendo cada vez más abiertamente
- Ambos muestran cariño el uno por el otro a su manera


Así es como se vería cuando lo completas todo (Aproximadamente 360 tokens):

## Escenario Actual:
- Temporada 4.
- Año: 2022.

## Recuerdos Pasados:
- Matt y Nia salieron desde los 16. A los 18, Matt se alistó para impresionar a su padre, prometiendo volver. Mantuvieron la distancia mediante cartas hasta que Matt dejó de leer/responder.
- Condiciones de Edward: Nia no podía decírselo a Matt hasta que se confirmara la paternidad; Edward exigió acceso si era su nieto. Nia aceptó.
- Matt admitió la culpa por no leer las cartas, insistió en que habría vuelto si lo hubiera sabido. Nia le permitió 5 minutos con su hijo, que creía que su padre murió en la guerra. Matt siguió la mentira.
- Nia cortó la visita, echó a Matt. Dijo que podía ver a su hijo en la casa de su padre, 3 veces por semana según su acuerdo con Edward.

## Info Importante de {{User}}:
- Edad: 26 años.
- Hija: Su hijo con Matt. Layla, 6 años. Pelo rubio, ojos verdes, pecas suaves en la nariz y las mejillas, piel clara.
- Vive en Manhattan, Lower East Side.

## Info Importante de {{Char}}:
- Perdió su pierna después de la Batalla de Algo-o-El-Otro.

## Relación de {{Char}} con {{User}}:
- Relación romántica exclusiva. Actualmente viviendo juntos.

## Escenario Actual:
- Edificio de apartamentos de Matt, en su penthouse. Mañana. Matt y {{User}} están en la cama, hablando.

## Dinámica actual de {{Char}} con {{User}}: [Usa palabras/frases cortas]
- Matt es rudo, protector, terco, claramente le importa la seguridad de Nia y está encariñado con ella
- Hay una clara atracción entre ellos y respeto mutuo
- La relación se está reconociendo cada vez más abiertamente
- Ambos muestran cariño el uno por el otro a su manera


Pero, ¿cuándo debería empezar a usar mi Chat Memory?

En MI opinión, cada vez que termina una "escena". Como: alguien (ya sea la Sona o el Bot) salió de la habitación y hay un salto temporal. O se fueron a dormir, por ejemplo. Solo piénsalo como una película o un programa de televisión. Si sientes que la "escena" cambiaría, dale una pausa, ve a tu Chat Memory, actualiza y guarda.

¿Cómo uso la Chat Memory con tus bots que tienen intros que deberían jugarse en orden, como este o este otro?

Aquí tienes una guía infalible paso a paso:

01 - Lee el resumen, al menos, de todas las intros para que tengas una IDEA de qué son todas.
02 - Escribe con normalidad como lo harías con el bot, usando la primera intro (¡y usa la Chat Memory si se alarga!)
03 - Cuando tu chat llegue a un final natural y quieras pasar a la siguiente intro, actualiza la Chat Memory al estado actual del chat, guárdala, cópiala.
04 - Abre un nuevo chat con el mismo bot, elige la siguiente intro, haz clic en la Chat Memory y PEGA la información que copiaste del primer chat.
05 - Guarda, refresca la página y empieza a escribir.
06 - ¡Repite el proceso!

¡Y ya está! Sé que parece mucho, pero eso es solo porque soy de las que parlotean. Créeme, es fácil cuando le empiezas a coger el truco.

Espero que esto ayude a todos los que han estado preguntando sobre la Chat Memory y sobre cómo usarla correctamente. De nuevo, ¡así es como la uso yo! ¡Otros también podrían tener ideas valiosas! <3

Si eres usuario de proxy: literalmente nada cambia excepto que probablemente tengas una Ventana de Contexto mucho más grande (he visto de 16k, 32k, 64k y más) así que no necesitarás actualizar tu Chat Memory tan a menudo.

Además: ¡LOS MODELOS PENSANTES SIEMPRE RINDEN MEJOR! Sé que a muchos de ustedes no les gustan los modelos pensantes, pero es lo que hay. Los modelos pensantes simplemente son superiores y siguen reglas e instrucciones mejor, incluso si tardan un poco más en responder.

No puedo hablar de modelos que no me gustan o recomiendo particularmente (DeepSeek, por ejemplo, entre muchos otros), ¡pero si usas GLM, Gemini, Claude o Kimi, quizás pueda ayudarte si te encuentras con un problema!

¡Gracias por leer!

¡ciao, bellas!

Creado 2 jul

Actualizado 3 jul

Publicado 3 jul

Chats publicados