<?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: Kristofer Jussmann</title>
    <description>The latest articles on DEV Community by Kristofer Jussmann (@ker102).</description>
    <link>https://dev.to/ker102</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%2F3838976%2F82e110e3-cd86-496b-b460-d9ee4c0972c5.jpeg</url>
      <title>DEV Community: Kristofer Jussmann</title>
      <link>https://dev.to/ker102</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ker102"/>
    <language>en</language>
    <item>
      <title>Fine-Tuning Is Often the Wrong First Move: Introducing Harneloop</title>
      <dc:creator>Kristofer Jussmann</dc:creator>
      <pubDate>Thu, 23 Jul 2026 16:45:04 +0000</pubDate>
      <link>https://dev.to/ker102/fine-tuning-is-often-the-wrong-first-move-introducing-harneloop-okl</link>
      <guid>https://dev.to/ker102/fine-tuning-is-often-the-wrong-first-move-introducing-harneloop-okl</guid>
      <description>&lt;p&gt;When an AI agent repeatedly fails at a specific task, the default reaction is often to use a better model or fine-tune the current one.&lt;/p&gt;

&lt;p&gt;That can be the wrong first move.&lt;/p&gt;

&lt;p&gt;The model is only one part of an agent. Its harness controls the context it receives, tools it can use, environment it can inspect, feedback it gets, and whether one failure becomes a durable improvement.&lt;/p&gt;

&lt;p&gt;I built &lt;a href="https://github.com/Ker102/Harneloop" rel="noopener noreferrer"&gt;Harneloop&lt;/a&gt; to make that improvement process structured and verifiable.&lt;/p&gt;

&lt;h2&gt;
  
  
  The loop
&lt;/h2&gt;

&lt;p&gt;Harneloop asks the operating agent to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;attempt a real task;&lt;/li&gt;
&lt;li&gt;inspect the resulting artifacts, state, logs, and traces;&lt;/li&gt;
&lt;li&gt;trace likely failures back through the recorded run;&lt;/li&gt;
&lt;li&gt;create an isolated candidate change to the harness;&lt;/li&gt;
&lt;li&gt;retest the candidate and relevant regressions;&lt;/li&gt;
&lt;li&gt;promote the change only when evidence supports an improvement.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The candidate can change more than a system prompt. It can add tools, retrieval, examples, validators, environment automation, skills, or any other task-specific infrastructure.&lt;/p&gt;

&lt;p&gt;The working harness remains unchanged while the candidate is tested. Failed experiments do not silently become production state.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why artifacts matter
&lt;/h2&gt;

&lt;p&gt;A command can succeed while the result is wrong.&lt;/p&gt;

&lt;p&gt;An interface can compile but fail visually. A scene can render but violate the requested spatial relationships. A document can be valid but communicate the wrong thing. A browser workflow can finish in the wrong state.&lt;/p&gt;

&lt;p&gt;For these tasks, the artifact is part of the evidence.&lt;/p&gt;

&lt;p&gt;Harneloop links artifacts and observations to the exact run that produced them. That gives the agent a way to move from “this looks wrong” to a trace-backed hypothesis about what should change in the harness.&lt;/p&gt;

&lt;h2&gt;
  
  
  Portable harness units
&lt;/h2&gt;

&lt;p&gt;Each task-specific development environment is stored as a &lt;strong&gt;harness unit&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A harness unit carries the target definition, operational map, reusable harness material, candidates, evidence references, regression cases, and promoted versions. The agent can add custom scripts, research, retrieval data, infrastructure, or entirely new directories when necessary.&lt;/p&gt;

&lt;p&gt;Harneloop protects the lifecycle rather than putting the agent in a rigid template.&lt;/p&gt;

&lt;p&gt;Successful units can be paused, restored, moved, packaged, or exported into another agent or application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why harness-first?
&lt;/h2&gt;

