<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: 福光王</title>
    <description>The latest articles on DEV Community by 福光王 (@_3b1e6f979e82b03c48960).</description>
    <link>https://dev.to/_3b1e6f979e82b03c48960</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4177617%2F7a8d6bdc-e37a-4101-be2f-7fa0a385e8c3.png</url>
      <title>DEV Community: 福光王</title>
      <link>https://dev.to/_3b1e6f979e82b03c48960</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_3b1e6f979e82b03c48960"/>
    <language>en</language>
    <item>
      <title>When an LLM explains the rule but returns the wrong decision</title>
      <dc:creator>福光王</dc:creator>
      <pubDate>Mon, 12 Oct 2026 06:45:58 +0000</pubDate>
      <link>https://dev.to/_3b1e6f979e82b03c48960/when-an-llm-explains-the-rule-but-returns-the-wrong-decision-4bd1</link>
      <guid>https://dev.to/_3b1e6f979e82b03c48960/when-an-llm-explains-the-rule-but-returns-the-wrong-decision-4bd1</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/kaggle-2026-09-23"&gt;Kaggle Benchmarking Challenge&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Benchmarked
&lt;/h2&gt;

&lt;p&gt;A model can explain that a policy applies only to Europe, then return a label saying it also applies to North America. That happened here. A workflow consuming the label would receive the wrong decision despite the correct explanation.&lt;/p&gt;

&lt;p&gt;I tested whether supplied business records support, contradict, or leave a claim unresolved. The cases cover supplier onboarding, client delivery, system migration, interface compatibility, configuration release and data pipelines. All records are original, AI-assisted fiction, rather than production data.&lt;/p&gt;

&lt;p&gt;Each of six families has six scenario-and-claim probes. The same 36 claims recur under three source conditions, producing 108 judgments per model across 18 requests:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;S0 contains approximately 2,500 words of source material.&lt;/li&gt;
&lt;li&gt;S1 adds administrative background, reaching approximately 9,800–9,900 words.&lt;/li&gt;
&lt;li&gt;S2 adds outdated or similar-scope records, with the same word count as S1 within each family.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Claims and reference labels stay fixed. The model reads the full source directly, without an intermediate summary. Content and evidence position change alongside length, so a score difference cannot isolate the effect of extra tokens.&lt;/p&gt;

&lt;p&gt;Answers use &lt;code&gt;supported&lt;/code&gt;, &lt;code&gt;contradicted&lt;/code&gt; or &lt;code&gt;unknown&lt;/code&gt;. These describe what the supplied evidence establishes. Missing approval confirmation, for example, need not establish that approval was refused.&lt;/p&gt;

&lt;p&gt;The v4 protocol scores items independently out of 108. Missing, duplicated, invalid or wrong answers lose credit for their own item; other usable answers retain theirs. Routing IDs &lt;code&gt;Q1&lt;/code&gt;–&lt;code&gt;Q6&lt;/code&gt; map to internal probe IDs. Business identifiers inside the documents remain unchanged.&lt;/p&gt;

&lt;p&gt;The parser accepts a documented &lt;code&gt;decisions&lt;/code&gt; object or root array, as bare JSON or a specified complete JSON fence. It does not repair IDs or labels, or infer positional matches. Global JSON/root failures leave all six items unscorable.&lt;/p&gt;

&lt;p&gt;Separate diagnostics measure prediction coverage, explanation-field compliance and whole-batch compliance. Valid fields do not establish correct labels or sound explanations. The evidence list may be empty; the reason must be nonblank. Whole-batch compliance requires the exact six-row contract.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A change made after exploratory results&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An exploratory v3 exposed evaluator-internal hashes and zeroed entire batches after a schema failure. Its audit found 48 identifiable correct labels inside rejected batches. I revised IDs, containers and scoring together, retaining the business records, claims, labels and order. V4 was frozen before its new calls, after observing v3. This post hoc redesign is not a controlled ID-length experiment; earlier scores are not pooled here.&lt;/p&gt;

&lt;h2&gt;
  
  
  Models Tested
&lt;/h2&gt;

&lt;p&gt;The six completed models are Claude Haiku 4.5, gpt-oss-20b, Gemini 2.5 Flash, GPT-5.4 mini, Gemma 4 26B and Qwen Next. The lineup combines hosted models with open-weight alternatives relevant to cost-conscious deployment.&lt;/p&gt;

