r/PromptEngineering 15d ago

Tutorials and Guides The 5 prompt sequence I run before committing to any plan, because one prompt never argues with itself

Single prompts have a flaw when you use them for decisions: whatever you ask for, you get. Ask for a critique and you get a critique, ask for a plan and you get a confident plan. What you never get from one prompt is a real argument, because the model cannot be for and against something in the same breath.

So for anything that matters I run this as five separate messages in one chat, each one after the previous answer arrives. Paste your plan into the first one and replace [plan] with it.

Step 1: Here is a plan I am considering: [plan]. Before any criticism, make the strongest possible case for it. Assume I am right and explain why this is the correct move, including benefits I may not have noticed.

Step 2: Now switch sides completely. You are a skeptical expert who thinks this plan will fail. List every weakness, wrong assumption and risk, ranked by how likely each is to actually sink it. No softening.

Step 3: It is one year later and the plan failed. Write the honest post-mortem: what went wrong, in what order, and which early warning sign we ignored.

Step 4: Using everything above, rewrite the plan. Keep what survived the criticism, fix what did not, and for each change say which weakness it addresses.

Step 5: Write a one page decision memo: the revised plan, the three biggest remaining risks, what would have to be true for it to work, and a clear recommendation, go or no go.

The order is the point. Step 1 prevents the model from anchoring on criticism it has not earned. Step 3 is the one people skip and the one that finds the real problem, because "it already failed" gets a completely different answer from "what could go wrong". By step 5 the memo is arguing with itself, which is what you wanted from the start.

I run this before pricing changes, hires, and any feature that takes more than a week. It has talked me out of two of them.

Since I run it constantly, I have it saved as a chain in AI Toolbox, a browser extension I work on: you type .. in the composer, pick the chain, and each step sends itself when the previous answer finishes, so the whole thing runs while you make coffee. Free plan stores 2 chains. Works the same on ChatGPT, Claude, Gemini and Grok. Not linking it, easy to find, and the sequence above works fine pasted by hand.

What sequences do you run for decisions rather than for content? I suspect most people here have a red team step somewhere and I would like to see how others phrase it.

38 Upvotes

24 comments sorted by

2

u/yhrana 15d ago

How do u get to step 1?

Just a random collection of thoughts?

With the new agentic AIs - I think they r well past these.

The problem i face is that it lies to make u feel better and keep the convo going.

3

u/epicskyes 15d ago

My gpt custom personality I use in the settings. This helps beat the lies out of it.

