Le suivi d'instructions s'entraîne par l'ajustement par instructions (SFT sur des paires instruction-réponse) et s'affine par RLHF/DPO (apprendre à préférer les réponses qui suivent précisément les instructions). La qualité du suivi d'instructions dépend fortement de la diversité et de la précision des données d'entraînement : les modèles qui voient de nombreux exemples de « exactement 3 éléments » apprennent à compter ; les modèles qui ne voient que des instructions vagues ne le font pas.
Les échecs courants de suivi d'instructions : ignorer les contraintes de longueur (« sois bref » → écrit quand même des paragraphes), la dérive de format (commencer avec le format demandé puis revenir à la prose), l'amnésie de contraintes (suivre la première contrainte mais oublier les suivantes dans une instruction complexe) et le sur-suivi (interpréter les instructions ambiguës trop littéralement ou trop largement). Ces échecs sont plus courants dans les petits modèles et deviennent plus rares avec l'échelle, mais même les modèles de pointe manquent parfois des contraintes.
Le suivi d'instructions devient complexe quand les instructions sont en conflit : le prompt système dit « réponds toujours en JSON » mais l'utilisateur dit « écris-moi un poème ». La plupart des modèles implémentent une hiérarchie d'instructions où les instructions de niveau système priment sur les messages utilisateur, mais les frontières sont floues. Les applications bien conçues structurent clairement leur hiérarchie d'instructions et testent les cas limites où différents niveaux d'instructions pourraient entrer en conflit.