Anthropic ra mắt Claude Sonnet 5.5 vào ngày 28 tháng 9 với mức giá 2 USD trên mỗi triệu token đầu vào và 10 USD trên mỗi triệu token đầu ra. OpenAI cũng phát hành GPT-6 Sol vào ngày 22 tháng 9 với cùng mức giá 2 USD và 10 USD. Chỉ cách nhau 6 ngày, giá niêm yết y hệt nhau, và mỗi mô hình đều đứng ngay dưới phiên bản flagship của phòng nghiên cứu tương ứng. Với một nhóm kỹ sư đang cần chọn mô hình mặc định cho các coding agent, mức giá này chẳng giải quyết được gì. Lựa chọn thực sự nằm ở Claude Code đối đầu Codex với vai trò Runtime vận hành từng mô hình, và chi phí thực tế của mỗi cặp trên từng tác vụ hoàn thành.
Một phép thử nghiêm túc đòi hỏi hai Runtime, hai cấu hình, hai bộ kết quả, cùng một người đánh giá phải nhớ xem terminal nào đã tạo ra bản diff nào. Chọn mô hình thì chỉ mất một dòng cấu hình. Nhưng so sánh cả hai lại là một mớ hỗn độn agent thu nhỏ.
Tóm tắt nhanh
Claude Sonnet 5.5 và GPT-6 Sol có chi phí mỗi token ngang nhau, điểm khác biệt nằm ở Runtime mà các đội ngũ thường dùng để chạy chúng: Claude Code cho Sonnet 5.5 và Codex cho Sol. Bảng so sánh ngày ra mắt của Anthropic có 4 hàng chứa cột dữ liệu của GPT-6 Sol. Sonnet 5.5 dẫn trước rõ rệt ở 3 bài kiểm tra; bài thứ tư, FrontierCode, lại phụ thuộc vào mức effort (mức độ nỗ lực suy luận). Chi phí trên mỗi tác vụ đảo chiều tùy theo benchmark: trên FrontierCode, Sonnet 5.5 đạt kết quả ngang ngửa mức tốt nhất của Sol với chi phí chỉ bằng khoảng một phần năm; nhưng trên AA-Briefcase, lượt chạy tốt nhất của Sol tốn 2,67 USD một tác vụ, trong khi của Sonnet 5.5 lên tới 29,19 USD. Dù sao đây cũng chỉ là bảng số liệu từ một nhà cung cấp. Hãy giải quyết bài toán Sonnet 5.5 đối đầu GPT-6 Sol bằng cách chạy cùng một Task qua cả hai Runtime trên chính mã nguồn của bạn, rồi đo số phút review cho mỗi thay đổi được chấp thuận. Việc giữ lại cả hai mô hình hoàn toàn là một giải pháp hợp lý nếu Task đóng vai trò là nơi lưu trữ toàn bộ tiến trình.
Những con số được công bố thực sự cho ta so sánh điều gì
Chỉ vỏn vẹn bốn hàng. Bài viết ra mắt Claude Sonnet 5.5 so sánh Sonnet 5.5, Sonnet 5, Opus 5.5 và GPT-6 Sol, và chỉ những hàng này mới có số liệu của Sol:
| Hàng trên bảng của Anthropic | Đơn vị thực hiện | Sonnet 5.5 | GPT-6 Sol |
|---|---|---|---|
| FrontierCode 1.1 (Main) | Cognition: Các mô hình Claude chạy trong Claude Code, các mô hình GPT chạy trong Codex CLI | 46.2% at max, 52.1% at xhigh | 49.3% |
| GDPval-AA v2.1 | Artificial Analysis | 1844 | 1487 |
| AA-Briefcase v1.1 | Artificial Analysis | 1811 | 1483 |
| Chartography, no tools | Benchmark của Surge AI; Sonnet 5.5 do Anthropic chấm điểm, Sol theo báo cáo của Surge AI | 61.6% | 53.6% |
Đây là bảng số liệu từ một nhà cung cấp duy nhất. Bài viết về Sol của OpenAI được đăng sáu ngày trước khi Sonnet 5.5 ra đời, vì vậy bảng so sánh duy nhất có cả hai mô hình đến từ Anthropic. Cả hai cột đều kèm theo lưu ý về lỗi kỹ thuật: các lượt chạy Artificial Analysis của Sonnet 5.5 sử dụng bản triển khai tiền phát hành bị dính lỗi structured-output (nay đã được khắc phục), và OpenAI gần đây cũng đã vá một lỗi xử lý hình ảnh trên Sol mà điểm số của Artificial Analysis và Surge AI có thể chưa phản ánh kịp.
Hàng FrontierCode là mục mà các đội ngũ lập trình nên quan tâm nhất, bởi bản thân nó đã là một phép so sánh giữa các Runtime: 52.1% so với 49.3% chính là Claude Code chạy Sonnet 5.5 đối đầu Codex CLI chạy Sol — cặp kết hợp mà bạn sẽ triển khai trong thực tế. Chú thích cho mức điểm max cũng quan trọng không kém. FrontierCode phạt các thay đổi nằm ngoài phạm vi yêu cầu (out-of-scope), và ở mức nỗ lực max, Sonnet 5.5 thường xuyên kích hoạt kỹ năng code-review của Claude Code hơn, vốn phân nhánh ra rất nhiều subagent. Trong hai trường hợp mà Cognition kiểm tra, điều đó đã gây ra tình trạng timeout hoặc chỉnh sửa lan ra ngoài phạm vi của tác vụ. Nỗ lực càng nhiều, diff càng lớn, càng tốn công review.
Không còn mục nào khác trên trang có số liệu của Sol. Các biểu đồ đo mức độ nỗ lực của Terminal-Bench 4.0 và CursorBench 4.0 chỉ vẽ dữ liệu của GPT-5.6 Sol, do không có số liệu nào của GPT-6 Sol được công bố.
Hiện có một nguồn tổng hợp từ bên thứ ba. Tính đến ngày 29 tháng 9, Artificial Analysis xếp endpoint ở mức nỗ lực tối đa (max-effort) của Sonnet 5.5 đạt 56 điểm trên Intelligence Index, đứng thứ 3 trên 216 mô hình. Sol đạt 48 điểm vào ngày 23 tháng 9, thời điểm chúng tôi ghi nhận lần cuối. Hai mốc thời gian, một chỉ số luôn biến động, và chẳng con số nào đo lường trên chính kho mã nguồn của bạn.
Chi phí trên mỗi tác vụ hoàn thành, không phải trên mỗi token
Giá token giống hệt nhau chẳng nói lên nhiều điều về hóa đơn cuối cùng, bởi số lượng token tiêu tốn cho mỗi tác vụ phụ thuộc vào mô hình, mức nỗ lực và Runtime. Trang ra mắt của Anthropic công bố điểm số và chi phí cho mỗi tác vụ theo từng mức nỗ lực ở hai hàng số liệu chung:
| Effort | FrontierCode: Sonnet 5.5 | FrontierCode: GPT-6 Sol | AA-Briefcase: Sonnet 5.5 | AA-Briefcase: GPT-6 Sol |
|---|---|---|---|---|
| low | 29.3%, $0.19 | 37.3%, $0.43 | 1264, $0.87 | 905, $0.12 |
| medium | 36.5%, $0.24 | 45.9%, $0.77 | 1461, $1.64 | 1142, $0.34 |
| high | 49.4%, $0.42 | 47.7%, $1.04 | 1634, $3.95 | 1289, $0.63 |
| xhigh | 52.1%, $1.59 | 48.4%, $1.32 | 1746, $9.63 | 1364, $1.19 |
| max | 46.2%, $20.78 | 49.3%, $2.07 | 1811, $29.19 | 1483, $2.67 |
Hãy xem FrontierCode trước. Ở mức high, Sonnet 5.5 đạt 49.4% với chi phí $0.42 một tác vụ, ngang ngửa kết quả tốt nhất của Sol là 49.3% ở mức $2.07; phần tổng kết của Anthropic nhận định mức này “chỉ bằng khoảng một phần năm chi phí mỗi tác vụ”. Chi tiết đáng lưu tâm lại nằm ở bên dưới: tại mức medium, Sonnet 5.5 chỉ đạt 36.5%, thấp hơn Sol ngay cả ở mức low, trong khi medium lại là mức nỗ lực mặc định của Claude Code dành cho Sonnet 5.5. Hướng dẫn viết prompt của Anthropic khuyên nên bắt đầu ở mức high, hoặc medium cho việc lập trình dạng agent với các tác vụ đã được mô tả rõ ràng. Thiết lập mà chẳng mấy ai để ý lại có thể định đoạt cả bài toán so sánh.
AA-Briefcase, bài benchmark về xử lý công việc tri thức, lại cho kết quả trái ngược. Lượt chạy tốt nhất của Sol tốn $2.67 một tác vụ; con số tốt nhất của Sonnet 5.5 là $29.19, đắt hơn khoảng 11 lần, dù đổi lại điểm số cao hơn. Thiết lập của Sonnet 5.5 có chi phí gần nhất với mức max của Sol là medium ở mức $1.64, đạt 1461 điểm so với 1483 điểm. Vẫn là hai mô hình đó, nhưng câu trả lời về việc bên nào tiết kiệm hơn cho cùng một kết quả lại hoàn toàn đảo lộn.
Cơ chế caching thu hẹp khoảng cách này và làm thay đổi cán cân. Sonnet 5.5 đọc cached input ở mức $0.10 mỗi triệu token, với chi phí ghi cache 5 phút là $2.50 (bảng giá của Anthropic). GPT-6 giảm giá 90% khi đọc cached input, tức còn $0.20 trên mức giá gốc $2, nghĩa là một lượt đọc cache trên Sonnet 5.5 rẻ hơn một nửa. Điểm khác biệt mấu chốt nằm ở chỗ điều gì sẽ làm mất hiệu lực cache: OpenAI cho biết việc thay đổi reasoning effort hoặc tính khả dụng của tool không còn làm mất cache, trong khi hướng dẫn prompt cho Sonnet 5.5 của Anthropic lại nêu rõ rằng việc đổi top-level effort giữa các request sẽ làm mất cache, đồng thời gợi ý chuyển sang thiết lập effort riêng cho từng message (hiện ở bản beta). Các agent tự ý thay đổi effort giữa chừng trong tác vụ sẽ thấy ngay hệ quả trên hóa đơn thanh toán.
Không con số nào trong số này đại diện cho chi phí thực tế cho mỗi thay đổi được chấp thuận của bạn. Một lượt chạy rẻ tiền nhưng đòi hỏi phải chạy lại hai lần và mất hàng giờ review mới chính là lựa chọn đắt đỏ.
Cách đánh giá và đưa ra quyết định trên chính codebase của bạn
Hãy giao cùng một Task cho cả hai Runtime xử lý và tính toán thời gian mà một lập trình viên phải bỏ ra để nghiệm thu kết quả. Các tiêu chí chi tiết được nêu trong bài viết cách so sánh các coding agent trên chính codebase của bạn; dưới đây là các bước thiết lập cho cặp đôi này.
Sharkly không trực tiếp chọn mô hình. Tài liệu về Agent nêu rõ: “Agent sẽ chạy theo mô hình mặc định của Runtime. Nó không cam kết hay hiển thị một tên mô hình cụ thể. Hãy thay đổi mô hình trong cấu hình Runtime hoặc Computer tool, không cấu hình trên Agent.” Vì vậy, việc thiết lập mô hình được thực hiện trên Computer:
- Claude Code on
claude-sonnet-5-5. Cần có Claude Code phiên bản v2.1.284 trở lên. Mô hìnhdefaultcủa Claude Code là Opus 5.5 trên các gói Pro, Max, Team, Enterprise và Anthropic API, do đó Computer sẽ chạy Opus trừ khi có người chủ động thay đổi, và aliassonnetchỉ trỏ tới Sonnet 5.5 trên Anthropic API. Hãy ghim định danh đầy đủ và kiểm tra lại bằng lệnhclaude --model claude-sonnet-5-5trên máy chủ đó. Bài viết chạy agent Sonnet 5.5 trong Sharkly có hướng dẫn chi tiết từng bước. - Codex on
gpt-6-sol. Thiết lập mô hình trong cấu hình của Codex trên Computer đó; bài viết chạy agent GPT-6 Sol trong Sharkly có hướng dẫn các bước thực hiện. - Thư mục làm việc tạm thời trên cả hai Agent. Mỗi lượt chạy sẽ có một thư mục riêng biệt và các lượt chạy liên kết với repository có thể chuẩn bị một worktree mới hoàn toàn, đảm bảo hai lượt thử nghiệm không bao giờ dùng chung một bản checkout.
Sau đó, hãy ghi lại kế hoạch thử nghiệm trước khi bắt đầu bất kỳ lượt chạy nào:
Task: SH-312, one real Task, same description and starting commit for both runs
Run A: Claude Code Agent, claude-sonnet-5-5, effort: medium (Claude Code default) or high
Run B: Codex Agent, gpt-6-sol, effort: whatever Codex on that Computer is set to, written here
Accept: the same acceptance test for both
Record: accepted y/n, human review minutes, reruns, files touched outside scope,
provider cost from your own Anthropic and OpenAI bills
Decide: after several Tasks of each kind you actually assign, not one
Giao Task cho một Agent và kích hoạt Agent còn lại bằng cách nhắc tên (mention) trong bình luận; Sharkly cho phép việc nhắc tên trực tiếp có thể khởi chạy một Agent không phải là người được chỉ định (Assignee). Cả hai lượt chạy đều trả kết quả về cùng một Task, nhờ đó hai bản diff, hai kết quả chạy test và các câu hỏi phát sinh đều nằm gọn trên một dòng thời gian duy nhất thay vì bị phân tán trên hai màn hình terminal riêng biệt. Phiên bản thử nghiệm trên một bug đơn lẻ kèm thang điểm đánh giá được trình bày tại so sánh thực tế Claude Code và Codex trên cùng một lỗi.
Hãy đặt trọng số cao nhất vào số phút review. Hướng dẫn viết prompt của Anthropic cho biết Sonnet 5.5 thường bổ sung thêm test, tài liệu và các file phụ ở mọi mức effort, cập nhật tiến độ sớm ở các tác vụ dài khi chạy ở mức low và medium, đồng thời mở thêm các vòng review bổ sung hoặc tạo các subagent phụ trách review ở mức xhigh và max. Bất kể Codex chạy Sol xử lý các tình huống tương tự ra sao, bài thử nghiệm thực tế sẽ phản ánh rõ điều đó. Tất cả những yếu tố này đều quy về thời gian review của con người, điều mà không một thang điểm benchmark nào thể hiện được.
Vì sao lựa chọn “cả hai” hoàn toàn là câu trả lời thỏa đáng
Các bằng chứng được công bố không chỉ ra một bên chiến thắng tuyệt đối cho tất cả mọi người, và bài kiểm tra của bạn cũng có thể như vậy. Một kết quả bất phân thắng bại là một phát hiện có giá trị, chứ không phải một thất bại.
Hãy chọn một Runtime duy nhất nếu kết quả thử nghiệm cho thấy sự chênh lệch thời gian review không đáng kể, hoặc khi một nhóm nhỏ muốn tinh gọn với một gói thuê bao và một cấu hình duy nhất. Nếu bạn chỉ dùng Claude Code và ưa chuộng quy trình làm việc tập trung hoàn toàn vào terminal, bạn thậm chí không cần đến một tầng quản lý nào. Nhưng hãy giữ lại cả hai khi hiệu quả phân hóa rõ rệt theo từng loại tác vụ, hoặc khi bạn muốn đổi mô hình mặc định vào tháng sau mà không phải đập đi xây lại toàn bộ quy trình làm việc. Chuyện “tháng sau” không hề là giả định: Opus 5.5, Sol và Luna ra mắt cùng một ngày, và Sonnet 5.5 xuất hiện chỉ sáu ngày sau đó.
Duy trì cả hai chỉ phát huy hiệu quả khi Task — chứ không phải Runtime — đóng vai trò là nơi lưu trữ toàn bộ dữ liệu lịch sử. Không mô hình nào khác đọc được các khối suy nghĩ (thinking blocks) của Sonnet 5.5, vì vậy khi một Task được chuyển từ Claude Code Agent sang Codex Agent, phần reasoning nội tại sẽ bị bỏ lại và chỉ những gì được ghi lại trên Task mới được chuyển tiếp. Mọi quyết định, giả định và câu hỏi mở cần được ghi rõ trong phần mô tả hoặc bình luận. Bài viết chạy song song Claude Code và Codex trên cùng một codebase sẽ hướng dẫn quy trình áp dụng hàng ngày, còn bài viết Sonnet 5.5 hay Opus 5.5 sẽ hướng dẫn cách điều phối tác vụ phía Claude.
Agent chịu trách nhiệm nghiên cứu, triển khai, chạy test và báo cáo. Con người là người định hướng, cấp quyền và nghiệm thu kết quả. Runtime có thể thay đổi theo từng quý; nhưng ngữ cảnh, tiến độ, các điểm nghẽn, kết quả và quá trình review của con người cần phải luôn minh bạch và tập trung tại một nơi duy nhất từ lúc tiếp nhận yêu cầu cho đến khi phát hành.
Phiên bản tuần trước của câu hỏi này, Opus 5.5 đối đầu GPT-6 Sol, cũng gặp nghịch lý đối xứng về mặt dữ liệu: bài viết của OpenAI đã so chuẩn Sol với một mô hình Claude vốn bị thay thế chỉ vài giờ sau đó. Hãy ghi lại cấu hình mặc định, đo lường trực tiếp trên mã nguồn của bạn và giữ Runtime ở dạng một thiết lập linh hoạt có thể tùy chỉnh. Nếu bạn muốn tận dụng nhiều coding agent khác nhau thay vì bị trói buộc vào một hệ sinh thái duy nhất, đó chính là bài toán mà Sharkly được thiết kế để giải quyết. Hãy kết nối một Computer, tạo một Agent cho mỗi Runtime và giao cho cả hai cùng một Task thực tế.