&lt;p&gt;Research has repeatedly shown that inference-time systems can change agent performance without changing model weights.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://arxiv.org/abs/2405.15793" rel="noopener noreferrer"&gt;SWE-agent&lt;/a&gt; demonstrated the impact of a purpose-built agent-computer interface. &lt;a href="https://arxiv.org/abs/2303.11366" rel="noopener noreferrer"&gt;Reflexion&lt;/a&gt; and &lt;a href="https://arxiv.org/abs/2303.17651" rel="noopener noreferrer"&gt;Self-Refine&lt;/a&gt; showed gains from feedback and iterative refinement without additional training. The 2026 &lt;a href="https://arxiv.org/abs/2606.09498" rel="noopener noreferrer"&gt;Self-Harness&lt;/a&gt; paper directly demonstrated agents mining weaknesses from traces, proposing harness changes, and validating them with regression tests.&lt;/p&gt;

&lt;p&gt;This does not mean harnesses always beat fine-tuning. Fine-tuning can still be useful for behavior, style, latency, or capabilities that cannot be supplied effectively at inference time.&lt;/p&gt;

&lt;p&gt;The practical rule is narrower:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When the bottleneck is context, tools, retrieval, feedback, validation, memory, or environment interaction, test the harness before changing the weights.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Initial evidence
&lt;/h2&gt;

&lt;p&gt;Harneloop was first used to develop ViperMesh, a Blender harness for spatial reasoning and scene generation.&lt;/p&gt;

&lt;p&gt;The benchmark held the acting model fixed at OpenAI GPT 5.5 High and compared ViperMesh with the Anthropic x Blender MCP server baseline.&lt;/p&gt;

&lt;p&gt;Across seven comparable live tasks, ViperMesh:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;was faster on &lt;strong&gt;6 of 7&lt;/strong&gt; tasks;&lt;/li&gt;
&lt;li&gt;achieved a &lt;strong&gt;2.534x mean speedup&lt;/strong&gt;;&lt;/li&gt;
&lt;li&gt;improved preliminary neutral LLM visual evaluation by &lt;strong&gt;8.19 points&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Harneloop did not generate the scenes. It structured the process used to inspect failures, improve the harness, preserve evidence, and verify whether changes helped.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.kristoferjussmann.me/case-studies/vipermesh" rel="noopener noreferrer"&gt;full ViperMesh case study&lt;/a&gt; includes methodology and limitations. It is evidence from one task family, not a universal harness-versus-fine-tuning benchmark.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it on a real task
&lt;/h2&gt;

&lt;p&gt;Harneloop is optimized for agent-led setup. Give the &lt;a href="https://github.com/Ker102/Harneloop" rel="noopener noreferrer"&gt;repository&lt;/a&gt; to a capable coding agent and describe what you want the harness to improve. The agent can install the framework, map the environment, create the first harness unit, and ask for missing information when needed.&lt;/p&gt;

&lt;p&gt;I am looking for independent use cases, including unsuccessful ones. The most useful feedback concerns onboarding, environment mapping, evidence quality, runtime cost, candidate decisions, and tasks where the harness reaches its limit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repository:&lt;/strong&gt; &lt;a href="https://github.com/Ker102/Harneloop" rel="noopener noreferrer"&gt;https://github.com/Ker102/Harneloop&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Case study:&lt;/strong&gt; &lt;a href="https://www.kristoferjussmann.me/case-studies/vipermesh" rel="noopener noreferrer"&gt;https://www.kristoferjussmann.me/case-studies/vipermesh&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>agents</category>
      <category>llmops</category>
    </item>
    <item>
      <title>Kaelux: Engineering the Future of Intelligent Infrastructure</title>
      <dc:creator>Kristofer Jussmann</dc:creator>
      <pubDate>Mon, 06 Apr 2026 21:22:48 +0000</pubDate>
      <link>https://dev.to/ker102/kaelux-engineering-the-future-of-intelligent-infrastructure-2ido</link>
      <guid>https://dev.to/ker102/kaelux-engineering-the-future-of-intelligent-infrastructure-2ido</guid>
      <description>&lt;h1&gt;
  
  
  Why Custom LLM Systems Are Replacing Off-the-Shelf AI Tools
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Published by &lt;a href="https://kaelux.dev" rel="noopener noreferrer"&gt;Kaelux AI Engineering&lt;/a&gt; — a global agency building custom LLM systems, RAG pipelines, and intelligent automation for businesses.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem with One-Size-Fits-All AI
&lt;/h2&gt;

