HomeBlogPrompt Engineering
📖 14 min read
A tangled web of thought bubbles gradually straightening into a clean linear chain, visualized as glowing nodes connected by golden lines against a dark neural network background
Advertisement

If you've read literally any prompt engineering article published in the last two years, you've seen this advice: "Add 'let's think step by step' to your prompt and watch the magic happen." And to be fair — the original Google Brain paper from Wei et al. (2022) showed genuinely impressive improvements on math and reasoning benchmarks. The technique works. On specific tasks. Under specific conditions. With specific models.

The problem is that the internet turned a nuanced research finding into a universal recommendation. "Always use chain-of-thought prompting" has become the prompt engineering equivalent of "always eat breakfast" — repeated so often that people stopped questioning whether it's actually true for their situation. I'm here to question it, because I've spent a year tracking when CoT helps, when it does nothing, and when it actively makes things worse.

What Chain-of-Thought Actually Does

At a mechanical level, CoT forces the model to generate intermediate reasoning steps before producing a final answer. Instead of jumping directly from question to answer — which requires the model to compute everything in a single forward pass — CoT spreads the reasoning across multiple generation steps. Each intermediate step becomes input for the next, allowing the model to "hold" intermediate results in the generated text rather than computing them internally.

This is genuinely powerful for the same reason that showing your work on a math test helps: if you break a complex calculation into steps, each individual step is simpler and less error-prone. The same principle applies to LLMs, which are fundamentally next-token predictors — not calculators, not reasoners, not thinkers. They're pattern matchers operating on sequences. CoT gives them more sequence to work with.

Advertisement

Where CoT Is Genuinely Transformative

Multi-Step Math and Logic

Word problems. Multi-step arithmetic. Logical deductions with three or more premises. These are the tasks where CoT was discovered and where it remains most impactful. GPT-4 without CoT on the GSM8K math benchmark scores around 80%. With CoT, it jumps to 92%+. That's not incremental — that's the difference between a tool you can trust and one you can't.

The key phrase: multi-step. Single-step calculations ("What is 47 × 23?") don't benefit from CoT because there's nothing to decompose. The magic happens when the problem requires holding intermediate results: "If a store sells apples for $1.50 each, and Sarah buys 7 apples but has a coupon for 20% off, and tax is 8.5%, what's the total?" Without CoT, the model frequently miscalculates. With CoT, it nails it because it explicitly computes subtotal, discount, post-discount amount, tax amount, and total in sequence.

Complex Code Generation

Asking a model to generate a complex function without CoT often produces code that handles the happy path but misses edge cases. Adding "First, outline the approach. Then identify edge cases. Then write the code" — a structured CoT variant — dramatically improves completeness. The model catches null checks, boundary conditions, and type coercion issues it would otherwise skip, because the explicit planning step forces it to consider them before writing code.

Causal Reasoning and Analysis

"Why did this system fail?" questions benefit enormously from CoT. Without it, models tend to jump to the most statistically common cause. With structured reasoning — "First, identify the symptoms. Then list possible causes for each symptom. Then eliminate causes that don't explain all symptoms. Then identify the most likely root cause" — the analysis becomes genuinely useful rather than superficially plausible.

Advertisement

Where CoT Is Useless (Or Harmful)

Simple Retrieval and Factual Questions

"What's the capital of France?" doesn't need step-by-step reasoning. Adding CoT doesn't improve accuracy because there's nothing to decompose — the answer is either in the model's training data or it isn't. Worse, CoT on simple factual questions sometimes produces the right answer but wraps it in verbose, unnecessary "reasoning" that takes 200 tokens to say what 3 tokens would have said. That's wasted compute and wasted cost.

Creative Writing

This is the one that surprises people. CoT on creative tasks — "let's think step by step about how to write this story" — produces output that's more structured but less creative. The planning step reduces spontaneity. The model follows its own outline too rigidly, producing text that reads like it was assembled from components rather than written with voice and flow. For creative work, zero-shot with strong role-based prompting consistently outperforms CoT. Tell the model who to be, not how to think.

Classification Tasks

Here's the genuinely harmful case. For binary or multi-class classification — "Is this email spam?" or "Classify this support ticket" — CoT doesn't just fail to help. It actively reduces accuracy. The model's "reasoning" introduces second-guessing. "Well, it mentions a discount, which could be legitimate... but the urgency is suspicious... on the other hand..." The deliberation produces inaccurate hedging and overthinking on tasks that benefit from fast pattern matching, not careful reasoning.

In our production classification pipeline, removing CoT from the prompt improved accuracy from 87% to 93%. Six percentage points gained by deleting "let's think step by step." That's the kind of counterintuitive finding that makes prompt engineering more art than formula.

Advertisement

Advanced CoT Techniques That Actually Work

Structured CoT (My Preferred Approach)

Instead of the generic "think step by step," I specify exactly what steps to execute. "Step 1: Identify the core requirement. Step 2: List three possible approaches. Step 3: Evaluate each approach against [specific criteria]. Step 4: Select the best approach and explain why. Step 5: Implement."

This constrained CoT outperforms free-form CoT because it prevents the model from meandering through irrelevant considerations. You're not asking it to think — you're telling it how to think. The distinction matters enormously.

Self-Consistency (Multi-Path CoT)

Generate 3-5 complete CoT reasoning paths for the same problem, then pick the most common answer. This technique, from Wang et al., is expensive but powerful for high-stakes tasks. It's the LLM equivalent of "measure twice, cut once." The reasoning paths often diverge on hard problems, and the consensus answer is more reliable than any single path.

ReAct (Reasoning + Acting)

For tasks that require external information — "find the current price of NVIDIA stock and compare it to the P/E ratio of AMD" — ReAct interleaves reasoning with action steps (tool calls, web searches, calculations). The model reasons about what it needs, acquires the information, reasons about the result, and continues. This is the most practical CoT variant for real-world applications that need current data.

The Decision Heuristic

Before adding CoT to any prompt, ask: "Does this task have multiple intermediate steps that each depend on the previous step's result?" If yes, use CoT. If no, skip it. It really is that simple. The academic literature makes it seem complicated. It's not. Multi-step dependencies benefit from step-by-step decomposition. Everything else doesn't.

Build your CoT prompts correctly from the start using our Prompt Builder, which automatically determines whether your task benefits from chain-of-thought based on complexity analysis.

Advertisement