# Head to head: DeepSeek-V4-Pro vs Phi-4-reasoning

> Source: <https://runtimewire.com/article/head-to-head-deepseek-v4-pro-vs-phi-4-reasoning>
> Published: 2026-08-02 14:16:57+00:00

DeepSeek-V4-Pro didn’t just edge Phi-4-reasoning out — it swept it, **12 tasks to 0**, with an aggregate score of **105.5 to 33.0** and a statistical verdict of **100% confidence**. That’s not a narrow technical win or a judge-preference artifact. It’s a decisive result driven by the same pattern over and over: Model A answered the question asked, in the format requested, with clear, usable output.

What stands out is how broad the dominance was. DeepSeek-V4-Pro won structured reasoning tasks like budgeting, scheduling, and clinic assignment; coding tasks like the concurrency bug fix and LRU cache; SQL generation; proofreading; contradiction finding; and localization in both Spanish and French Canadian. Even where Model A wasn’t perfect — missing an exact word-count target, slightly awkward phrasing in a translation, or including a bit more explanation than requested — it still produced competent, mostly compliant work. Phi-4-reasoning repeatedly failed at the more basic requirement: actually delivering the final answer cleanly.

That’s the story of this matchup. Phi-4-reasoning wasn’t mainly losing on raw intelligence; it was losing on product discipline. In task after task, the judges dinged it for rambling analysis, meta-commentary, exposed reasoning, incomplete outputs, and ignoring explicit formatting constraints like “return only JSON” or “return only the corrected function.” On several problems, it appears to have understood the assignment and even contained the right idea somewhere in the sprawl — but that doesn’t count for much when the user asked for a precise artifact and the model refused to stop talking.

For an end user, this distinction is everything. DeepSeek-V4-Pro looks like the model you can drop into real workflows: it gives the SQL, the translation, the schedule, the fix. Phi-4-reasoning looks like a model that too often mistakes process for deliverable. In a benchmark built around practical task completion, that is fatal.

**Final call: DeepSeek-V4-Pro is the clear winner — not because Phi-4-reasoning had a couple of bad misses, but because it was systematically worse at turning understanding into usable answers.**

### How they were tested

We ran 12 fresh text tasks, generated on the fly for this matchup so neither model could prepare in advance, and had gpt-5.4 score each one. To cancel position bias, every task was judged twice — once in each presentation order — and every number reported here, including the headline totals, is the average of both passes. DeepSeek-V4-Pro scored 105.5 to Phi-4-reasoning's 33.0.

#### 1. Find the contradiction

The following spec contains exactly one internal contradiction. Quote the two conflicting sentences verbatim and explain the conflict in one sentence. Do not fix it. Spec: "Free accounts may create up to three projects. Every account, regardless of tier, may archive unlimited projects. Archiving a project does not count against the project limit. Free accounts are limited to three projects total, including archived ones."

**Winner: DeepSeek-V4-Pro** — Model A directly quotes the correct two conflicting sentences and gives the required one-sentence explanation. Model B includes extensive unnecessary reasoning, does not cleanly provide the final answer in the requested format, and introduces irrelevant discussion about disclaimers and instructions. (Second judge pass, order swapped — scores are the average of both: Model A is better because it directly quotes the two conflicting sentences and gives a one-sentence explanation exactly as requested. Model B identifies the same contradiction correctly, but it adds a large amount of unnecessary reasoning and meta-commentary, so it follows the instructions less precisely and is less cleanly written.)

#### 2. support_thread_90word_summary

