Blog
SWE benchmark AI model: điểm pass rate không nói gì về lần chạy tệ nhất
SWE benchmark đo tỉ lệ giải đúng, không đo lần chạy tệ nhất: p99 dài 5,89 đến 16,80 lần p50 và ca xấu nhất là 244,8 giây ở 1% số lần.
Một benchmark kiểu SWE đo tỉ lệ giải đúng trên bộ bài có đáp án, và tỉ lệ đó không nói lần chạy tệ nhất mất bao lâu. Trên sáu model có số đo, p99 dài 5,89 đến 16,80 lần p50, và ca xấu nhất là 244.824 ms ở đúng 1% số lần.
Pass rate trả lời đã giải được chưa, không trả lời mất bao lâu
Một bộ đánh giá mã nguồn kiểu SWE lấy tập issue đã có bản vá, cho model sửa, rồi chấm bằng bộ test đi kèm. Điểm cuối là tỉ lệ bài qua test trên tổng số bài. Con số đó chỉ nói model có sửa đúng hay không; thời gian chờ và hoá đơn nằm ngoài nó.
Với người đưa model vào một agent chạy trong IDE, hai câu sau mới quyết định. Một model qua 90% bài nhưng có 1% số lần chạy dài gần 245 giây sẽ làm hỏng đúng những lượt người dùng đang chờ lâu nhất, và những lượt đó thường là lượt khó nhất. Cách dựng một bộ bài như vậy trên mã nguồn thật nằm ở kiểm tra mã nguồn bằng AI, còn khái niệm nền ở inference là gì.
p99 dài 5,89 đến 16,80 lần p50 trên sáu model đã đo
p50 và p99 là hai phân vị của cùng một cột thời gian hoàn tất: p50 là lượt điển hình, p99 là lượt hiếm. Tỉ số giữa chúng cho biết cái đuôi dài hơn phần thân bao nhiêu lần, và đó là phần mà một điểm pass rate không bao giờ chạm tới.
Số liệu đo tại gateway của Wisa trong cửa sổ 7 ngày kết thúc 27/10/2026, tối thiểu 20 mẫu mỗi model, cho ra sáu tỉ số dưới đây.
| Model | Số mẫu | p50 | p99 | p99 ÷ p50 |
|---|---|---|---|---|
| Gemini 3.8 Flash | 6.051 | 10.181 ms | 59.922 ms | 5,89 |
| DeepSeek V4.1 Flash 1017 | 4.660 | 7.998 ms | 63.460 ms | 7,93 |
| GPT 6.1 SOL | 214 | 26.226 ms | 244.824 ms | 9,34 |
| Claude Opus 5.5 | 271 | 15.168 ms | 170.422 ms | 11,24 |
| Claude Sonnet 5.5 | 48 | 10.029 ms | 142.126 ms | 14,17 |
| DeepSeek V4.1 Flash | 213 | 11.581 ms | 194.521 ms | 16,80 |
Gemini 3.8 Flash có đuôi ngắn nhất: p99 là 59.922 ms so với p50 là 10.181 ms, tức 59.922 ÷ 10.181 = 5,89 lần. DeepSeek V4.1 Flash có tỉ số dài nhất: p99 là 194.521 ms so với p50 là 11.581 ms, tức 194.521 ÷ 11.581 = 16,80 lần.
Hai hàng đó cho thấy vì sao câu model nào nhanh hơn cần kèm phân vị. Đọc p50, DeepSeek V4.1 Flash 1017 đứng đầu với 7.998 ms còn DeepSeek V4.1 Flash đứng thứ tư với 11.581 ms. Nhưng ở đuôi, bản 1017 dài 7,93 lần p50 còn bản gốc dài 16,80 lần, nên thứ tự về độ ổn định không trùng thứ tự về tốc độ điển hình.
Ca xấu nhất 244,8 giây đến từ model nào?
Ca xấu nhất trong sáu hàng là 244.824 ms, khoảng 244,8 giây, và nó thuộc về GPT 6.1 SOL ở đúng 1% số lần. Trong cùng nhóm 1% đó, Claude Opus 5.5 là 170.422 ms và Claude Sonnet 5.5 là 142.126 ms.
GPT 6.1 SOL cũng có token đầu ra trung vị cao nhất trong sáu hàng, 2.036, nên một phần cái đuôi đó thuộc về hình dạng câu trả lời: câu trả lời dài hơn thì mất nhiều thời gian hơn. Phần còn lại thuộc về hàng đợi và hạ tầng, và dữ liệu này không tách được hai phần đó ra.
Điều đó quan trọng với agent sửa mã nguồn vì mỗi lượt là một chuỗi lệnh chứ không phải một câu trả lời. Nếu một bước trong chuỗi rơi vào 1% xấu nhất, cả chuỗi chờ theo, và người dùng thấy đúng một lần treo hơn bốn phút.
Timeout là chỗ hai lựa chọn đụng nhau. Đặt timeout 60 giây thì mọi lượt rơi vào nhóm chậm nhất đều bị cắt trước khi model trả lời, và bạn vẫn trả tiền cho phần token đã sinh mà không nhận được bản vá nào. Nâng lên 300 giây thì bạn nhận được kết quả, đổi lại có những lượt người dùng chờ trọn năm phút. Không có mức nào đúng cho mọi đội, nên hãy chọn theo việc bạn chạy tương tác hay chạy nền.
Chi phí một lượt 2.000 token vào và 700 token ra của bốn model trong nhóm đo
Giá niêm yết trên một triệu token: Claude Opus 5.5 là 4.800đ vào và 24.000đ ra, GPT 6.1 SOL là 2.400đ vào và 12.000đ ra, hai bản DeepSeek V4.1 Flash đều 720đ vào và 2.880đ ra. Một lượt chuẩn 2.000 token vào cộng 700 token ra vì thế tốn 26,40 đồng với Claude Opus 5.5, 13,20 đồng với GPT 6.1 SOL và 3,456 đồng với cả hai bản DeepSeek.
Hai model còn lại của nhóm đo nằm giữa: Gemini 3.8 Flash tốn 4,95 đồng và Claude Sonnet 5.5 tốn 13,20 đồng cho cùng một lượt. Claude Opus 5.5 vì thế đắt gấp 7,64 lần bản DeepSeek rẻ nhất, trước khi tính tỉ lệ lỗi.
Tỉ lệ lỗi làm con số đó đắt thêm, vì một lượt lỗi vẫn tiêu token đã sinh mà không trả về kết quả dùng được. Chia thêm cho (1 − tỉ lệ lỗi): Claude Opus 5.5 thành 26,40 ÷ 0,9779 = 27,00 đồng, GPT 6.1 SOL thành 13,20 ÷ 0,986 = 13,39 đồng, còn DeepSeek V4.1 Flash giữ nguyên 3,456 đồng vì tỉ lệ lỗi bằng 0. Bản 1017 có tỉ lệ lỗi 0,67% nên 3,456 đồng thành 3,48 đồng cho mỗi kết quả dùng được.
Benchmark mã nguồn nên đọc kèm phân vị nào?
Nếu mỗi lượt của bạn là một lần sửa nhỏ và bạn chấp nhận chạy lại khi hỏng, p95 là đủ. Nếu agent chạy không giám sát qua đêm trên hàng trăm tệp, p99 mới là con số quyết định số lần bạn phải can thiệp, vì 1% của một nghìn lượt vẫn là mười lượt treo.
Điểm pass rate và phân vị độ trễ trả lời hai câu khác nhau, và cả hai chỉ có nghĩa khi đi kèm số mẫu. Bài benchmark model AI đọc cột số mẫu, bài AI model benchmarks phân biệt ba nghĩa của chữ benchmark, còn xếp hạng model AI theo benchmark xếp thứ tự theo p50 và theo token mỗi giây.
Giới hạn của bài này: nó không xếp hạng chất lượng code của sáu model. Wisa không giữ điểm pass rate công khai, nên mọi so sánh chất lượng phải đến từ bộ bài của bạn, và 40 trong 46 model của danh mục không có hàng đo nào để đối chiếu. Toàn bộ bài cùng chủ đề nằm trong chuyên mục chọn và so sánh model.
Câu hỏi thường gặp
SWE benchmark có đo thời gian chạy không?
Không. Bộ đánh giá kiểu SWE chấm bài bằng bộ test và trả về tỉ lệ bài qua, không ghi thời gian hoàn tất. Muốn biết một lượt mất bao lâu, bạn cần dữ liệu gateway của chính mình hoặc bảng phân vị đo kèm cửa sổ thời gian.
Vì sao điểm pass rate 90 phần trăm vẫn có ca tệ nhất gần 245 giây?
Vì pass rate đếm bài đúng, không đếm thời gian. Trong dữ liệu của Wisa, p99 của GPT 6.1 SOL là 244.824 ms, tức khoảng 244,8 giây, và con số đó rơi vào đúng 1% số lần chạy chứ không phải 10%.
Model nào có đuôi p99 dài nhất trong sáu model?
Tính theo tỉ số p99 chia p50 thì DeepSeek V4.1 Flash dài nhất với 16,80 lần, còn tính theo mili giây tuyệt đối thì GPT 6.1 SOL dài nhất với 244.824 ms. Hai câu hỏi khác nhau nên có hai đáp án khác nhau.
Chi phí một lượt của Claude Opus 5.5 và GPT 6.1 SOL là bao nhiêu?
Một lượt 2.000 token vào cộng 700 token ra tốn 26,40 đồng với Claude Opus 5.5 và 13,20 đồng với GPT 6.1 SOL. Hai bản DeepSeek V4.1 Flash cùng lượt đó chỉ tốn 3,456 đồng, tức Claude Opus 5.5 đắt gấp 7,64 lần.
Nên đọc p95 hay p99 khi chạy agent sửa mã nguồn?
Đọc p95 khi bạn chạy tương tác và sẵn sàng thử lại, vì 5% lượt xấu là mức bạn còn kiểm soát. Đọc p99 khi agent chạy không giám sát trên nhiều tệp, vì 1% của một nghìn lượt vẫn là mười lượt treo và mỗi lượt treo có thể chặn cả một chuỗi bước.