&lt;p&gt;Frontier models are incredible tools. But if you're trying to build a serious product or automate a critical business workflow, you've probably hit the wall:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No access to your proprietary data.&lt;/strong&gt; Generic models don't know your contracts, your product catalog, or your internal documentation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unreliable outputs.&lt;/strong&gt; Hallucinations in customer-facing applications aren't just annoying — they're a liability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero control over reasoning.&lt;/strong&gt; You can't audit why the model made a decision, and you can't constrain its behavior in production-critical ways.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vendor lock-in.&lt;/strong&gt; Building on top of a single provider's API means your entire product roadmap depends on someone else's pricing and deprecation schedule.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is why teams are increasingly investing in &lt;strong&gt;custom LLM systems&lt;/strong&gt; — purpose-built AI infrastructure that integrates directly with their own data, reasoning chains, and deployment requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "Custom LLM" Actually Means
&lt;/h2&gt;

&lt;p&gt;Let's be precise. A custom LLM system isn't about training a model from scratch. It's an architecture that typically includes:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Retrieval-Augmented Generation (RAG)
&lt;/h3&gt;

&lt;p&gt;Instead of relying on the model's parametric memory, you pipe real-time data from your own knowledge base into the model's context window at inference time.&lt;/p&gt;

&lt;p&gt;At &lt;a href="https://kaelux.dev" rel="noopener noreferrer"&gt;Kaelux&lt;/a&gt;, we've built RAG pipelines ranging from naive vector retrieval to &lt;strong&gt;Corrective RAG (CRAG)&lt;/strong&gt; architectures that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Detect when retrieved documents are irrelevant&lt;/li&gt;
&lt;li&gt;Fall back to live web search for grounding&lt;/li&gt;
&lt;li&gt;Re-rank results using cross-encoder models before passing them to the LLM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This matters because retrieval quality is the single biggest determinant of AI output quality in enterprise settings.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Multi-Model Routing: Density vs. Speed
&lt;/h3&gt;

&lt;p&gt;Stop sending simple tasks to frontier models. We build routers that classify intent and dispatch queries to the most cost-effective compute:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Small Language Models (SLMs)&lt;/strong&gt; for extraction and classification.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontier LLMs&lt;/strong&gt; for deep reasoning and creative synthesis.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This cuts inference costs by 60-80% while maintaining accuracy where it matters.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Structured Generation &amp;amp; Tool Use
&lt;/h3&gt;

&lt;p&gt;Production AI systems need to output valid JSON, call APIs, and interact with databases — not just generate prose. Structured generation using JSON schemas, function calling, and constrained decoding ensures the model's output is machine-readable and actionable.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Agentic Workflows
&lt;/h3&gt;

&lt;p&gt;The most advanced systems use &lt;strong&gt;AI agents&lt;/strong&gt; — autonomous processes that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Plan multi-step workflows&lt;/li&gt;
&lt;li&gt;Execute tool calls (database queries, API requests, file operations)&lt;/li&gt;
&lt;li&gt;Self-evaluate and retry on failure&lt;/li&gt;
&lt;li&gt;Orchestrate across multiple services&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At Kaelux, we build these using LangGraph for complex reasoning chains and n8n for event-driven workflow automation.&lt;/p&gt;

&lt;h2&gt;
  
  
  When Should You Go Custom?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Go custom when:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your AI interacts with proprietary/sensitive data (legal, medical, financial)&lt;/li&gt;
