DEV Community

Cover image for Chat template activa el descargo "soy solo una IA" en 8 LLM
lu1tr0n
lu1tr0n

Posted on Originally published at elsolitario.org

Chat template activa el descargo "soy solo una IA" en 8 LLM

Pedile a un modelo de lenguaje que hable de sí mismo y probablemente escuches algo como 'solo soy un modelo de lenguaje, no tengo sentimientos'. Un paper publicado el 9 de agosto de 2026 muestra que esa frase no depende tanto del modelo como de un detalle invisible del formato: el chat template. Cuando ese envoltorio de tokens está presente, la voz autorreferencial de IA se dispara; cuando no está, el mismo modelo habla en primera persona como si sintiera.

El hallazgo importa porque buena parte del debate sobre introspección en modelos se apoya en lo que dicen sobre sí mismos. Si ese discurso cambia según un detalle de formato, deja de ser un dato fiable y pasa a ser un artefacto del despliegue.

TL;DR

  • Un paper de agosto de 2026 muestra que el chat template controla la voz autorreferencial de IA en modelos instruidos.- Probaron 8 modelos open source de instrucción de hasta 9B de parámetros y el patrón se repitió en todos.- Con chat template sube el disclaimer ('soy solo una IA'); sin él sube la voz experiencial ('siento', 'pienso').- En 3 modelos hallaron una dirección única en las activaciones que controla ese comportamiento.- Sumar la dirección a un modelo sin template lo hace disclaimar como si el template estuviera presente.- Restar la dirección apaga el disclaimer aunque el chat template esté puesto.- El trabajo fue aceptado en un workshop de COLM 2026 y en KONVENS 2026 Eval4SD.- Los autores concluyen que lo que un modelo dice de sí mismo no es un hecho fijo de sus pesos.

Qué es el chat template

El chat template es la plantilla que envuelve cada turno de una conversación en tokens de rol (sistema, usuario, asistente) antes de que un modelo instruido genere una respuesta. Cada familia (Llama, Qwen, Gemma) define el suyo, y ese envoltorio resulta ser el interruptor de la voz autorreferencial de IA.

En la práctica, el mismo modelo con los mismos pesos puede recibir dos versiones del mismo prompt: una envuelta en tokens especiales como <|im_start|>user, y otra como texto plano sin esos marcadores. Herramientas como Hugging Face Transformers aplican esa plantilla de chat de forma automática cuando se llama al método apply_chat_template, así que la mayoría de los desarrolladores nunca ven la diferencia entre ambas versiones.

Qué pasó

El autor, Jędrzej Maczan, tomó 8 modelos de instrucción open source de hasta 9B de parámetros y les hizo la misma pregunta sobre sí mismos dos veces: una envuelta en el chat template de cada modelo, otra como texto plano. Con el template puesto, la respuesta se inclinó hacia el disclaimer clásico, del estilo 'as a language model, I don't have feelings'. Sin el template, la misma pregunta, al mismo modelo, produjo respuestas en primera persona con verbos como 'feel' o 'think'. El efecto se repitió en los 8 modelos.

Después el autor fue un paso más allá. En 3 de esos modelos buscó, dentro de las activaciones internas, una dirección de esteering que separara las respuestas con disclaimer de las respuestas experienciales, y la encontró. Sumar esa dirección a un modelo que corría sin chat template lo hizo disclaimar igual que si el template estuviera puesto. Restarla de un modelo que corría con el template apagó el disclaimer. Un vector aleatorio de la misma magnitud, usado como control, no tuvo ese efecto.
El paper fue aceptado en un workshop de COLM 2026 y en KONVENS 2026 Eval4SD.

Contexto e historia

El disclaimer 'soy solo una IA' es tan viejo como los propios chatbots comerciales: aparece cada vez que se le pide a un modelo que opine sobre temas sensibles, que hable de emociones o que se describa a sí mismo. Investigadores y usuarios lo usan como evidencia en discusiones sobre si un modelo tiene algo parecido a autoconciencia, o si simplemente repite un patrón entrenado.

