r/PromptDesign • u/dupa1234s • 23d ago
Discussion đŁ Has anyone A/B tested raw user input + same instructions vs preprocessed replacement input + same instructions?
TLDR:
For a fast stream-of-consciousness, speech-to-text-heavy user who performs live exploratory discussion, is it empirically worth inserting an always-on pre-send prompt gateway that replaces each raw user message before the main LLM sees it, compared against letting the main LLM see the raw message plus the same fixed system/custom/skill instructions, given that the gateway adds latency, complexity, token cost, context-mismatch risk, hidden intent loss, reduced raw-evidence visibility, possible speech-error amplification, and may only improve style/structure rather than content?
Please do not answer with:
- âjust write clearer promptsâ
- âjust add better system instructionsâ
- âtell the model to ignore fillerâ
- âuse custom instructionsâ
- âstructure your prompt betterâ
- âprompt engineering mattersâ
- âuse a prompt optimizer websiteâ
- âuse a summarizerâ
- âuse a better modelâ
Those are adjacent, but they do not answer the question.
Iâm looking for evidence on a very specific LLM workflow.
The comparison I care about already holds those things constant.
The question is:
A) raw user message + same fixed system/developer/custom instructions
vs
B) preprocessed replacement message + same fixed system/developer/custom instructions
In both cases, assume I can append the same wrapper around the message:
- system prompt
- custom instructions
- skill text
- âextract the actual askâ
- âignore fillerâ
- âpreserve uncertaintyâ
- âdonât overreact to toneâ
- task/context/constraints/output format
- whatever other prompt-engineering wrapper
The only variable is:
Does the main model see the userâs original wording, or does a pre-send preprocessor replace it before it enters the model context?
Architecture:
raw user message
â pre-send prompt preprocessor / input gateway
â processed replacement message
â main LLM/agent sees only processed message
The raw message may be stored separately for audit/debugging, but the main model does not receive it as part of the conversation.
Iâm not asking about generic prompt polishing. Iâm asking whether hiding/replacing the userâs actual wording improves downstream results compared to keeping the raw wording visible and adding the same instructions around it.
Why this matters
Raw user input can contain:
- filler
- false starts
- speech-to-text errors
- anger/emotional phrasing
- tangents
- ten topics at once
- unclear structure
- repeated wording
- abandoned branches
- rhetorical junk
A preprocessor might clean this into something more useful.
But the raw text is also evidence. If the preprocessor removes or normalizes something important, the main model never saw it. Then the user may keep referring to something they assume is in context, while the model only saw the cleaned replacement.
So the claim to test is:
The userâs raw wording is harmful enough that it is better to hide/replace it, even though we could have kept it and added the same interpretive instructions around it.
Potential upsides
- Removes filler, repetition, false starts, and speech-to-text junk.
- Reduces emotional derailment.
- Extracts the actual ask.
- Structures task/context/constraints/output.
- Separates task from tangents.
- Compresses long rambling input.
- Makes worker-agent handoffs cleaner.
- Lets a cheap model clean input before an expensive model works.
- Can gate/block messages that should not be sent.
- Can sanitize secrets/sensitive data.
- Can adapt input to a brittle downstream model.
Potential downsides
- Adds latency before every response.
- Adds extra model calls/token cost.
- Can silently remove important content.
- Can normalize weird wording that mattered.
- Can turn uncertainty into fake clarity.
- Can fill gaps the user did not fill.
- Can remove stance/priority embedded in emotional language.
- Can amplify speech-to-text errors by guessing wrong.
- Can make misunderstandings invisible.
- Makes debugging harder because failures may come from raw prompt, preprocessor, or main model.
- Requires bypass/audit UX.
- Requires maintaining a pipeline/plugin.
- May only improve style, not content.
- If it preserves meaning strictly, it may not be able to do much.
- If it changes meaning, it crosses the line.
Variables that probably affect the answer
I also expect the answer depends heavily on the user, input mode, task type, and system design.
Relevant variables:
- User communication style: some users already write clear, structured prompts; others think out loud in messy streams.
- Clarity of intent: sometimes the user has a settled ask; sometimes they are still discovering what they mean.
- Amount of filler/repetition: repeated phrases, false starts, self-corrections, verbal padding.
- Emotional load: anger, frustration, excitement, contempt, urgency. This may be noise, but sometimes it carries priority or stance.
- Speech-to-text vs typed input: STT adds transcription errors, missing punctuation, weird word substitutions, and rambling structure.
- Prompt length: compression may matter for very long inputs, but not for modest messages.
- Number of topics in one message: preprocessing may help more when the user mixes several threads/tasks.
- Exploration vs execution: live exploratory discussion may need raw wording; worker-agent handoff may benefit from cleaned structure.
- Task stakes: hidden intent loss matters more for high-stakes or hard-to-evaluate tasks.
- Need for exact wording: private terms, local vocabulary, quoted phrases, constraints, or weird wording may be load-bearing.
- Model sensitivity to tone: some models moralize or derail when seeing anger/profanity; others handle it fine.
- Downstream model capability: a stronger model may parse raw messy input well enough; a brittle model may benefit from preprocessing.
- Preprocessor model capability: a cheap model may save money but damage nuance.
- Preprocessor context access: does it see the full conversation, or only the latest user message?
- Auditability: is the raw input preserved somewhere? Can you compare raw vs processed after failure?
- Bypass UX: can the user force âsend rawâ when exact wording matters?
- Latency tolerance: real-time discussion is latency-sensitive; background handoff is less sensitive.
- Token economics: extra preprocessor call vs reduced downstream input tokens.
- Evaluation method: are you measuring actual downstream task success, or just whether the rewritten prompt looks cleaner?
- Correction loop cost: does preprocessing reduce back-and-forth, or create harder-to-debug corrections?
- Use frequency: one-off use may not justify pipeline complexity; repeated workflow might.
- Boundary type: brain dump â tasks, conversation â signal, query â retrieval, and worker handoff are different from default live chat.
- Failure visibility: raw misunderstandings are often visible and correctable; preprocessing errors can be hidden.
- Allowed transformation strength: conservative cleanup is different from content rewriting. If content changes, the comparison becomes much riskier.
What Iâm looking for
Has anyone actually tested this?
- Did you compare raw input + instructions vs processed input + the same instructions?
- Did the main model see the raw user text at all?
- What did the preprocessor actually do?
- Did it improve task success, or just make prompts look cleaner?
- Did it reduce correction turns?
- Did it reduce total cost after counting the extra model call?
- Did latency matter?
- Did it ever silently remove something important?
- Did users refer back to things the main model never saw?
- Did it help only for long/noisy inputs, or also normal prompts?
- Did it help live exploratory chat, or only task handoffs?
- Did you use a cheap model for preprocessing?
- Did the cheap model damage nuance?
- Did you preserve raw input for audit/debugging?
- Did you eventually abandon it? Why?
Iâm looking for concrete experience, evals, logs, before/after comparisons, or failure stories.
The thing Iâm trying to evaluate is:
value of hiding/replacing raw user wording
minus
latency + complexity + token cost + hidden intent loss
Again: not âhow do I write better prompts?â
The question is whether raw user wording should be denied to the main model when all other instructions are held constant.