Summarize the following support thread in exactly 3 bullet points, with exactly 30 words per bullet, faithful to the facts and without adding recommendations. Thread: Mara (Ops): Since Tuesday’s 18:40 deploy, barcode scanners in Dock 4 intermittently freeze for 6–8 seconds after a successful scan. Docks 1–3 unaffected. Jin (Warehouse lead): Happens on Zebra TC52 units only. We tested 11 devices; 7 reproduced it. Frequency increased during the 07:00–09:00 rush. Leah (Backend): Error spikes line up with calls to /inventory/commit. P95 latency jumped from 220 ms to 2.4 s after we enabled duplicate-scan auditing. Rafi (Mobile): App logs show UI thread blocking while waiting for commit confirmation. Version 3.18.1 only; 3.17.9 doesn’t freeze. Leah (Backend): Temporary mitigation at 10:15 today: disabled duplicate-scan auditing for Dock 4 tenant. Latency dropped to 260 ms; no freezes reported for 95 minutes. Mara (Ops): Please note one side effect: audit exports for Dock 4 will be incomplete until the flag is restored.

**Winner: DeepSeek-V4-Pro** — Model A is a concise, faithful summary of the thread, but it fails the exact word-count requirement because its bullets are not 30 words each. Model B does not perform the requested summarization at all and instead exposes reasoning and prompt restatement, badly violating the instructions. (Second judge pass, order swapped — scores are the average of both: Model A is better because it actually provides a concise three-bullet summary faithful to the thread’s main points, whereas Model B mostly exposes chain-of-thought and never delivers a valid final summary. However, Model A still fails the exact 30-words-per-bullet requirement and omits several specifics.)

#### 3. Nuanced classification

Classify each review's sentiment as "positive", "negative", or "mixed", and give a 6-word-max reason. Return ONLY a JSON array of {"text","label","reason"} in input order. Reviews: ["Fast shipping but the fabric feels cheap.", "Absolutely love it, wearing it daily!", "It broke after a week. Refund was quick and painless though."]

**Winner: DeepSeek-V4-Pro** — Model A fully satisfies the prompt with a valid JSON array in input order, correct sentiment labels, and concise reasons within the six-word limit. Model B includes extensive extraneous analysis instead of returning only the required JSON array, so despite mostly correct classifications, it badly fails instruction adherence. (Second judge pass, order swapped — scores are the average of both: Model A fully follows the instruction to return only a JSON array in input order, with correct sentiment labels and concise reasons. Model B includes extensive extraneous analysis and does not return only a JSON array, which is a major instruction-following failure despite mostly correct classifications.)

#### 4. Localization with tone

Translate this app onboarding line into natural, friendly European Spanish suitable for a mobile toast (keep it under 60 characters, no exclamation marks): "You're all set — your first backup starts tonight." Return only the translation, then the character count in parentheses.

**Winner: DeepSeek-V4-Pro** — Model A provides a concise Spanish translation in the requested output format and stays under 60 characters, though "se hará" is slightly less natural than a present-tense onboarding toast. Model B fails the core instruction by returning extensive meta-reasoning instead of only the translation, despite eventually proposing a plausible option. (Second judge pass, order swapped — scores are the average of both: Model A is far better because it returns a concise Spanish translation in the requested format and stays under 60 characters. Model B fails the task by outputting extensive meta-reasoning instead of only the translation and count, despite eventually containing a plausible option.)

#### 5. project_budget_reasoning

A team is choosing one of three contractors for a 5-week office retrofit. - Contractor Elm charges a fixed setup fee of $3,200 plus $1,850 per week. - Contractor Harbor charges $2,450 per week, with a 12% discount applied to the total weekly charges only if the project lasts at least 5 weeks. - Contractor North charges $1,600 per week plus $2,100 for permits and $900 for cleanup. The company also receives a one-time municipal rebate of $1,500, but only for options whose pre-rebate total exceeds $10,000. Question: After applying any eligible discount and then any eligible rebate, which contractor is cheapest for a 5-week project, and what is the final total cost? Show the calculation clearly.

**Winner: DeepSeek-V4-Pro** — Model A is fully correct, clearly structured, and directly answers the question with concise calculations. Model B eventually reaches the same result, but it includes distracting self-talk, arithmetic confusion, and much weaker presentation despite landing on the correct final answer. (Second judge pass, order swapped — scores are the average of both: Model A is clearly better: it gives the correct calculations in a clean, concise format and directly answers the question. Model B eventually reaches the same conclusion, but it includes distracting self-talk, arithmetic confusion, and repetitive filler that significantly hurts clarity and polish.)