&lt;li&gt;You need deterministic behavior and audit trails&lt;/li&gt;
&lt;li&gt;Cost-per-query matters at scale&lt;/li&gt;
&lt;li&gt;You're building AI as a product feature, not just an internal tool&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Stay with off-the-shelf when:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;By deploying on high-performance Enterprise IaaS, we achieved sub-400ms latency. The same system on a generic API would have cost 10x more and gated the user behind a 5-second "Thinking..." spinner.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Kaelux Engineering Framework
&lt;/h2&gt;

&lt;p&gt;Rather than relying on off-the-shelf boilerplates, we've engineered a unified framework for rapid, high-performance deployment:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Specialization&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Delivery&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Edge-Native Serverless &amp;amp; Hybrid-Cloud Orchestration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Orchestration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;LangGraph, n8n, and Custom Event-Driven Buses&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Retrieval&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;CRAG pipelines, Cross-Encoder Re-rankers, and ModernBERT embeddings&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Intelligence&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Frontier LLMs (Gemini/OpenAI), specialized SLMs (Mistral/Qwen), and proprietary fine-tuned model-weights&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Infrastructure&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Proxmox-managed Private Cloud, Azure ML clusters, and containerized IaaS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Monitoring&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Distributed latency tracking and RAG retrieval-quality observability&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;The era of the "all-in-one" frontier model is shifting. We are entering the age of &lt;strong&gt;Agentic Orchestration&lt;/strong&gt; — where the value isn't in the model itself, but in the systems that wrap around it.&lt;/p&gt;

&lt;p&gt;If you're exploring this path, &lt;a href="https://kaelux.dev/solutions" rel="noopener noreferrer"&gt;reach out to Kaelux&lt;/a&gt; or check our &lt;a href="https://kaelux.dev/wiki" rel="noopener noreferrer"&gt;AI Engineering Wiki&lt;/a&gt; for technical deep dives on RAG, hallucination prevention, and agentic workflows.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;About the author:&lt;/strong&gt; This article is published by &lt;strong&gt;Kaelux&lt;/strong&gt; (&lt;a href="https://kaelux.dev" rel="noopener noreferrer"&gt;kaelux.dev&lt;/a&gt;), an AI engineering agency building custom LLM systems, RAG pipelines, and intelligent automation for businesses worldwide. Founded by Kristofer Jussmann.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; #ai #llm #rag #machinelearning #webdev #kaelux #engineering #automation&lt;/p&gt;

</description>
      <category>ai</category>
      <category>software</category>
      <category>llm</category>
      <category>architecture</category>
    </item>
    <item>
      <title>What We Learned From Analyzing 28,000 Production AI System Prompts</title>
      <dc:creator>Kristofer Jussmann</dc:creator>
      <pubDate>Tue, 24 Mar 2026 15:13:26 +0000</pubDate>
      <link>https://dev.to/ker102/what-we-learned-from-analyzing-28000-production-ai-system-prompts-4mmm</link>
      <guid>https://dev.to/ker102/what-we-learned-from-analyzing-28000-production-ai-system-prompts-4mmm</guid>
      <description>&lt;p&gt;Over the last few months developing PromptTriage, we've collected and analyzed over &lt;strong&gt;28,000 production system prompts&lt;/strong&gt;. Most are bloated, contradictory, and actively hurt reasoning quality.&lt;/p&gt;




