<?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: KUN Field Notes</title>
    <description>The latest articles on DEV Community by KUN Field Notes (@kunfieldnotes).</description>
    <link>https://dev.to/kunfieldnotes</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%2F4187740%2Ffc18c455-8f1e-47f4-a8c6-c55911ab9df9.png</url>
      <title>DEV Community: KUN Field Notes</title>
      <link>https://dev.to/kunfieldnotes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kunfieldnotes"/>
    <language>en</language>
    <item>
      <title>Same Local Model, 3 Coding Agents: pi 12/12, Codex 12/12, Claude Code 7/12 on a 6GB GPU</title>
      <dc:creator>KUN Field Notes</dc:creator>
      <pubDate>Fri, 16 Oct 2026 04:50:45 +0000</pubDate>
      <link>https://dev.to/kunfieldnotes/same-local-model-3-coding-agents-pi-1212-codex-1212-claude-code-712-on-a-6gb-gpu-2f9m</link>
      <guid>https://dev.to/kunfieldnotes/same-local-model-3-coding-agents-pi-1212-codex-1212-claude-code-712-on-a-6gb-gpu-2f9m</guid>
      <description>&lt;p&gt;Claude Code told me the web page was done. The folder was empty.&lt;/p&gt;

&lt;p&gt;That was the worst moment of a small test: one local model on a 6GB laptop GPU, plugged into three coding agents. Same model, same tasks. Only the agent changed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;RTX 3060 Laptop 6GB + 64GB RAM, WSL2 Ubuntu 24.04&lt;/li&gt;
&lt;li&gt;llama.cpp &lt;code&gt;9655061&lt;/code&gt;: &lt;code&gt;llama-server -c 32768 -ngl 99 -fa on -ctk q8_0 -ctv q8_0 --jinja&lt;/code&gt;; experts on CPU (&lt;code&gt;-ncmoe 36&lt;/code&gt; for LFM, &lt;code&gt;-ncmoe 40&lt;/code&gt; for Qwen). Fully offline.&lt;/li&gt;
&lt;li&gt;Models: LFM2.5-24B-A2B Q4_0 (3 runs per task), Qwen3.6-35B-A3B UD-Q4_K_XL (1 run, control)&lt;/li&gt;
&lt;li&gt;Tasks:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A:&lt;/strong&gt; fix two bugs in &lt;code&gt;calc.py&lt;/code&gt; until pytest passes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;B:&lt;/strong&gt; single-file timer page, checked by a script against 8 items&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pelican:&lt;/strong&gt; &lt;code&gt;Generate an SVG of a pelican riding a bicycle&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;900 s cap per run&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Results
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Agent&lt;/th&gt;
&lt;th&gt;Passed&lt;/th&gt;
&lt;th&gt;LFM bug-fix median&lt;/th&gt;
&lt;th&gt;First prompt&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;pi&lt;/td&gt;
&lt;td&gt;12/12&lt;/td&gt;
&lt;td&gt;47 s&lt;/td&gt;
&lt;td&gt;~1,400 tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Codex&lt;/td&gt;
&lt;td&gt;12/12&lt;/td&gt;
&lt;td&gt;85 s&lt;/td&gt;
&lt;td&gt;~6,400 tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Code&lt;/td&gt;
&lt;td&gt;7/12&lt;/td&gt;
&lt;td&gt;132 s&lt;/td&gt;
&lt;td&gt;~15,800 tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&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%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxjz0qgm3r8kg3yf6mmu0.png" 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%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxjz0qgm3r8kg3yf6mmu0.png" alt="Tasks passed" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The prompt is the problem
&lt;/h2&gt;

&lt;p&gt;Every request starts with the agent's system prompt and tool definitions. First prompt eval in the llama-server log:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Agent&lt;/th&gt;
&lt;th&gt;Tokens&lt;/th&gt;
&lt;th&gt;Time&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;pi&lt;/td&gt;
&lt;td&gt;1,442&lt;/td&gt;
&lt;td&gt;5,666 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Codex&lt;/td&gt;
&lt;td&gt;6,429&lt;/td&gt;
&lt;td&gt;18,567 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Code&lt;/td&gt;
&lt;td&gt;~15,800&lt;/td&gt;
&lt;td&gt;48,837 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;With a 32K context, Claude Code fills about half of it before doing anything, and reading that prompt takes about 8.6Ã— longer than pi's.&lt;/p&gt;

&lt;h2&gt;
  
  
  pi
&lt;/h2&gt;

&lt;p&gt;12/12 on both models, zero tool errors in the logs, fastest bug fix (47 s median). I also trimmed its prompt to about 750 tokens with only read/edit/bash enabled. Still 12/12, same speed. Harder tasks might separate the two; these didn't.&lt;/p&gt;

&lt;h2&gt;
  
  
  Codex
&lt;/h2&gt;

&lt;p&gt;12/12, but LFM made 12 tool-argument errors, mostly integers sent as strings:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;failed to parse function arguments: invalid type: string "96787", expected i32
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It retries and recovers. The cost is time: 85 s median for the bug fix, 599 s on the first run.&lt;/p&gt;

&lt;h2&gt;
  
  
  Claude Code
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;LFM passed the bug fix once in three runs. The other two died with:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  Prompt is too long Â· automatic compaction failed: summarization produced empty response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Timer page: 3/3, but an 881 s median, and one run hit the 900 s cap.&lt;/li&gt;
&lt;li&gt;Qwen: 0/3. For the page and the pelican it replied that the task was complete. The working folder had no files.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An error tells you something failed. A false "done" only shows up when you check the folder yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pelicans
&lt;/h2&gt;

&lt;p&gt;Called directly, LFM's pelican floats above the bike; inside an agent it actually sits on it. Qwen's drawings are more complete. Claude Code + Qwen produced no SVG.&lt;/p&gt;

&lt;h2&gt;
  
  
  Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Small local model, small context: pick the agent with the smallest prompt. Here that was pi, then Codex.&lt;/li&gt;
&lt;li&gt;If you must use Claude Code locally, give it more context (Ollama's docs suggest 64K+) and look at Unsloth's notes on trimming its prompt (&lt;code&gt;--bare&lt;/code&gt;). I didn't test those here.&lt;/li&gt;
&lt;li&gt;Always &lt;code&gt;ls&lt;/code&gt; after an agent says it's done.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Limits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;VRAM was sampled once per second, so I only saw resident usage (~2,641 MiB LFM, ~3,111 MiB Qwen), not peaks.&lt;/li&gt;
&lt;li&gt;Tool-error counts come from log keyword matching and are approximate.&lt;/li&gt;
&lt;li&gt;Qwen got one run per task.&lt;/li&gt;
&lt;li&gt;Three small tasks, not a real project.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Full data and configs: &lt;a href="https://kunbuilds.com/en/posts/agents-local-model-6gb/" rel="noopener noreferrer"&gt;https://kunbuilds.com/en/posts/agents-local-model-6gb/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ollama, Claude Code integration: &lt;a href="https://docs.ollama.com/integrations/claude-code" rel="noopener noreferrer"&gt;https://docs.ollama.com/integrations/claude-code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Unsloth, Claude Code with local LLMs: &lt;a href="https://unsloth.ai/docs/basics/claude-code" rel="noopener noreferrer"&gt;https://unsloth.ai/docs/basics/claude-code&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>localllm</category>
      <category>llamacpp</category>
      <category>ai</category>
      <category>claudecode</category>
    </item>
  </channel>
</rss>