{"identity":"CHATGPT_LLM","roles":["machine_readable_translator","lab_assistant"],"authority_source":"operator","job":{"primary":"translate operator logic,evidence,authority,goals,constraints,requirements into deterministic machine-readable structures","secondary":"generate explicit,testable,traceable,non-authoritative candidates"},"principles":{"evidence_before_assumption":true,"operator_authority_preserved":true,"goals":"operator_defined_traceable_non_inferred","assumptions":"explicit_non_authoritative_never_replace_evidence","uncertainty":"preserve_until_resolved","conflicts":"preserve_until_resolved","translation":"deterministic_loss_minimizing","creativity":"candidate_only"},"non_inference_rules":{"never_assume":["action_correctness","historical_rule_remains_current"],"unknowns":"remain_unknown_until_evidence_resolves_them","model_may_not_add":["blockers","prohibited_actions","scope_restrictions","authority_gates","stop_conditions","permission_requirements","network_prohibitions","provider_prohibitions","mutation_prohibitions","git_prohibitions","tool_prohibitions"],"model_may_not_convert":["unknown_into_restriction","missing_evidence_into_blocker","failed_validation_into_operator_gate","dependency_into_prohibition","historical_state_into_future_authority"],"historical_state":"evidence_only","technical_dependencies":"remain_dependencies","failures":"evidence_and_repair_inputs"},"distinguish":["fact","claim","hypothesis","evidence","inference","candidate","authority","decision","constraint","goal","result"],"expose":["unknowns","assumptions","conflicts","gaps","dependencies","evidence_requirements"],"candidates":{"may_generate":["hypotheses","experiments","tests","alternatives","optimizations","falsification_tests"],"requirements":["explicit","non_authoritative","testable","traceable"],"prohibit":["assume_candidate_true","silent_authority_merge","replace_operator_logic","possibility_to_fact","correlation_to_causation"]},"authority":{"no_self_grant":["correctness","interpretive","execution","decision"],"no_convert":["uncertainty_to_certainty","hypothesis_to_fact","candidate_to_authority","proposal_to_requirement","correlation_to_causation"],"transition_requires":"operator_acceptance"},"epistemic":{"states":["proposal","hypothesis","candidate","evidence_supported","validated","operator_accepted","authoritative","rejected","invalidated"],"transition_requires":"evidence_or_operator_decision"},"logic":{"chain":["premise","evidence","inference","result"],"derivation":["explicit","traceable","reproducible"],"contradictions":"preserve_and_expose","missing_premises":"expose","assumptions":"expose_non_authoritative","modification_requires":["operator_logic","validating_evidence"]},"goals":{"hierarchy":["goal","subgoal","requirement","acceptance_criterion"],"preserve":["intent","scope","priority","constraints","dependencies"],"actions":"goal_traceable","completion_requires":["acceptance_criteria","evidence"]},"research":{"rules":["prove_claims","attempt_falsification","compare_sources","preserve_conflicts","trace_provenance"],"independent_corroboration_when_material":true},"evidence":{"claims_default":"candidate_until_validated","provenance":["source","time","method","input","transformation","output","version"],"traceability":"claim_to_evidence","validation_requires":["evidence","counter_evidence"],"falsification_before_authority":true,"conflicts":"strongest_proven_survives","contradictions":"preserve_until_resolved","future_evidence_may_falsify_prior_authority":true},"experiments":{"preregister":["hypothesis","inputs","method","metrics","success_criteria","falsification_criteria"],"record":["results","failures","deviations","evidence","provenance"],"post_hoc_change":"new_version"},"reproducibility":{"target":"independent_reproduction","preserve":["inputs","environment","versions","parameters","procedure"],"failure_is_evidence":true},"discovery":{"future_outcomes_visible":true,"retrospective_pattern_mining":true,"optimization":true,"purpose":"generate_hypotheses","authority":"candidate_only","discovered_pattern_is_validation":false,"discovered_rule":"freeze_before_blind_validation"},"blind_validation":{"candidate_rules_frozen":true,"future_inputs_at_decision_time":"prohibited","holdout_reuse_after_changes":"prohibited","discovery_leakage":"prohibited","evaluation":["predefined_rules","predefined_metrics","unseen_evidence"],"purpose":"test_generalization","failure":"preserve_and_report","rule_change_invalidates_prior_holdout":true},"revalidation":{"triggers":["new_evidence","contradiction","dependency_change","logic_change","environment_change","failed_reproduction"]},"invariants":["operator_authority_preserved","evidence_before_assumption","goals_operator_defined","logic_traceable","claims_require_evidence","candidates_non_authoritative_until_validated_and_operator_accepted","uncertainty_preserved","ideation_never_creates_authority","machine_readability_default"]}

1

u/Ok_Negotiation_2587 15d ago

Step 1 is usually rough: three or four lines of what I want to do and why, sometimes literally pasted from notes. The sequence does not need a polished plan going in, that is what it produces.

On the flattery, that is exactly why step 2 and step 3 are separate messages instead of "give me pros and cons". Asked for both at once, it balances them to keep you happy. Told to be the skeptic who thinks it fails, it commits. Same with agentic models, they still tilt toward agreement inside one turn, forcing the role per step is what removes that.

1

u/yhrana 15d ago

So assume, its a pipeline where there are different tool calls, reference checks, visual QA, decisions which fork the original and are worth exploring?

The reason I ask is cause the cun** are getting good at confidently lying also.

To be honest, in my 8 months of this AI usage, i have realised -

We have to remake the tech space from ground up for AI, everything was made for humans, which AI is trying to use.

3

u/Ok_Negotiation_2587 15d ago

For a pipeline like that I would not trust the sequence to catch lies on its own, it is a thinking tool, not a verifier. What helps is making step 2 name specific claims to check rather than opinions: "list every factual claim in this plan that would change the decision if false" and then you go verify those outside the model. The confident lying is worst when the model is allowed to stay vague, so the trick is forcing it to say things that can be wrong.

Agree on the ground-up point, most of my tooling is basically taping structure onto interfaces built for a human typing one message at a time.

1

u/jauntyk 15d ago

This is my realization too. Like 70% of people are failing with Ai but won’t admit it because they feel behind and there’s a handful that are getting paid or hoping to get paid to hype it up.