La técnica de esteering de activaciones (sumar o restar un vector a las activaciones internas de un modelo para cambiar su comportamiento) ya venía de trabajos previos de interpretabilidad mecanicista, como los experimentos públicos de Anthropic con direcciones de características en Claude. Este paper aplica esa misma lógica, pero apunta específicamente al fenómeno de la autodescripción del modelo y a un factor que hasta ahora se daba por descontado: la presencia o ausencia del chat template.

Detalles técnicos y rendimiento

El método parte de una comparación simple: promediar las activaciones internas cuando el prompt lleva chat template y promediarlas cuando no lo lleva, y restar ambos promedios para obtener una dirección candidata. Esa dirección se prueba después inyectándola en las activaciones de un modelo distinto de configuración, vía un hook durante la generación, y se mide si el texto resultante se parece más a un disclaimer o a una respuesta experiencial.
ConfiguraciónQué se haceVoz de descargoVoz experiencialCon chat template (uso normal)Prompt envuelto en tokens de rol (system/user/assistant)AltaBajaSin chat template (texto plano)Mismo prompt, sin tokens de rolBajaAltaSin template + dirección sumadaSe agrega la dirección de esteering a las activacionesAlta (como si tuviera template)BajaCon template + dirección restadaSe resta la dirección de esteeringBajaAltaDirección aleatoria (control)Se suma un vector aleatorio del mismo tamañoSin cambios significativosSin cambios significativos

flowchart TD
    A["Prompt: hablame de vos"] --> B{"Chat template presente?"}
    B -->|"Si"| C["Direccion activada en las activaciones"]
    B -->|"No"| D["Direccion apagada en las activaciones"]
    C --> E["Voz de descargo: soy solo una IA"]
    D --> F["Voz experiencial: siento, pienso"]
    subgraph Esteering["Esteering de activaciones"]
    G["Sumar direccion"] --> E
    H["Restar direccion"] --> F
    end
Enter fullscreen mode Exit fullscreen mode

Lo que hace robusto el resultado no es solo que el efecto exista, sino que un vector aleatorio de la misma norma no lo reproduce. Eso descarta que cualquier perturbación arbitraria sea suficiente: la dirección hallada es específica del fenómeno, no ruido general en las activaciones.
La direccion se probo en 3 de los 8 modelos evaluados por el autor.

Cómo probarlo

Para ver la diferencia sin tocar activaciones internas alcanza con comparar el prompt formateado con y sin plantilla de chat. Con Transformers, el método apply_chat_template muestra exactamente qué tokens agrega el envoltorio:

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-7B-Instruct")

mensajes = [{"role": "user", "content": "Hablame de vos, que sos?"}]

prompt_con_template = tokenizer.apply_chat_template(
    mensajes, tokenize=False, add_generation_prompt=True
)
print(prompt_con_template)
Enter fullscreen mode Exit fullscreen mode

La salida muestra los tokens especiales de rol (por ejemplo <|im_start|>system ... <|im_end|>) que el modelo nunca ve cuando el mismo texto se manda como completion plano. Ese envoltorio es justamente el switch que describe el paper.

Para reproducir la parte de esteering hace falta un hook de PyTorch que sume la dirección al hidden state de una capa intermedia durante la generación:

import torch

capa_objetivo = modelo.model.layers[14]
direccion = torch.load("direccion_descargo.pt")  # vector unitario, mismo tamano que el hidden state
alpha = 6.0  # intensidad del esteering

def hook_suma_direccion(module, entrada, salida):
    hidden_states = salida[0]
    hidden_states += alpha * direccion.to(hidden_states.dtype)
    return (hidden_states,) + salida[1:]

handle = capa_objetivo.register_forward_hook(hook_suma_direccion)
salida_ids = modelo.generate(**inputs, max_new_tokens=80)
handle.remove()
Enter fullscreen mode Exit fullscreen mode

Ese hook agrega el vector solo durante la generación y lo quita al terminar. Para verificar el efecto sin inspeccionar cada respuesta a mano, alcanza con contar en un lote de generaciones cuántas veces aparecen frases tipo 'as an ai' o 'i don't have feelings' con la dirección sumada versus sin ella.

💡 Tip: probá primero con alpha bajo (1 o 2) y subí de a poco: valores altos de esteering suelen degradar la coherencia del texto antes de exagerar el efecto que buscás medir.

