Fabian G. Williams aka Fabs

Fabian G. Williams

Principal Product Manager, Microsoft Subscribe to my YouTube.

Two Agents, One Local Model: Do They Run in Parallel, or Take Turns? I Measured It.

A reader asked what happens if I run two local coding agents against the same Qwen 3.8 model on one Mac at the same time. I thought I knew the answer. I was wrong. So I read the server source, wrote a barrier-synchronized load driver to remove the human-ordering bias, and measured it. Batching is real up to 32 wide, but it is not free, and three innocent-looking choices collapse it back to a single lane.

Fabian Williams

9-Minute Read

A line chart showing aggregate throughput rising with concurrent agents while per-agent decode rate falls, on one local MLX model

A reader on Reddit asked me a sharp question about my last post. I had trialed a second local coding agent, Hermes, pointed at the same local Qwen 3.8 model my other agent already uses. His question was simple. Did I ever run both agents at the same time, two separate harnesses hammering one model on one Mac at once. And what about Hermes spawning its own sub-agents against that same endpoint. Is any of that predictable.

I Swapped My Local Coding Model Overnight From a Hotel. The Agent Graded the Upgrade Itself.

Local models are how I run my community work, my volunteer projects, my side hustles, and my musings, for two reasons: cost and keeping client data away from the labs. A new version dropped, so I upgraded it overnight from a hotel, additively, without touching the old one. Then I handed the new model the reviews and let my OpenCode agent test its own upgrade. It stood up a throwaway server, probed itself, and found three config gaps quietly throttling it. Here is the journey, in tables.

Fabian Williams

8-Minute Read

Activity Monitor showing the M3 Max GPU pinned at 92 percent while an OpenCode agent runs probe requests against a throwaway Qwen3.8 test server on port 8082

Local models are how I run my community work, my volunteer projects, my side hustles, and my musings. Two reasons, both simple:

Qwen 3.6 vs gpt-oss:120b on M3 Max: I Ran a Harder Test, the 8× Speed Gap Surprised Me

I published a Qwen 3.6 vs gpt-oss migration story, then ran an un-gameable eval against both on the same M3 Max. The receipts changed the speed narrative — gpt-oss:120b ran 8 to 11 times faster than qwen3.6:27b at parity reasoning quality. Here is the methodology and the data.

Fabian Williams

11-Minute Read

Horizontal bar chart showing gpt-oss:120b at 137 seconds and qwen3.6:27b at 1593 seconds on the same Round 2 reasoning tasks, with an 11.6× slower callout

I published a post last week about replacing gpt-oss:120b with Qwen 3.6 on my MacBook Pro M3 Max. The numbers in that post were real, but one set of tests was structurally gameable — 38 of 40 baseline images were the same class, so an “always-say-A” stub also scored 95 percent. I went back, designed three un-gameable reasoning tasks, and ran them against both local models on identical hardware. gpt-oss:120b finished the three tasks in 137 seconds. qwen3.6:27b-q8_0 took 1593 seconds —…

Recent Posts

Categories

About

Fabian G. Williams aka Fabs Site