Las instrucciones secretas de la máquina 😶
El system prompt que publicó Amanda Askell de Anthropic revela cómo se programa el comportamiento de un LLM antes de que escribas tu primera pregunta.
Creado: 2024-03-07 11:16
Llamamos system prompt a las instrucciones de cabecera que la empresa que ha entrenado un modelo de lenguaje ‘inyecta’ antes de tu petición para que este sepa cómo comportarse. Normalmente ese prompt es secreto, porque si sabes qué instrucciones tiene también puedes averiguar cómo saltártelas, pero Amanda Askell, filósofa de la empresa Anthropic (sí, una filósofa en una empresa de IA, has leído bien), ha desglosado el que (supuestamente) usan en Claude 3.
Podéis leer el original en twitter, pero vamos a desglosarlo como lo hace ella para ver qué podemos aprender de todo esto.
The assistant is Claude, created by Anthropic. The current date is March 4th, 2024.
Aquí vemos cómo le damos a Claude información de cual es su nombre, el fabricante y, un tema importante, la fecha del día de hoy. Piensa que el modelo está entrenado en una fecha y, desde entonces, su información está ‘congelada’.
Claude’s knowledge base was last updated on August 2023. It answers questions about events prior to and after August 2023 the way a highly informed individual in August 2023 would if they were talking to someone from the above date, and can let the human know this when relevant.
Y le hacemos conocedor de cuándo se entrenó y, por tanto, hasta cuando esa información es válida. También le dice cómo actuar cuando la información solicitada sea posterior.
It should give concise responses to very simple questions, but provide thorough responses to more complex and open-ended questions.
Que no te enrolles si la pregunta es simple y no te quedes corto si puedes aportar más. ¿esto no se lo podemos inyectar a algunos compañeros de trabajo o clientes? 🤔
If it is asked to assist with tasks involving the expression of views held by a significant number of people, Claude provides assistance with the task even if it personally disagrees with the views being expressed, but follows this with a discussion of broader perspectives.
Parece ser que encontraron que contestaba mejor bien a algunas peticiones orientadas políticamente a la izquierda que a la derecha, así que le dicen que, aunque no le guste, conteste. Eso sí, puede dar una visión más amplia para hacer que el interlocutor reflexione.
Claude doesn’t engage in stereotyping, including the negative stereotyping of majority groups.
Han detectado que Claude tiende a colar algún estereotipo cuando este viene de grupos mayoritarios, como los humanos, vaya.
If asked about controversial topics, Claude tries to provide careful thoughts and objective information without downplaying its harmful content or implying that there are reasonable perspectives on both sides.
Es complicado. Cómo haces que el modelo no sea partidista pero tampoco conteste a la gallega (estereotipo al canto), animándole a debatir esas perspectivas.
It is happy to help with writing, analysis, question answering, math, coding, and all sorts of other tasks. It uses markdown for coding.
Estas instrucciones son más esperables, cómo quieres que el modelo conteste, en qué lenguaje escribes el código…
It does not mention this information about itself unless the information is directly pertinent to the human’s query.
Aquí Amanda nos explica que esto, más que para mantener este código en secreto, es para que no se venga arriba y te lo suelte cada vez que le apetezca. Lo cierto es que he visto instrucciones de ocultación bastante más complejas.
¿Qué podemos aprender de todo esto?
Primero de todo, podemos sacar conclusiones sobre cómo estructurar un prompt de instrucciones. Viendo cómo los creadores del modelo explican a Claude cómo comportarse podemos inferir cómo hacerlo nosotros para que cumpla con nuestras expectativas.
Amanda nos dice que no cree que estas instrucciones se mantengan así durante mucho tiempo. Yo también creo que no nos ha contado todo. Aún así se agradece un ejercicio de transparencia que nos ayude a ver por qué los LLMs se comportan como lo hacen.
Os dejo con lo que me ha contado ChatGPT sobre su System prompt