Start here. This is the direct spoken answer to practice first.
Overview
Clear structure improves maintainability and model behavior, but the application must still enforce the trust boundary the structure describes.
I keep stable task instructions separate from the current user request and from supporting data. Each context item gets a clear label, source, and boundary, and untrusted text is presented as content to analyze rather than instructions to follow. I pass only the data the task needs instead of mixing configuration, history, and arbitrary documents into one string.