Finding the Best Chinese AI Model for Coding
If you have been closely following the recent developments in AI, you have likely noticed that the landscape of LLM dominance is starting to shift. We are no longer solely focused on the tech giants from the US. Chinese AI models are beginning to show their prowess, offering incredible performance at highly competitive price points.
This post is inspired by Ariya Hidayat’s interesting write-up on the “Sonnet 4.6 vs Kimi Showdown”1 as well as Rachel Nabors’ tweet introducing the concept of SAGE (Small and Good Enough)2. In my daily coding workflow, I started wondering: “Do we really always need to use expensive frontier models? Is it possible to use cheaper but ‘good enough’ models to get the job done?”
To satisfy my curiosity, I set up a small benchmark project called Incident Desk inside the deno-starter-llm-bench3 repository. The goal was simple: test three Chinese AI models on implementing an incident management application using Deno & Fastify, and compare their performance against my go-to US baseline model, Gemini 3.5 Flash.
Here is the breakdown of the showdown!
The Arena & Specifications #
The application these AI agents had to build is called Incident Desk—a simple incident management system containing User, Team, Incident, Comment, and Activity Event entities.
Even though the app seems straightforward, several strict rules (locked constraints) were intentionally put in place to prevent the AI from easily “cheating”:
- Runtime: Deno with Fastify (TypeScript).
- Rendering: Pure server-side HTML strings (SSR) without any SPA frameworks or additional template engines.
- Client JS: Only allowed for progressive enhancement (e.g., debounced search).
- Database: Simple in-memory storage (no external database allowed).
- Domain Invariant (Authorization): Agents are only allowed to read/mutate incidents belonging to their own team, including incident creation. Only users with a Manager role can reassign incidents across teams.
The Chinese models in the arena:
- DeepSeek (
deepseek/deepseek-v4-flash) - Qwen (
qwen/qwen3.6-plus) - Mimo (
xiaomi/mimo-v2.5)
And as our baseline for comparison, I used Gemini 3.5 Flash (antigravity/gemini-3.5-flash).
Benchmark Results (Metrics & Cost) #
After running the end-to-end (E2E) tests using a custom test harness (scripts/eval-e2e.ts)4, each model’s performance was meticulously recorded. To make it easy to digest, I have summarized the findings in the table below:
| Model | Task Duration | Number of Calls | Token Basis | Estimated Cost | E2E Score |
|---|---|---|---|---|---|
| DeepSeek | 15m 54s | 32 | Pi session cumulative | ~$0.21 | 90/100 |
| Mimo | 1h 05m | 89 | Pi session cumulative | ~$0.50* | 90/100 |
| Qwen | 45m 37s | 93 | Pi session cumulative | ~$2.36 | 90/100 |
| Gemini 3.5 Flash | ~5m 23s** | 80** | agy CLI snapshot | ~$0.73*** | 100/100 |
Key notes regarding the metrics above:
- (*) Mimo’s cost has been adjusted based on the latest pricing from models.dev ($0.40/1M input, $2.00/1M output).
- (**) Gemini’s duration reflects the core implementation phase. The total full conversation took about 15m 10s with 89 calls.
- (***) Gemini was measured as the scored baseline at 100/100. Its tracking data uses context window snapshots (agy CLI), which has a different token basis compared to the cumulative Pi session tracking used by the trio of Chinese models.
Which One is Most Worth It? #
The most interesting takeaway from this experiment is that all three main models (DeepSeek, Qwen, and Mimo) achieved the exact same functional score of 90/100. However, the paths they took to get there were vastly different.
DeepSeek: The Efficiency Champion ($0.21) #
If you ask which model best embodies the SAGE (Small and Good Enough) philosophy, the answer is hands down DeepSeek.
- Pros: It only took 15 minutes and 32 calls to deliver a solid 90/100 score. The cost was a mere ~$0.21! That is incredibly cheap compared to the others.
- Visuals: The manager dashboard layout is expansive and information-dense, though the navigation spacing feels a bit too tight.

Qwen: Solid but Costly ($2.36) #
Qwen produced a functional Pico-style interface that looked broadly similar to Mimo’s result.
- Pros: The table used zebra striping, which made rows slightly easier to scan.
- Cons: Quite expensive! Qwen required 93 calls and consumed almost 6.7 million cumulative tokens, bringing the total cost to $2.36. For a UI that was not dramatically different from the other Chinese-model outputs, it is definitely not your budget-friendly daily driver.

Mimo: Slow but Consistent ($0.50) #
Xiaomi’s model showed decent capabilities, but it was exceptionally slow.
- Cons: Spent over an hour (1h 05m) to complete the code. The resulting UI was very plain and minimal compared to Qwen.
- Pros: The pricing is still reasonable (~$0.50), making it a viable SAGE alternative if you are not in a rush.

Baseline: Gemini 3.5 Flash #
Gemini still proved its class as a frontier model. It was by far the fastest at writing the core codebase (only ~5 minutes) and produced the cleanest visual layout and role hierarchy. However, its high output token cost makes it less economical for long, highly iterative coding sessions.

Crucial Lessons: Frequently Missed Small Details #
Despite achieving a high score of 90/100, there were 10 points that all three main models failed to handle. Examining these gaps is incredibly educational, as they highlight common blind spots in current AI coders:
- Cross-Team Authorization (Security Bug - 2 pts): This was the most critical flaw. While the models successfully restricted editing/viewing incidents, they completely forgot to restrict creating incidents. As a result, a Platform Agent account could still create a new incident belonging to the Infra team.
- Asset Serving (Infrastructure Bug - 3 pts):
All three models forgot to register the static asset router in Fastify for the
/public/app.jsfile. Because this file failed to load (HTTP 404), the progressive enhancement feature was completely broken. - Debounced Search (UX Bug - 5 pts):
The progressive enhancement logic for the debounced search failed to update the browser URL to
/incidents?q=....
This proves that we still need self-verification mechanisms or back pressure5 inside our prompt contracts. Instead of just instructing the AI to “build application A,” we must prompt them to systematically verify that no server-side authorization leaks exist.
Conclusion: My Final Workflow Choice #
This experiment opened my eyes to the fact that DeepSeek is fully ready to be integrated into daily coding workflows. At a tiny fraction of the cost ($0.21), its coding performance stands toe-to-toe with models that cost 10 times more.
In my current setup, the ideal workflow is to use DeepSeek as the daily driver for initial code exploration and writing modular drafts, and then hand over the context via handoff notes to Gemini 3.5 Flash when I need premium visual UI polish or deep architectural reasoning.
What about you? Which Chinese AI models have you tried using in your coding workflows?