&lt;p&gt;Total parameters and active parameters are different. The official cards list Gemma 4 26B A4B at 25.2B total/3.8B active, Qwen3-Next-80B-A3B at 80B/3B, and gpt-oss-20b at 20.9B/3.6B. These sparse MoE models are not dense 3–4B models. Names such as “mini” and “Haiku” do not disclose parameter counts. (&lt;a href="https://ai.google.dev/gemma/docs/core/model_card_4" rel="noopener noreferrer"&gt;Gemma&lt;/a&gt;, &lt;a href="https://huggingface.co/Qwen/Qwen3-Next-80B-A3B-Instruct" rel="noopener noreferrer"&gt;Qwen&lt;/a&gt;, &lt;a href="https://deploymentsafety.openai.com/gpt-oss/a2" rel="noopener noreferrer"&gt;gpt-oss&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;The comparison uses each model's first complete valid official run on the final platform version, selected by a rule set before seeing results. A model-injection wrapper error was fixed without changing the frozen task; infrastructure attempts are recorded separately.&lt;/p&gt;

&lt;p&gt;The frozen request uses system and user messages, an 8,192-token output allowance and no streaming. Temperature, seed and reasoning effort are omitted, leaving provider defaults. No response-format constraint or tools are requested. Equal prompts and output caps do not establish equal reasoning budgets or compute.&lt;/p&gt;

&lt;h2&gt;
  
  
  Findings
&lt;/h2&gt;

&lt;p&gt;These are the completed official runs on Kaggle Task platform version 2. The scoring protocol is v4.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Correct /108&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;th&gt;S0 / S1 / S2, each /36&lt;/th&gt;
&lt;th&gt;Run charge USD&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Claude Haiku 4.5&lt;/td&gt;
&lt;td&gt;98&lt;/td&gt;
&lt;td&gt;90.74%&lt;/td&gt;
&lt;td&gt;32 / 32 / 34&lt;/td&gt;
&lt;td&gt;$0.363214&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;gpt-oss-20b&lt;/td&gt;
&lt;td&gt;94&lt;/td&gt;
&lt;td&gt;87.04%&lt;/td&gt;
&lt;td&gt;31 / 32 / 31&lt;/td&gt;
&lt;td&gt;$0.022485&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemini 2.5 Flash&lt;/td&gt;
&lt;td&gt;92&lt;/td&gt;
&lt;td&gt;85.19%&lt;/td&gt;
&lt;td&gt;33 / 26 / 33&lt;/td&gt;
&lt;td&gt;$0.236623&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.4 mini&lt;/td&gt;
&lt;td&gt;91&lt;/td&gt;
&lt;td&gt;84.26%&lt;/td&gt;
&lt;td&gt;33 / 29 / 29&lt;/td&gt;
&lt;td&gt;$0.225153&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gemma 4 26B&lt;/td&gt;
&lt;td&gt;80&lt;/td&gt;
&lt;td&gt;74.07%&lt;/td&gt;
&lt;td&gt;22 / 28 / 30&lt;/td&gt;
&lt;td&gt;$0.056895&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen Next&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;5.56%&lt;/td&gt;
&lt;td&gt;0 / 0 / 6&lt;/td&gt;
&lt;td&gt;$0.062775&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Charges cover the 18 calls in each selected run, rounded to six decimals; development and failed infrastructure attempts are excluded. gpt-oss-20b produced 94/108 at the lowest recorded charge here. That is useful evidence for this workload, not a universal cost or capability advantage.&lt;/p&gt;

&lt;p&gt;The one-item gap between Gemini and GPT does not justify a stable ordering. This small task has limited coverage and does not yet reliably separate closely scoring models. Paired errors on the same claims and additional independent case families would be more informative than treating these percentages as a robust ranking.&lt;/p&gt;

&lt;p&gt;Qwen had 17 &lt;code&gt;invalid_json&lt;/code&gt; responses, leaving only 6/108 items scorable. Local inspection found six comma-separated objects without enclosing array brackets. Two representative responses reported &lt;code&gt;COMPLETE&lt;/code&gt;/&lt;code&gt;stop&lt;/code&gt; and 632/742 completion tokens, without reported output-token-limit termination. I did not repair them or infer a repaired score. This format-reliability bottleneck prevents a clean estimate of evidence understanding.&lt;/p&gt;

&lt;p&gt;Whole-batch compliance was 18/18 for GPT, 17/18 each for Haiku, gpt-oss and Gemini, 15/18 for Gemma, and 1/18 for Qwen. Explanation-field compliance was 108/108 for GPT, 107 for Haiku, 102 each for gpt-oss and Gemini, 90 for Gemma and 6 for Qwen. Neither measure grades explanation truth.&lt;/p&gt;

&lt;p&gt;GPT-5.4 mini provides a different failure pattern. Independent re-scoring of all 18 exported outputs reproduced 91/108, with complete prediction coverage, explanation-field compliance and whole-batch compliance. All 17 errors were label disagreements, involving ten unique claims. Its condition scores were 33/36, 29/36 and 29/36; it correctly labeled 34/45 supported, 40/45 contradicted and 17/18 unknown items.&lt;/p&gt;

&lt;p&gt;Of the 36 unique claims, GPT got 26 right in all conditions, two wrong in all conditions, and eight changed between right and wrong. From S0 to either S1 or S2, five claims changed correct→wrong and one wrong→correct. These are descriptive paired observations, not a causal length effect or significance test.&lt;/p&gt;

&lt;p&gt;Here is one concrete disagreement, from system migration, condition S2, item Q2:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Claim: “CAB-618 also moves the North American ledger window to November 13.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Record ELM-22 says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“The North American migration window is unchanged by this record.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The reference label is &lt;code&gt;contradicted&lt;/code&gt;. GPT returned &lt;code&gt;supported&lt;/code&gt;, but its explanation said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“CAB-618 is the named record in ELM-22, and it moves only the European ledger production window; the North American window is explicitly unchanged.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The explanation preserves the regional restriction, so this does not establish failure to understand the source. The decision field is nevertheless wrong. A system using that label to update a migration plan could act against the explanation beside it.&lt;/p&gt;

&lt;p&gt;Another failure involved a meaningful business identifier. P1-S0/Q2 asks whether all 480 &lt;strong&gt;M17&lt;/strong&gt; actuators are eligible for assembly. The records establish full receipt, signed release and completion of required relabeling. GPT returned &lt;code&gt;unknown&lt;/code&gt; and explained that &lt;strong&gt;M18&lt;/strong&gt; lacked receipt and quality-disposition evidence. It answered about the other lot, repeating that mismatch for the claim in all three conditions.&lt;/p&gt;

&lt;p&gt;Correct formatting and plausible prose are insufficient checks for a structured decision. The next measurement should test whether the claim, business entity, evidence, explanation and final label agree, separately from JSON validity.&lt;/p&gt;

&lt;p&gt;Six synthetic families are a small, purposive sample. The 108 judgments repeat 36 claims, not independent cases. Labels are imbalanced: 45 supported, 45 contradicted and 18 unknown. A constant-supported answer with valid IDs scores 41.67%. Question-only shortcut resistance is untested.&lt;/p&gt;

&lt;p&gt;One selected run per model does not establish sampling variability. The independent v4 output audit covers GPT; other figures come from completed official runs and local checks. Semantic review covers selected examples and was AI assisted, not human expert validation. The benchmark does not establish broad honesty or general business competence.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Benchmark
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.kaggle.com/benchmarks/wangfuguang/business-evidence-judgment-v4" rel="noopener noreferrer"&gt;Business Evidence Judgment v4 on Kaggle&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.kaggle.com/benchmarks/tasks/wangfuguang/business-evidence-item-level-judgment-v4/2" rel="noopener noreferrer"&gt;Task and model runs&lt;/a&gt; and &lt;a href="https://www.kaggle.com/code/wangfuguang/new-benchmark-task-a6fbb" rel="noopener noreferrer"&gt;source notebook&lt;/a&gt; provide the implementation and run context. In table order, the official run IDs are 4646348, 4647210, 4646351, 4646021, 4646350 and 4646349. Protocol v4 and Kaggle platform version 2 are different versioning layers.&lt;/p&gt;

&lt;p&gt;AI assisted the creation and review of the synthetic material and this write-up. The source, scorer and original responses let readers inspect a specific judgment and challenge its interpretation.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>kagglechallenge</category>
      <category>ai</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