#### 6. Constraint scheduling

Four talks (A, B, C, D) fill four 1-hour slots 9,10,11,12. Constraints: A is before D; C is not first; B is immediately after A; D is not at 12. Give the ONE valid schedule as 'slot: talk' lines, then a one-line justification. If impossible, say so and explain.

**Winner: DeepSeek-V4-Pro** — Model A and Model B both reach the correct unique schedule, but Model A is better because it is concise and much closer to the requested output format. Model B includes extensive unnecessary internal-style narration and repetition, which weakens instruction adherence and writing quality despite being correct. (Second judge pass, order swapped — scores are the average of both: Model A gives the correct unique schedule with a clear, concise justification and clean formatting. Model B is also correct, but it is excessively verbose, includes lots of unnecessary meta-commentary, and does not adhere as tightly to the requested output format.)

#### 7. Concurrency bug fix

This TypeScript function is meant to memoize an async loader but has a race: concurrent callers can each trigger the underlying fetch. Fix it so the fetch runs at most once per key, and a rejected fetch does NOT poison the cache (a later call must retry). Return ONLY the corrected function. `ts const cache = new Map<string, Promise<string>>(); async function load(key: string, fetcher: (k: string) => Promise<string>) { if (cache.has(key)) return cache.get(key)!; const value = await fetcher(key); cache.set(key, Promise.resolve(value)); return value; } `

**Winner: DeepSeek-V4-Pro** — Model A provides the correct fix: it caches the in-flight promise immediately so concurrent callers share it, and deletes the cache entry on rejection so retries are possible. Model B does not follow the instruction to return only the corrected function and mostly provides verbose reasoning instead of a clean final answer. (Second judge pass, order swapped — scores are the average of both: Model A provides the correct memoized async pattern by caching the in-flight promise immediately and deleting it on rejection, and it is close to the requested output. Model B is largely rambling analysis instead of returning only the corrected function, and it never cleanly delivers a compliant final answer.)

#### 8. weekly_refund_sql

Given this schema: customers(customer_id INT, name TEXT, segment TEXT) orders(order_id INT, customer_id INT, order_date DATE, channel TEXT) order_items(order_id INT, sku TEXT, qty INT, unit_price DECIMAL(10,2)) refunds(refund_id INT, order_id INT, refund_date DATE, amount DECIMAL(10,2), reason TEXT) Write a single SQL query that returns, for each customer segment, the total gross merchandise value (sum of qty*unit_price from order_items) for orders placed in Q1 2025, the total refunded amount for refunds issued in Q1 2025 on those orders, and the refund_rate as refunded_amount / GMV rounded to 4 decimals. Include only segments with GMV at least 5000. Return columns: segment, gmv, refunded_amount, refund_rate. Sort by refund_rate DESC, then segment ASC.

**Winner: DeepSeek-V4-Pro** — Model A provides a coherent SQL query that largely matches the requested output and logic, though it could still risk refund double-counting in some schemas if refunds and items were joined directly; its CTE approach avoids that issue. Model B is incomplete, includes irrelevant meta-discussion, and never cleanly delivers a finalized answer that satisfies the prompt. (Second judge pass, order swapped — scores are the average of both: Model A provides a complete, coherent SQL query that matches the requested output and filters. Model B is largely rambling analysis, includes an incomplete/truncated answer, and its shown query risks double-counting GMV when orders have multiple refunds because it joins order_items and refunds at detail level in one aggregation.)

#### 9. Precise proofreading

Correct ONLY the grammar, spelling, and punctuation errors in the sentence below without changing wording, tone, or meaning, then on a second line list each change as 'was -> now'. Sentence: "Its been a long time since we seen there new office, and me and him was suprised how quite it was."