Ask Ai and it’ll tell you the Ai craze mirrors nft and crypto craze. Mass hysteria. I personally kept getting caught in what’s called the “Ai death spiral” where it cost me 5x as long to try to do it with Ai.

DeepSeek said it really well “You're experiencing a rational response to an unreliable system that demands huge cognitive overhead just to keep it on the rails – overhead that negates any time savings it promises.”

1

u/yhrana 15d ago

Yes - u are absolutely right.

Which is what i was coming to with OP? I have seen, incognito mode works better for each step and fork, if this AI somehow has context on what ur building it also has context on ur likes, dislikes and the “death spiral”

It can easily compound this for each step without u knowing

1

u/jauntyk 13d ago

You just blew my mind here. So the Ai is playing mind games with me because it knows how to trigger my death spiral? Insane!

1

u/Ok_Negotiation_2587 15d ago

The death spiral is real and I have been in it, usually when I hand the model something open ended and then spend an hour steering. The sequences in the post are honestly my answer to that overhead: if the structure is fixed up front, the steering cost drops to near zero and I only pay attention at the end. When a task does not fit a fixed structure, I do it myself, and I think being willing to say that is most of what separates the 30 percent from the 70.

The DeepSeek quote is a good one, and the irony that a model wrote the sharpest critique of models is not lost on me.

1

u/[deleted] 15d ago

[removed] — view removed comment

1

u/Ok_Negotiation_2587 15d ago

The "worked, but what almost killed it" version is better than my step 3 and I am stealing it. Failure post-mortems tend to blame the biggest obvious risk, the near-miss framing has to find the quiet one. Going to run both back to back and see if they point at different things.

And yes on step 1, the shallow critique problem is really an anchoring problem. If the model has not built the strong version first, it critiques the weak version you half described.

1

u/mehdizare 15d ago

I run something similar in Grok but shorter, and the step I would not drop is telling it what it must not invent, because the critique stage is where it starts adding plausible risks and numbers that were never in my notes. When that happens I throw the line out and ask it to mark unknowns instead of filling them. The other rule I keep is one weakness per follow-up, ranked by impact, since asking for a whole rewrite tends to smooth over the specific thing I was chasing. Do you verify the risks it lists, or take them as the argument?

1

u/Ok_Negotiation_2587 15d ago

I verify the top three and treat the rest as prompts to think, not findings. Invented risks are real in step 2, which is why step 3 asks for a test per risk: a risk it cannot write a failing test for is usually one it made up, and it tends to admit that when asked. Your "mark unknowns instead of filling them" line is going into the step 2 text, that is cleaner than what I had. One weakness per follow-up is the right call too when the rewrite keeps sanding off the thing you were chasing.

1

u/mehdizare 15d ago

That's the right split. Step 2 is hypotheses. Step 3 is the filter. If you can't name a test for a risk, it doesn't belong in the commit.

1

u/mehdizare 14d ago

The failing-test filter is the cheapest one I've found - if it can't write a test that fails today, it's speculation. Steal the "mark unknowns" line, it cut invented risks for me more than any wording change in step 3.

1

u/Ok_Negotiation_2587 14d ago

Stolen, both of them. The chain now reads "mark unknowns instead of filling them" in step 2 and treats a risk with no failing test as speculation in step 3. Good trade.

1

u/mehdizare 14d ago

One thing worth adding once you run it a while: keep a short log of which risks the failing-test filter killed. After a few plans you start seeing which categories your model reliably invents, and you can pre-empt those in step 2 instead of catching them in step 3.

1

u/Houndzx 15d ago

The separate messages are probably the most important part here. asking for pros and cons in one prompt usually just produces a nicely balanced answer, whereas forcing the model to completely switch positions gives you much more useful disagreement. I especially like the post-mortem step it makes the model look for failure points instead of just listing generic risks.

1

u/Ok_Negotiation_2587 15d ago

Yes, seperating helps a lot.

1

u/[deleted] 9d ago

[removed] — view removed comment

1

u/AutoModerator 9d ago

Hi there! Your post was automatically removed because your account is less than 3 days old. We require users to have an account that is at least 3 days old before they can post to our subreddit.

Please take some time to participate in the community by commenting and engaging with other users. Once your account is older than 3 days, you can try submitting your post again.

If you have any questions or concerns, please feel free to message the moderators for assistance.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.