&lt;h2&gt;
  
  
  📉 Anti-Pattern 1: The "Emotional Blackmail" Scaffold (14%)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FKer102%2FPromptTriage%2Freleases%2Fdownload%2F28k-study-system%2FBar_chart_anti-pattern_202603241606.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FKer102%2FPromptTriage%2Freleases%2Fdownload%2F28k-study-system%2FBar_chart_anti-pattern_202603241606.jpeg" alt="Anti-Pattern Prevalence in 28,000 Production System Prompts" width="800" height="446"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Caption: Anti-Pattern Prevalence in 28,000 Production System Prompts. (Full-width hero chart)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Over &lt;strong&gt;14%&lt;/strong&gt; still contain emotional appeals:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Take a deep breath. If you miss a bug, the company will lose millions."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Why it fails:&lt;/strong&gt; Modern RLHF has trained out the "anxiety" response. Emotional context distracts self-attention from the actual task.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏗️ Anti-Pattern 2: The "Just in Case" Clause (62%)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;62% of prompts over 300 words&lt;/strong&gt; contained contradictory constraints. Our Study E data proved short prompts (&amp;lt;50 words, scoring 80.1/100) consistently outperform long ones (&amp;gt;300 words, 66.9/100).&lt;/p&gt;




&lt;h2&gt;
  
  
  🎭 Anti-Pattern 3: The "World Class Expert" Trap (80%)
&lt;/h2&gt;

&lt;p&gt;Nearly &lt;strong&gt;80%&lt;/strong&gt; started with "Act as a world-class expert." Our Study C proved this provides zero lift on modern models (~78/100 with or without it).&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 The Fix: The 50-Word Rule
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;State the role (10 words):&lt;/strong&gt; "Extract data from SEC filings."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State negatives (20 words):&lt;/strong&gt; "Do not include pleasantries. Do not output markdown."&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Halt.&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://prompttriage.kaelux.dev" rel="noopener noreferrer"&gt;PromptTriage&lt;/a&gt; compresses 500-word prompts to the optimal 50-word framework.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devops</category>
      <category>machinelearning</category>
      <category>promptengineering</category>
    </item>
    <item>
      <title>AI Format Wars: Does the Shape of Your Prompt Matter? (1,080 Evals Later)</title>
      <dc:creator>Kristofer Jussmann</dc:creator>
      <pubDate>Sun, 22 Mar 2026 22:40:35 +0000</pubDate>
      <link>https://dev.to/ker102/ai-format-wars-does-the-shape-of-your-prompt-matter-1080-evals-later-3fn7</link>
      <guid>https://dev.to/ker102/ai-format-wars-does-the-shape-of-your-prompt-matter-1080-evals-later-3fn7</guid>
      <description>&lt;h1&gt;
  
  
  AI Format Wars: Does the Shape of Your Prompt Matter? (1,080 Evals Later)
&lt;/h1&gt;

&lt;p&gt;We spend hours tweaking the &lt;em&gt;words&lt;/em&gt; in our prompts, but how much thought do we give to the &lt;strong&gt;structure&lt;/strong&gt;? If you ask an AI to return data in JSON vs. Markdown, or if you write a concise 50-word prompt vs. a detailed 500-word prompt, does the quality of the reasoning actually change?&lt;/p&gt;

&lt;p&gt;To find out, I ran &lt;strong&gt;Study E v2: The Format Wars&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I subjected 5 frontier models to &lt;strong&gt;1,080 rigorous evaluations&lt;/strong&gt; across 12 distinct task domains (coding, math, data extraction, analysis, creative writing, and more). Every single evaluation was scored blindly by a 3-judge LLM jury on a 100-point scale.&lt;/p&gt;

&lt;p&gt;The results completely changed how I build AI applications.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔬 The Setup: 1,080 Evaluations
&lt;/h2&gt;

&lt;p&gt;We tested five heavyweight models:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;GPT-5.4&lt;/strong&gt; (OpenAI)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Nemotron 3 Super 120B&lt;/strong&gt; (Nvidia)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Claude Sonnet 4.6&lt;/strong&gt; (Anthropic)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Gemini 3.1 Pro&lt;/strong&gt; (Google)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Qwen 3.5 397B&lt;/strong&gt; (Alibaba)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For each model, we ran 216 evaluations testing 18 unique prompt configurations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;6 Formats:&lt;/strong&gt; Plain Text, Markdown, XML, JSON, YAML, Hybrid (Text + Code Blocks)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;3 Lengths:&lt;/strong&gt; Short (&amp;lt;50 words), Medium (~150 words), Long (&amp;gt;300 words)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The scoring was handled by a ruthless 3-judge panel (Llama 4 Maverick, Claude Opus 4.6, and Atla Selene Mini) grading on instruction following, reasoning quality, formatting adherence, and edge-case handling.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏆 Finding 1: The Model Rankings
&lt;/h2&gt;

