⏱️ Lectura: 11 min

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.

📑 En este artículo
  1. TL;DR
  2. Qué es el chat template
  3. Qué pasó
  4. Contexto e historia
  5. Detalles técnicos y rendimiento
  6. Cómo probarlo
  7. Impacto: qué implica esto para la voz autorreferencial de IA
  8. Qué sigue
  9. Preguntas frecuentes
    1. ¿Qué es la voz autorreferencial de IA?
    2. ¿Por qué el chat template cambia la voz de descargo de un modelo?
    3. ¿Qué modelos probaron los investigadores?
    4. ¿Se puede aplicar esteering de activaciones sin acceso a los pesos completos?
    5. ¿Esto prueba si los modelos son conscientes?
    6. ¿Dónde puedo leer el paper completo?
  10. Referencias
    1. 📚 Artículos relacionados

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. Foto de Hitesh Choudhary en Unsplash

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ón Qué se hace Voz de descargo Voz experiencial
Con chat template (uso normal) Prompt envuelto en tokens de rol (system/user/assistant) Alta Baja
Sin chat template (texto plano) Mismo prompt, sin tokens de rol Baja Alta
Sin template + dirección sumada Se agrega la dirección de esteering a las activaciones Alta (como si tuviera template) Baja
Con template + dirección restada Se resta la dirección de esteering Baja Alta
Dirección aleatoria (control) Se suma un vector aleatorio del mismo tamaño Sin cambios significativos Sin 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

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. Foto de Numan Ali en Unsplash

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)

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()

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’.

📬 Recibí lo nuevo en tu email

Te avisamos de artículos grandes (1-2 por mes).

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.

Imagen destacada: Foto de Igor Omilaev en Unsplash

¿Te sirvió? ¿Te dio otro error? Contalo abajo: las preguntas se responden y le sirven al siguiente que llegue.

Dejar un comentario

Andrés Morales

Desarrollador e investigador en inteligencia artificial. Escribe sobre modelos de lenguaje, frameworks, herramientas para devs y lanzamientos open source. Cubre papers de ML, ecosistema de startups tech y tendencias de programación.

0 Comentarios

Deja un comentario

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Podés incluir código entre <code>…</code> o, para varias líneas, <pre><code>…</code></pre>.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.