2025-07-16 Wed
utf-8
Prompt Engineering
- Reddit/User/SaulFontaine says that there is an order to the prompting components for AI/LLMs, and that later prompts that try to modify behavior can be "shadowed" by earlier prompts. They are specifically referring to OpenAI here.
Here is roughly how the pieces get stitched together from highest to lowest priority:
1 - OpenAI's built-in system prompt ("You are ChatGPT, a large language model trained by OpenAI...")
2 - Customer-supplied system message (if you are using the API and inject one)
3 - Developer message(s) (the instructions the product team gave)
4 - Memory/context layers (persistent memories, user bio)
5 - User-preference prompts (your typography and style rules)
6 - Recent conversation turn(s)
7 - Current user query
8 - OpenAI's rollout-level "finalizing" instructions and decoding defaults
It looks like the typography rules you supply at step 5 can get overshadowed by the built-in system prompt at step 1 or by step 8's decoding defaults (where smart-quote normalization lives). To permanently override that you need to elevate your ASCII-only rule into the very first system message. For example:
System message: All output must use only ASCII punctuation. Do not apply any smart-quote or typographic substitutions. Replace any U+2018, U+2019, U+201C or U+201D characters with the ASCII single quote (') or double quote (") before finalizing output.
- Reddit/User/SaulFontaine says that there is an order to the prompting components for AI/LLMs, and that later prompts that try to modify behavior can be "shadowed" by earlier prompts. They are specifically referring to OpenAI here.
AI/LLM/Structured Output
AI/Output/Post-Format