&lt;p&gt;Before looking at formats, how did the models perform overall across all 18 permutations?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FKer102%2FPromptTriage%2Freleases%2Fdownload%2FResearch-chart%2FEnhance_horizontal_bar_202603222302.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FKer102%2FPromptTriage%2Freleases%2Fdownload%2FResearch-chart%2FEnhance_horizontal_bar_202603222302.jpeg" alt="Overall Model Rankings — Average Score out of 100 (1,080 evaluations)" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;🥇 &lt;strong&gt;GPT-5.4:&lt;/strong&gt; &lt;code&gt;88.1 / 100&lt;/code&gt; — Won 10 out of 12 task domains&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🥈 &lt;strong&gt;Nemotron 120B:&lt;/strong&gt; &lt;code&gt;85.1 / 100&lt;/code&gt; — Won 1 domain (Data Extraction), extremely close to GPT-5.4&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🥉 &lt;strong&gt;Claude Sonnet 4.6:&lt;/strong&gt; &lt;code&gt;69.5 / 100&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Gemini 3.1 Pro:&lt;/strong&gt; &lt;code&gt;62.6 / 100&lt;/code&gt; — Won 1 domain (Question Answering)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Qwen 397B:&lt;/strong&gt; &lt;code&gt;61.0 / 100&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Takeaway:&lt;/strong&gt; GPT-5.4 is the undeniable reasoning king right now. But Nvidia's Nemotron 120B is a shocking powerhouse—it scored incredibly close and actually beat GPT-5.4 outright in Data Extraction tasks. If you aren't testing Nemotron in your pipelines, you are missing out.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FKer102%2FPromptTriage%2Freleases%2Fdownload%2FResearch-chart%2FPie_chart_with_202603222343.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FKer102%2FPromptTriage%2Freleases%2Fdownload%2FResearch-chart%2FPie_chart_with_202603222343.jpeg" alt="Task Domain Winners — GPT-5.4 dominates 10/12, but Nemotron owns Extraction" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧱 Finding 2: The Best Format is... JSON?
&lt;/h2&gt;

&lt;p&gt;If you want the highest quality reasoning and instruction following from an LLM, what format should you ask it to return?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FKer102%2FPromptTriage%2Freleases%2Fdownload%2FResearch-chart%2FHorizontal_bar_chart_202603222343.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FKer102%2FPromptTriage%2Freleases%2Fdownload%2FResearch-chart%2FHorizontal_bar_chart_202603222343.jpeg" alt="Format Impact on Reasoning Quality — Averaged Over All 5 Models" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;YAML:&lt;/strong&gt; &lt;code&gt;74.6 / 100&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;JSON:&lt;/strong&gt; &lt;code&gt;74.4 / 100&lt;/code&gt; (Statistical tie with YAML)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Hybrid:&lt;/strong&gt; &lt;code&gt;73.5 / 100&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;XML:&lt;/strong&gt; &lt;code&gt;73.3 / 100&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Markdown:&lt;/strong&gt; &lt;code&gt;72.9 / 100&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Plain Text:&lt;/strong&gt; &lt;code&gt;70.8 / 100&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Takeaway:&lt;/strong&gt; Asking the model to structure its output in JSON or YAML doesn't just make it easier for your code to parse—&lt;strong&gt;it actually improves the model's reasoning.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Why? Forcing the model into a strict structural schema (like JSON keys) acts as a &lt;strong&gt;cognitive scaffold&lt;/strong&gt;. It forces the model to categorize its thoughts before generating output, leading to fewer hallucinations and better instruction adherence. Plain unstructured text performed the worst across the board.&lt;/p&gt;

