Desoul Review Tiếng Việt

← Test results

Three local models on a 36 GB Mac, tried on real jobs against Claude

I wanted to know if any of my scheduled Claude jobs could run on a local model instead. On 5 and 6 November 2026 I ran three local models on three real jobs for my project: summarising GitHub repos, writing Vietnamese news posts from an English article, and sorting articles into keep or drop. Gemma can do the sorting as a first pass if losing about 1 in 7 kept articles is acceptable. Nothing that writes Vietnamese for readers should move yet.

Setup

Job 1: repo summaries

12 repos picked with a fixed random seed, the real summary prompt (about 3,800 tokens with the first 8,000 characters of each README). The comparison is an earlier Claude Haiku summary of the same repo, so "agrees" means it agreed with one earlier Claude run. That is not the same as being right.

Gemma is fast and kept to the README, but it took one prompt rule too literally. It named my own project as a "competitor" in 10 of 12 repos (Claude did that for 1), including an Android test tool and a prompt library, and the rule then forced the top verdict. Qwen 2.5's 7 of 12 is false comfort. It never gave the top verdict and wrote WATCH for 10 of 12.

Job 2: Vietnamese news posts

5 real Australian news articles from 4 and 5 November 2026, my full writing rules as the prompt (about 7,400 tokens in, about 1,100 to 1,350 out), output forced to a JSON schema. The comparison is the post Claude Sonnet had already written for the same article.

The errors are the kind a skim won't catch. Qwen 3.6 gave a named MP a party the article never mentions, wrote the fraud amount in US dollars when the source said Australian dollars, put Chinese characters in the middle of a Vietnamese sentence, and renamed the drug Wegovy to "WEGOZY" in a title. Qwen 2.5 turned A$235 million into Vietnamese dong. Gemma wrote the most natural Vietnamese of the three, and still garbled a word in each of two headings, for example "ĐIỀUNG KIỆN" for "ĐIỀU KIỆN").

Job 3: keep or drop, and the trap in my first sample

On 6 November I gave each model 60 articles, title and description only, 10 per call, with the sorting rules from my project. Half were articles Claude had kept, half ones it had dropped.

87% looked good. On 6 November 2026 I ran Gemma on one real day of traffic from the same source, read-only next to Claude: 737 articles, of which Claude kept 50 (7%). Gemma agreed on 83% and found 43 of the 50. It also kept about 120 that Claude dropped. A rule that drops everything would agree 93% of the time, so raw agreement was the wrong number to look at. The half-and-half sample hid how rare a "keep" is.

Used as a pre-filter, where Gemma drops and Claude reads the rest, it would cut Claude's reads to about a fifth and lose 7 of the 50 kept articles (14%). That took 295 s for the 737.

Speed and cold start

I ran the same summary prompt twice back to back. Output speed repeated within about 15%. Loading a 17 GB model took 5 to 20 s. A job that runs once a day pays that load every time. Gemma took 25.0 s on the first run and 9.7 s on the second, which also reused the cached prompt.

Limits

12 repos, 5 posts, 60 plus 737 articles, one run each at temperature 0.3. A one-item difference (6 against 7 of 12) means nothing. The Claude answers I compared against are one earlier run, not ground truth. Thinking was off for the local models. A native Vietnamese reader has not yet compared the Gemma and Sonnet posts side by side.

What I'd do

Keep writing for readers on Claude. For high-volume sorting, Gemma 4 26B-A4B is the one local result worth acting on, as a pre-filter, if losing about one keep in seven is acceptable for your job. Before you trust any agreement score, check it on a sample with the real ratio of keeps to drops.