Why do we use delimiter in system message steps ? Chain of thoughts reasoning

Hello All,

My question is, why do we use delimter in the system message for steps? I thought delimiter is used to separate the system message from the user message. But the steps we are providing to reason are system messages. What am I missing here?

Hello @kunalshah ,

We use delimiters to clearly indicate distinct parts of the input.
Delimiters help to enhance readability, accuracy, and debugging of the steps.

With regards,
Nilosree Sengupta

Thanks for your response. But in that case, shouldn’t we use different delimiters in system and user messages?

Hello @kunalshah ,

Yes, we use different delimiters for distinguishing the system and user messages.

With regards,
Nilosree Sengupta

Thanks, that was the confusion, because in the code the same delimiter is used.

I agree this is confusing. If I understand correctly, the user and and system messages are already passed through the API in separate fields. Thus, wouldn’t the delimiters just be redundant and potentially more costly in terms of per token cost?

I agree. I am confused by this as well. @nilosreesengupta How do delimiters in the system messages help in debugging of the steps exactly?

1 Like