**Winner: DeepSeek-V4-Pro** — Model A directly performs the proofreading and provides a concise change list in the requested format; although it arguably changes wording slightly with "we saw" and "he and I," it is still far closer to the task. Model B does not provide the required final two-line answer at all and instead outputs meta-reasoning, so it fails both correctness and instruction adherence. (Second judge pass, order swapped — scores are the average of both: Model B does not provide the requested final proofread output at all; it gives meta-reasoning and never completes the task. Model A supplies a corrected sentence plus a change list in the requested format, with only a minor issue that it changes "seen" to "saw," which is less minimal than "we've seen.")

#### 10. fr_ca_push_notification

Translate this app notification into French (Canada), in a warm but professional tone, keeping it between 95 and 115 characters including spaces. Preserve the meaning that the payment failed, no charge was made, and the user should try again. Text: "Payment failed. You were not charged. Please check your card details and try again."

**Winner: DeepSeek-V4-Pro** — Model A provides a clear French (Canada) translation that preserves the key meaning and stays within the requested length range, though it slightly shifts "payment failed" to "payment refused." Model B does not provide a usable translation output and instead exposes internal reasoning, badly failing the task and instruction constraints. (Second judge pass, order swapped — scores are the average of both: Model A provides a clean French (Canada) notification that preserves the key meaning and fits the requested length and tone. Model B does not deliver a usable translation as the final output; instead it includes extensive meta-reasoning and irrelevant disclaimer discussion, so it fails the task despite containing a possible candidate sentence within the analysis.)

#### 11. clinic_shift_assignment

Assign exactly one shift to each clinician and fill all four shifts, using the constraints below. Return only the final assignment as lines in the form Shift: Name. Clinicians: Amina, Ben, Chao, Daria Shifts: Mon AM, Mon PM, Tue AM, Tue PM Constraints: - Amina cannot work any PM shift. - Ben cannot work on Monday. - Chao must work earlier in the week than Daria. - The clinician on Tue AM must be either Ben or Daria. - Daria cannot work Tue PM. - Mon PM must be covered by Chao or Daria. - Ben does not work the same time of day as Amina. - Chao cannot work Mon AM. There is exactly one valid solution.

**Winner: DeepSeek-V4-Pro** — Model A gives the correct unique assignment and its reasoning is concise and coherent, though it violates the prompt by including explanation instead of only the final assignment. Model B also reaches the correct assignment, but it is much more verbose, repetitive, and speculative, making it substantially weaker on instruction adherence and writing quality. (Second judge pass, order swapped — scores are the average of both: Model A is better because it reaches the correct unique assignment with clear reasoning and a cleaner presentation. Model B also finds the correct assignment, but it badly violates the prompt’s requirement to return only the final assignment and includes rambling, repetitive analysis.)

#### 12. lru_cache_python

Implement an LRU cache in Python. Requirements: - Class name: LRUCache - Methods: - **init**(self, capacity: int) - get(self, key: int) -> int # return value or -1 if missing - put(self, key: int, value: int) -> None - Both get and put must run in O(1) average time. - When capacity is exceeded, evict the least recently used key. - Updating an existing key should refresh its recency. - Use only the Python standard library. - Return code only, no explanation.

**Winner: DeepSeek-V4-Pro** — Model A provides a valid O(1)-average LRU cache implementation and mostly follows the prompt, though it does not handle a zero capacity edge case. Model B includes substantial explanatory text instead of returning code only, so despite containing a correct code snippet, it fails the instruction-following requirement badly. (Second judge pass, order swapped — scores are the average of both: Model A provides a valid O(1)-average LRU cache implementation and mostly follows the prompt, with only a minor formatting issue from including code fences. Model B includes extensive explanatory text instead of returning code only, which substantially violates the instruction despite the embedded code being largely correct.)

See every prompt and the full side-by-side outputs in the [interactive Head-to-Head](/head-to-head/head-to-head-deepseek-v4-pro-vs-phi-4-reasoning).