&lt;p&gt;But here's the nuance: different models prefer different formats:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FKer102%2FPromptTriage%2Freleases%2Fdownload%2FResearch-chart%2FHeatmap_chart_with_202603222343.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FKer102%2FPromptTriage%2Freleases%2Fdownload%2FResearch-chart%2FHeatmap_chart_with_202603222343.jpeg" alt="Format × Model Heatmap — The sweet-spot varies by model" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: While JSON was the best overall, Nemotron and Qwen actually performed slightly better when outputting YAML.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📏 Finding 3: The Prompt Length Paradox
&lt;/h2&gt;

&lt;p&gt;We've been trained to write massive, highly detailed "megaprompts" with endless context. But the data reveals a startling paradox:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FKer102%2FPromptTriage%2Freleases%2Fdownload%2FResearch-chart%2F3-bar_chart_enhancements_202603222343.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FKer102%2FPromptTriage%2Freleases%2Fdownload%2FResearch-chart%2F3-bar_chart_enhancements_202603222343.jpeg" alt="The Length Paradox — Shorter Prompts Win Across All Models" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Short Prompts (&amp;lt;50 words):&lt;/strong&gt; &lt;code&gt;80.1 / 100&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Medium Prompts (~150 words):&lt;/strong&gt; &lt;code&gt;72.8 / 100&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Long Prompts (&amp;gt;300 words):&lt;/strong&gt; &lt;code&gt;66.9 / 100&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Takeaway:&lt;/strong&gt; Across all 5 models and all 6 formats, &lt;strong&gt;short prompts absolutely demolished long prompts.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you flood the context window with too many instructions, constraints, and examples, the model suffers from &lt;strong&gt;attention dilution&lt;/strong&gt;. It forgets the primary objective and gets bogged down trying to satisfy secondary constraints.&lt;/p&gt;

&lt;p&gt;The worst combination in the entire study? &lt;strong&gt;Qwen 397B given a Long prompt asking for Plain Text (38.8/100).&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🏅 Finding 4: The Best and Worst Combinations
&lt;/h2&gt;

&lt;p&gt;What are the absolute best and worst model + format + length trios?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FKer102%2FPromptTriage%2Freleases%2Fdownload%2FResearch-chart%2FDual-color_bar_chart_202603222343.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FKer102%2FPromptTriage%2Freleases%2Fdownload%2FResearch-chart%2FDual-color_bar_chart_202603222343.jpeg" alt="Top 5 vs Bottom 5 Combinations — The gap is massive (53+ points)" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Golden Combo&lt;/strong&gt; scored &lt;code&gt;92.2 / 100&lt;/code&gt;: GPT-5.4 + Hybrid Output + Short Prompt.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 The Ultimate Prompting Formula
&lt;/h2&gt;

&lt;p&gt;If you want to maximize the performance of a modern LLM, the data points to a clear formula:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Keep it brief:&lt;/strong&gt; State your objective clearly in under 50 words. Drop the fluff.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Demand structure:&lt;/strong&gt; Always ask the model to return its answer in JSON or YAML. Avoid asking for unstructured text.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use the right model:&lt;/strong&gt; GPT-5.4 for general reasoning/coding, Nemotron 120B for extraction.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I built &lt;a href="https://prompttriage.kaelux.dev" rel="noopener noreferrer"&gt;PromptTriage&lt;/a&gt; specifically to help developers automatically refactor those bloated 500-word metaprompts down into the high-scoring "Short + Structured" format this data proves works best.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Data lovers: The full 1,080-row dataset and analysis script are open-sourced in the&lt;/em&gt; &lt;a href="https://github.com/Ker102/PromptTriage" rel="noopener noreferrer"&gt;&lt;em&gt;PromptTriage repo&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>promptengineering</category>
      <category>llm</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
