All posts

Post-Prompting: A Practical Way to Control LLM Output

When you need consistent answers from an LLM, “prompt engineering” is less magic and more process. Model choice and a simple post-prompt can reduce drift and improve formatting compliance.

Originally posted on YouTube on June 17, 2023

Key takeaways

  • Model choice is often the biggest driver of output consistency and hallucination risk.
  • System prompts set the baseline, but multi-constraint prompts frequently degrade instruction compliance.
  • A short post-prompt can enforce last-mile requirements like language, format, or refusal behavior.

Most teams start “prompt engineering” by stuffing every instruction into one prompt and hoping the model follows it. In real operations—support, internal search, and knowledge retrieval—that approach fails fast. You don’t just need a plausible answer. You need a reliable one, formatted the way your workflow requires, and constrained to the information you provided.

This is where two practical levers matter more than clever wording:

  1. choosing the right model for the job, and 2) using a post-prompt to regain control when the model starts ignoring instructions.

Start with model selection, not prompt tweaks

Different models behave differently. That sounds obvious, but it’s usually the biggest source of “why did it do that?” variance across environments.

James Moelk put it plainly while describing how IntelliChat approaches customer deployments:

“ChatGPT-4 is excellent at things like coding. It’s super creative. But that’s not really what we’re looking for. … It just tends to get a little bit too creative.”

If your use case is operational—answer from provided context, don’t invent, keep a stable tone—then “more creative” can be a liability. Many orgs pick the most capable model by default, then spend weeks trying to prompt it into behaving like a cautious clerk. Sometimes the simpler model is easier to constrain and produces fewer surprises.

In our world (secure, tenant-isolated AI that answers questions from your internal content), “best” usually means:

  • follows formatting constraints consistently (lists, tables, structured summaries)
  • stays inside the provided context
  • avoids speculation when the answer isn’t present
  • produces repeatable outputs across similar queries

Pre-prompts help, but they don’t solve everything

System prompts and other “pre-prompts” are useful. They’re where you set baseline behavior: role, tone, style, and guardrails.

But once you start combining several constraints—language, format, refusal behavior, source restrictions—compliance drops. You’ll see it in small ways (wrong language, missing bullets) and in big ways (answering anyway when it should refuse).

The common failure mode: you ask the model to do 3–5 things at once, and it does 2–3 of them. Not because it’s “bad,” but because you’re pushing multiple control objectives through a single instruction channel.

Use a post-prompt to “lock in” the last-mile constraint

Post-prompting is simple: put a final, short instruction at the end of your context, right before the model generates the answer. It’s not fancy, but it works because it emphasizes the instruction most likely to be dropped.

James summarized the effect:

“If you put something at the very end… say, ‘please answer in Spanish,’ … you can kind of squeeze in one last little prompt by doing a post prompt.”

This is especially effective for last-mile requirements like:

  • “Answer in a bulleted list.”
  • “Return an ordered checklist.”
  • “If the answer isn’t in the provided context, say you don’t know.”
  • “Respond in Spanish/Portuguese.”

Instead of cramming everything into one mega-prompt, you split it:

  • pre-prompt: baseline role and safety/behavior
  • user question: the actual task
  • post-prompt: the single most important output constraint

What this means for you

If your team needs predictable LLM behavior, treat prompting like operations: pick the model that matches your risk tolerance, then use post-prompts to enforce the one constraint you can’t afford to lose. The result is less time rewriting prompts and more time shipping workflows that behave consistently.

Full transcript
Hey, James here. I wanna talk about how to get the right answers from your large language models. Specifically, I'm gonna be addressing ChatGPT, both 3.5 and 4. But first off, if you're liking this content, please like, comment, and share. It means a lot to me. And if there's anything that you'd like me to cover, if you have any questions, please let me know because I'm definitely happy to do that. But moving forward, how do you get the answers out? Well, there's a handful of ways that you can manipulate a large language model to get the answers out the way that you want them out, whether that's perhaps in a bulleted list, or maybe you want it in a specific language, or maybe you want it to not answer if it doesn't have the data that you provided, if it can't find it in the context that you provided. But one of the biggest ways that you can choose specifically how the AI responds is by selecting the model first that's gonna best fit your needs. A lot of what we do is we work with clients' data so that way they can ask a question about their own data or tons, a large amount of data, and ask a specific question about it and get a specific answer out. ChatGPT-4 is excellent at things like coding. It's super creative. But that's not really what we're looking for. We don't use 4. It just tends to get a little bit too creative. You may have heard the term hallucinate. ChatGPT-4 will hallucinate. So we try to avoid 4. DaVinci was actually really good. And we're having great results with 3.5, specifically Turbo. And if you're keeping up, about two days ago, OpenAI launched Turbo 0613. So we're gonna be testing that out. So you can look forward to seeing some results from that. But in general, picking the right model in the first place is gonna give you the control you need for the answers that you want. Again, if you're looking for a really creative essay summary, ChatGPT-4 is probably just gonna be what you need. You probably just ask it to give you a creative summary. And you're gonna get the result that you want. But if you're being very specific about how you need to get the data out, you're gonna need to think about that model first off. Secondly, there's what's called prompting. So if you've heard about prompt engineering, right now, there's jobs out there that are paying like $300,000 a year. So if this is something you're interested in, it is very lucrative. What we've found from a prompt engineering standpoint, my experience is, is that I'll do a lot of post-prompting and pre-prompting. Most everybody talks about pre-prompting. There's system prompts that you could put in. And if you check out OpenAI's documentation or really any other large language model's documentation, they'll talk about that. You could put in like a system prompt to say, hey, you're a helpful assistant. And in some cases, you can try to manipulate that cause this does take some testing and say, okay, you're a helpful assistant that speaks Portuguese or Spanish or English or whatever. And in an attempts to get the result out the way that you want the result. So that's one way that you can do it is by putting it in the system. Now, what I gather from what OpenAI just said recently is that the system prompt is going to have a little bit more control over the response than it did in the past. So previously you could put in like, hey, you're an assistant, but if you tell it to speak Spanish, it's not going to. I don't know yet, we haven't finished our testing internally, but we're hoping that we'll have some control that'll allow us to, you know, further, further kind of put the response into the funnel or the framework that we want. But then after that, when you ask a question, I'll oftentimes say like, okay, I need this response. If it's multiple steps, please answer it in a bulleted list or an ordered list. And it will. And I'll say, please answer in Spanish. And it will. But I found that if you ask it to do like two or three things, like if you can't find the answer in the context, don't answer and answer in a bulleted list and answer in Spanish and, you know, and be a helpful assistant and you try to like cram that all in one and then ask a question, it just doesn't get it all right. All the time it ends up being super weird, right? And usually like it won't answer in Spanish or you don't get the list. So you really need really kind of like two or three prompts that you can work in in natural language. I found to be helpful, but I found that if you put something at the very end, so after you provide the context, you know, at the very end, say, and please answer in Spanish that you can get it to answer in Spanish. You can kind of squeeze in one last little prompt by doing a post prompt. So those are the ways that we're utilizing it right now to get the answers out for our clients that we need. But I would say the biggest thing is choosing the right model. So if you guys have, like I said, please like, comment, and share. If you have any questions, let me know because I'm happy to answer them.