Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,10 @@ subgraph "Functional Agents"
coder --"Main Program" --> realize("Realize")
end
subgraph "Compiler Feedback"
database --"validates" --> prismaCompiler("<a href="https://github.com/wrtnlabs/autobe/blob/main/packages/interface/src/database/AutoBeDatabase.ts" target="_blank">Prisma Compiler</a>")
database --"validates" --> prismaCompiler("<a href="https://github.com/wrtnlabs/autobe/blob/main/packages/interface/src/database/AutoBeDatabase.ts" target="_blank">Database Compiler</a>")

Copilot AI Apr 8, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The diagram label was updated to “Database Compiler”, but the node id is still named prismaCompiler, which is now misleading. Consider renaming the node id to something like databaseCompiler (and keep ids consistent across README/docs) to match the updated terminology.

Suggested change
database --"validates" --> prismaCompiler("<a href="https://github.com/wrtnlabs/autobe/blob/main/packages/interface/src/database/AutoBeDatabase.ts" target="_blank">Database Compiler</a>")
database --"validates" --> databaseCompiler("<a href="https://github.com/wrtnlabs/autobe/blob/main/packages/interface/src/database/AutoBeDatabase.ts" target="_blank">Database Compiler</a>")

Copilot uses AI. Check for mistakes.
interface --"generates" --> openapiCompiler("<a href="https://github.com/wrtnlabs/autobe/blob/main/packages/interface/src/openapi/AutoBeOpenApi.ts" target="_blank">OpenAPI Compiler</a>")
test --"analyzes" --> testCompiler("<a href="https://github.com/wrtnlabs/autobe/blob/main/packages/interface/src/test/AutoBeTest.ts" target="_blank">Test Compiler</a>")
realize --"compiles" --> realizeCompiler("TypeScript Compiler")
realize --"compiles" --> realizeCompiler("Hybrid Compiler")
end
```

Expand Down
29 changes: 29 additions & 0 deletions website/public/articles/autobe-qwen3.5-27b-success.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<html>

<head>
<title>
[AutoBe] Qwen 3.5-27B Just Built Complete Backends from Scratch — 100% Compilation, 25x Cheaper
</title>
<meta
http-equiv="refresh"
content="0; url=https://dev.to/samchon/autobe-qwen-35-27b-just-built-complete-backends-from-scratch-100-compilation-25x-cheaper-lmd">
</meta>

Copilot AI Apr 8, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

<meta> is a void element in HTML and shouldn’t be closed with </meta>. Some validators/linters will flag this; switch to a self-contained <meta ...> tag (and consider adding <!doctype html> / <meta charset> for standards compliance if these pages are meant to be valid HTML documents).

Suggested change
</meta>

Copilot uses AI. Check for mistakes.
<meta property="og:type" content="website">
<meta
property="og:image"
content="https://autobe.dev/images/blog/qwen3.5-27b-success-og.png"

Copilot AI Apr 8, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This redirect page’s og:image points to https://autobe.dev/images/blog/qwen3.5-27b-success-og.png, but the committed image appears to be named autobe_qwen3.5-27b-success-og.png. Align the URL with the actual asset filename (or rename the asset) so link previews resolve correctly.

Suggested change
content="https://autobe.dev/images/blog/qwen3.5-27b-success-og.png"
content="https://autobe.dev/images/blog/autobe_qwen3.5-27b-success-og.png"

Copilot uses AI. Check for mistakes.
>
</head>

<body>
<p>
Moving to
<a href="https://dev.to/samchon/autobe-qwen-35-27b-just-built-complete-backends-from-scratch-100-compilation-25x-cheaper-lmd">
Dev.to Article
</a>
due to Reddit has shadow banned the dev.to domain links.
</p>
<p>If not redirect, click the above link manually.</p>
</body>

</html>
2 changes: 1 addition & 1 deletion website/public/articles/autobe-vs-claude-code.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<meta property="og:type" content="website">
<meta
property="og:image"
content="https://autobe.dev/blog/autobe-vs-claude-code-og.png"
content="https://autobe.dev/images/blog/autobe-vs-claude-code-og.png"
>
</head>

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/public/images/demonstrate/replay-openai-gpt-5.4-mini.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/public/images/demonstrate/replay-openai-gpt-5.4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/public/images/demonstrate/replay-qwen-qwen3.5-27b.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified website/public/images/demonstrate/replay-z-ai-glm-5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
89 changes: 89 additions & 0 deletions website/src/content/blog/autobe-qwen3.5-27b-success.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
title: "Qwen 3.5-27B Just Built Complete Backends from Scratch — 100% Compilation, 25x Cheaper"
description: "Qwen 3.5-27B generated complete backends with 100% compilation at 1/25th the cost of Claude Opus 4.6 — and the output quality is nearly identical. The benchmark proves it."
date: "2026-04-08"
author: "Jeongho Nam"
tags:
- ai
- typescript
- qwen
- opensource
og: https://autobe.dev/images/blog/qwen3.5-27b-success-og.png

Copilot AI Apr 8, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blog pages and cards read ogImage from frontmatter, but this post uses og: instead, so the OG image will fall back to the default. Also, the referenced URL .../images/blog/qwen3.5-27b-success-og.png doesn’t match the committed asset name (autobe_qwen3.5-27b-success-og.png). Rename the asset or update the URL, and switch the key to ogImage.

Suggested change
og: https://autobe.dev/images/blog/qwen3.5-27b-success-og.png
ogImage: https://autobe.dev/images/blog/autobe_qwen3.5-27b-success-og.png

Copilot uses AI. Check for mistakes.
---

# Qwen 3.5-27B Just Built Complete Backends from Scratch

We ran Qwen 3.5-27B on 4 backend generation tasks — from a todo app to a full ERP system. Every single project compiled. The output was nearly identical to Claude Opus 4.6, at 25x less cost.

This is [AutoBe](https://github.com/wrtnlabs/autobe) — an open-source system that turns natural language into complete, compilable backend applications.

![AutoBe generating a Shopping Mall backend with Qwen 3.5-27B](https://autobe.dev/images/demonstrate/replay-qwen-qwen3.5-27b.png)

## 1. Generated Examples

All generated by Qwen 3.5-27B. All compiled. All open source.

- [Todo](https://github.com/wrtnlabs/autobe-examples/tree/main/qwen/qwen3.5-27b/todo)
- [Reddit](https://github.com/wrtnlabs/autobe-examples/tree/main/qwen/qwen3.5-27b/reddit)
- [Shopping](https://github.com/wrtnlabs/autobe-examples/tree/main/qwen/qwen3.5-27b/shopping)
- [Entity Relationship Diagram](https://github.com/wrtnlabs/autobe-examples/blob/main/qwen/qwen3.5-27b/shopping/docs/ERD.md)
- [API Schema](https://github.com/wrtnlabs/autobe-examples/blob/3c8bf817996a72a3bdcff791728c8dd54c3cfb4c/qwen/qwen3.5-27b/shopping/src/api/structures/IShoppingMallOrderItem.ts)
- [Controller](https://github.com/wrtnlabs/autobe-examples/blob/3c8bf817996a72a3bdcff791728c8dd54c3cfb4c/qwen/qwen3.5-27b/shopping/src/controllers/shoppingMall/customer/orders/ShoppingmallCustomerOrdersController.ts)
- [E2E Test](https://github.com/wrtnlabs/autobe-examples/blob/3c8bf817996a72a3bdcff791728c8dd54c3cfb4c/qwen/qwen3.5-27b/shopping/test/features/api/order/test_api_order_item_force_refund_single_item.ts)
- [ERP (Enterprise Resource Planning)](https://github.com/wrtnlabs/autobe-examples/tree/main/qwen/qwen3.5-27b/erp)

From a simple todo app to a full-scale ERP system. Each includes Database schema, OpenAPI spec, API implementation, E2E tests, and type-safe SDK.

## 2. The Benchmark

[![Benchmark: 11 AI models all scoring near-identically on backend generation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xk2fro01vvvwm1ox4cb7.png)](https://autobe.dev/benchmark)

11 models benchmarked. Scores are nearly uniform — from Qwen 3.5-27B to Claude Sonnet 4.6.

A 27B model shouldn't match a frontier model. So why are the outputs identical? Because the **compiler** decides output quality — not the model.

## 3. Cost

| Model | Input / 1M tokens | Output / 1M tokens |
|---------------------------|-------------------:|-------------------:|
| Claude Opus 4.6 | $5.000 | $25.000 |
| Qwen 3.5-27B (OpenRouter) | $0.195 | $1.560 |

**~25x cheaper on input. ~16x on output.** Self-host Qwen and it drops to electricity.

## 4. How Is This Possible?

AutoBe doesn't generate text code. Instead, LLMs fill the AST structures of AutoBe's custom-built compilers through [function calling harness](https://dev.to/samchon/qwen-meetup-function-calling-harness-from-675-to-100-3830).

![AutoBe's 4 compiler AST pipeline — Database, OpenAPI, Test, and Hybrid compilers validating LLM output through function calling](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dcx2zryie17ma2b2m7qx.png)

Four compilers validate every output, and when something fails, the compiler's diagnoser feeds back _exactly_ what broke and why. The LLM corrects only the broken parts and resubmits — looping until every compiler passes.

This harness is tight enough that model capability differences don't produce quality differences. They only affect how many retries it takes — Claude Opus gets there in 1-2 attempts, Qwen 3.5-27B in 3-4. Both converge to the same output. That's why the benchmark distribution is so uniform.

> _"If you can verify, you converge."_

## 5. Coming Soon: Qwen 3.5-35B-A3B

![Qwen 3.5-35B-A3B benchmark showing near-complete compilation success](/images/blog/qwen3.5-35b-a3b-legacy.png)

Only 3B active parameters. Not at 100% yet — but close.

When it gets there: **77x cheaper**, running on a normal laptop.

No cloud. No high-end GPU. Just your machine building entire backends.

## 6. Try It

```bash
git clone https://github.com/wrtnlabs/autobe
pnpm install
pnpm playground
```

Star the repo if this is useful: **https://github.com/wrtnlabs/autobe**

## 7. Deep Dives

- [Function Calling Harness: From 6.75% to 100%](https://dev.to/samchon/qwen-meetup-function-calling-harness-from-675-to-100-3830)
- [AutoBe vs. Claude Code: 3rd-Gen Coding Agent](https://dev.to/samchon/autobe-vs-claude-code-3rd-gen-coding-agent-developers-review-of-the-leaked-source-code-313b)
1 change: 1 addition & 0 deletions website/src/content/blog/autobe-vs-claude-code.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: "AutoBE vs. Claude Code: 3rd-gen coding agent developer's review of the leaked source code"
description: "We learned a great deal from the leaked Claude Code source code. What separates a 2nd-generation agent (Claude Code) from a 3rd-generation one (AutoBE), and where do they converge—this is a story of coexistence, not replacement."
date: "2026-04-07"
ogImage: "https://autobe.dev/blog/autobe-vs-claude-code-og.png"

Copilot AI Apr 8, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ogImage points to https://autobe.dev/blog/autobe-vs-claude-code-og.png, but the OG image in this repo (and the redirect HTML) uses /images/blog/autobe-vs-claude-code-og.png. This likely breaks blog card / social previews; update the frontmatter URL to the canonical /images/blog/... path (or make sure the /blog/... asset actually exists).

Suggested change
ogImage: "https://autobe.dev/blog/autobe-vs-claude-code-og.png"
ogImage: "/images/blog/autobe-vs-claude-code-og.png"

Copilot uses AI. Check for mistakes.
author: "Jeongho Nam"
tags:
- ai
Expand Down
4 changes: 2 additions & 2 deletions website/src/content/docs/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,10 @@ subgraph "Functional Agents"
coder --"Main Program" --> realize("Realize")
end
subgraph "Compiler Feedback"
database --"validates" --> prismaCompiler("<a href="https://github.com/wrtnlabs/autobe/blob/main/packages/interface/src/database/AutoBeDatabase.ts" target="_blank">Prisma Compiler</a>")
database --"validates" --> prismaCompiler("<a href="https://github.com/wrtnlabs/autobe/blob/main/packages/interface/src/database/AutoBeDatabase.ts" target="_blank">Database Compiler</a>")

Copilot AI Apr 8, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The diagram label was updated to “Database Compiler”, but the node id is still prismaCompiler, which is now misleading. Consider renaming the node id (e.g., databaseCompiler) to align the diagram’s internal naming with the new label.

Suggested change
database --"validates" --> prismaCompiler("<a href="https://github.com/wrtnlabs/autobe/blob/main/packages/interface/src/database/AutoBeDatabase.ts" target="_blank">Database Compiler</a>")
database --"validates" --> databaseCompiler("<a href="https://github.com/wrtnlabs/autobe/blob/main/packages/interface/src/database/AutoBeDatabase.ts" target="_blank">Database Compiler</a>")

Copilot uses AI. Check for mistakes.
interface --"generates" --> openapiCompiler("<a href="https://github.com/wrtnlabs/autobe/blob/main/packages/interface/src/openapi/AutoBeOpenApi.ts" target="_blank">OpenAPI Compiler</a>")
test --"analyzes" --> testCompiler("<a href="https://github.com/wrtnlabs/autobe/blob/main/packages/interface/src/test/AutoBeTest.ts" target="_blank">Test Compiler</a>")
realize --"compiles" --> realizeCompiler("TypeScript Compiler")
realize --"compiles" --> realizeCompiler("Hybrid Compiler")
end
```

Expand Down
Loading