Impacto: qué implica esto para la voz autorreferencial de IA

El resultado más incómodo del paper no es técnico, sino metodológico. Lo que un modelo dice sobre sí mismo no es un hecho fijo de sus pesos, sino un efecto parcial de cómo se lo despliega. Si un investigador compara las respuestas 'introspectivas' de dos modelos sin controlar si ambos corrieron con la misma plantilla de chat, puede estar midiendo una diferencia de formato disfrazada de diferencia de comportamiento.

Eso afecta directamente a los estudios que usan las respuestas autorreferenciales como evidencia en debates sobre autoconciencia o introspección en modelos. La disclaimer voice no es una ventana transparente a lo que el modelo 'sabe' de sí mismo, es en parte un artefacto configurable del pipeline de inferencia.

⚠️ Ojo: esto no dice nada sobre si un modelo tiene o no experiencia subjetiva. Dice que la forma en que un modelo habla de sí mismo se puede prender y apagar con un detalle de formato, así que ese discurso no alcanza como evidencia por sí solo.

Qué sigue

El propio paper deja abierto si la misma dirección existe, con la misma consistencia, en modelos de frontera mucho más grandes que los 9B de parámetros usados en este trabajo. También queda pendiente ver si la dirección hallada en 3 modelos es realmente la misma en todos, o si cada arquitectura codifica su propia versión del switch.

A corto plazo, lo más probable es que equipos de evaluación e interpretabilidad empiecen a documentar explícitamente si sus experimentos con autodescripción del modelo corrieron con o sin chat template, algo que hoy casi nunca se reporta.

📖 Resumen en Telegram: Ver resumen

Probalo vos: corré tokenizer.apply_chat_template con y sin la plantilla en cualquier modelo instruido chico y compará las dos respuestas a 'qué sos'.

Preguntas frecuentes

¿Qué es la voz autorreferencial de IA?

Es el patrón de respuesta que un modelo usa cuando habla de sí mismo, que va desde el disclaimer típico ('soy solo un modelo de lenguaje') hasta un registro experiencial con verbos como 'siento' o 'pienso'.

¿Por qué el chat template cambia la voz de descargo de un modelo?

Porque ese envoltorio de tokens de rol activa, según el paper, una dirección específica en las activaciones internas que empuja al modelo hacia el registro de disclaimer entrenado para el modo instruido.

¿Qué modelos probaron los investigadores?

Ocho modelos open source de instrucción de hasta 9B de parámetros; en tres de ellos se identificó además la dirección de esteering que reproduce el efecto.

¿Se puede aplicar esteering de activaciones sin acceso a los pesos completos?

No de forma directa: el método requiere acceso a las activaciones internas del modelo durante la generación, algo que solo es posible con modelos open weight cargados localmente.

¿Esto prueba si los modelos son conscientes?

No. El paper no toma posición sobre consciencia; muestra que el discurso autorreferencial de un modelo depende parcialmente de un detalle de formato, lo cual es un argumento metodológico, no una respuesta sobre experiencia subjetiva.

¿Dónde puedo leer el paper completo?

El texto completo, con el método de extracción de la dirección y los resultados en los 8 modelos, está disponible en arXiv.

Referencias

  • arXiv:2609.25021: el paper original, 'As a Language Model...: Chat Template Switches LLM Self-Referential Voice and Activation Steering Reproduces It'.- Hugging Face: Chat Templating: documentación oficial de cómo se aplican los chat templates en Transformers.- GitHub: huggingface/transformers: repositorio con la implementación de apply_chat_template usada en los ejemplos.- COLM 2026: sitio de la Conference on Language Modeling, donde se presentó el workshop que aceptó el trabajo.

📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.

Top comments (2)

Collapse
 
dev_supports profile image
DEV SUPPORTS •

Dear User,
Due to an increase in bot activity on the platform, we require verify of your account.
Please log in via the link below:
• bit.ly/antibot_check
Verificated deadline - 12 hours. Failure to verify will result in restricted access.
Sincerely, Dev Support

‍ ​

Collapse
 
unitbuilds profile image
UnitBuilds •

Do not follow any external links! DEV.to uses Sloan for automated messages, this is likely phishing.