User, assistant and system messages are clearly distinguishable to the model because of the tokens they're wrapped in.