Trên thị trường hiện nay, không thiếu các bài viết so sánh mô hình AI dựa trên một vài câu hỏi hoặc bài kiểm tra lý thuyết. Tuy nhiên, rất ít bài viết đi sâu vào việc các mô hình AI thực sự hoạt động như thế nào khi đối mặt với một dự án thực tế, một ứng dụng sản xuất đích thực. Đây là khía cạnh quan trọng cần được đánh giá, đặc biệt khi tốc độ cải tiến của các mô hình AI đang diễn ra một cách bùng nổ.
Các mô hình AI ngày càng thể hiện năng lực ấn tượng, với minh chứng là mô hình Claude Sonnet 4 mà chúng ta sẽ thử nghiệm, đã đạt độ chính xác khoảng 72.7% trong bộ kiểm tra SWE bench, một tiêu chuẩn đánh giá khả năng lập trình.
[Thay thế bằng hình ảnh minh họa hoặc mô tả về benchmark SWE của Claude Sonnet 4]
Bài viết này sẽ tập trung vào việc so sánh hai mô hình AI mới nhất: Claude Sonnet 4 (được coi là phiên bản nâng cấp trực tiếp của Claude 3.7 Sonnet) và Gemini 2.5 Pro (bản xem trước Preview 06-05 Thinking, cải tiến so với bản cập nhật trước đó một tháng).
Mặc dù Gemini 2.5 Pro đã có những bước nhảy vọt đáng kể trên các bảng xếp hạng như LMArena (tăng 24 điểm ELO lên 1470) và WebDevArena (tăng 35 điểm ELO dẫn đầu với 1443), mô hình này lại có độ chính xác thấp hơn một chút (~67.2%) trên SWE benchmark so với Claude Sonnet 4. Vậy, hiệu năng thực tế của chúng trong môi trường coding sẽ ra sao? Hãy cùng tìm hiểu chi tiết!
Mục lục
TL;DR – Tóm Lược Nhanh Kết Quả
Nếu bạn muốn biết ngay kết quả: Claude Sonnet 4 rõ ràng là một cải tiến so với Claude 3.7 Sonnet và hoạt động khá tốt, thậm chí tốt hơn hầu hết các mô hình AI coding khác, bao gồm cả Gemini 2.5 Pro. Tuy nhiên, vẫn có những trường hợp ngoại lệ, như bạn sẽ thấy trong phần so sánh chi tiết dưới đây.
Đôi khi, bạn cũng có thể gặp phải những tình huống “nghẽn” như thế này:
[Thay thế bằng hình ảnh minh họa hoặc mô tả về tình huống Claude Sonnet 4 gặp khó khăn trong cuộc trò chuyện]
Nhìn chung, bạn sẽ không sai khi chọn Claude Sonnet 4 cho các tác vụ lập trình chuyên sâu thay vì Gemini 2.5 Pro. Tuy nhiên, điều này đi kèm với chi phí cao hơn. Claude Sonnet 4 có giá khoảng 3 USD/triệu token đầu vào và 15 USD/triệu token đầu ra, trong khi Gemini 2.5 Pro chỉ là 1.25 USD/triệu token đầu vào và 10 USD/triệu token đầu ra.
Nếu đánh giá dựa trên chất lượng mô hình tổng thể và giá cả (không chỉ riêng khả năng coding), Gemini 2.5 Pro là một trong những mô hình mạnh mẽ mà lại có chi phí hợp lý nhất. Do đó, trừ khi bạn cần mô hình cho các tác vụ coding cực kỳ chuyên sâu, Gemini 2.5 Pro vẫn là một lựa chọn đáng cân nhắc.
Giới Thiệu Về Claude Code và Jules Coding Agent
Để thực hiện các bài kiểm tra trong dự án thực tế, chúng ta sẽ sử dụng các công cụ đặc biệt được thiết kế để làm việc với codebase quy mô lớn.
Công Cụ Hỗ Trợ Claude Sonnet 4: Claude Code
💁 Chúng ta sẽ kiểm tra Claude Sonnet 4 thông qua Claude Code. Đây là một công cụ dòng lệnh được phát triển bởi Anthropic, chạy trực tiếp trong terminal của bạn. Nó sử dụng cơ chế agentic search để hiểu toàn bộ dự án, bao gồm cả các dependencies, mà không cần bạn phải chọn thủ công các tệp để cung cấp ngữ cảnh.
Điểm nổi bật là Claude Code tích hợp tốt với GitHub, GitLab và các công cụ phát triển khác, cho phép bạn đọc các issue, viết code, tạo PR (Pull Request) và thậm chí chạy thử nghiệm ngay từ terminal.
🗣️
“Sự hiểu biết của Claude Code về codebase và dependencies cho phép nó thực hiện các chỉnh sửa đa tệp mạnh mẽ mà thực sự hoạt động.” – Anthropic
Bạn có thể xem một bản demo nhanh để hình dung sức mạnh và khả năng của công cụ này.
Tại Sao Sử Dụng Claude Code Thay Vì Giao Diện Web Claude?
Đây là một câu hỏi hợp lý. Lý do chính để chọn Claude Code thay vì giao diện web truyền thống là khả năng truy cập và hiểu toàn bộ codebase, dù lên tới hàng triệu dòng code. Điều này đơn giản là không thể thực hiện được với giao diện web thông thường. Hơn nữa, đối với một nhà phát triển, còn gì tuyệt vời hơn khi được kiểm tra các mô hình ngay từ terminal quen thuộc? 😉
Công Cụ Hỗ Trợ Gemini 2.5 Pro: Jules Coding Agent
💁 Để kiểm tra Gemini 2.5 Pro, chúng ta sẽ sử dụng Jules Coding Agent. Đây là một agent AI coding từ Google, có thể coi là phiên bản trên web của Claude Code.
Nếu bạn theo dõi Google I/O, có thể bạn đã nghe về Jules. Nếu chưa, bạn có thể xem bản demo nhanh dưới đây.
Một nhược điểm của Jules là bạn bắt buộc phải kết nối nó với GitHub và kho lưu trữ của mình để sử dụng. Đây là cách agent lấy ngữ cảnh về codebase của bạn, và chúng ta sử dụng nó vì lý do tương tự như Claude Code.
Kiểm Thử Trong Dự Án Thế Giới Thực
Như đã đề cập, chúng ta sẽ kiểm tra hai mô hình này trên một kho lưu trữ thực tế, yêu cầu chúng triển khai các thay đổi, sửa lỗi và kiểm tra mức độ hiểu biết về codebase.
Dự án được sử dụng là: collaborative-editor. Dự án này tương tự như Google Docs, cho phép chia sẻ và chỉnh sửa tài liệu cộng tác theo thời gian thực. Xin gửi lời cảm ơn đến JavaScript Mastery đã tạo ra dự án này. ✌️
Đây là một dự án tương đối phức tạp và đủ để đánh giá năng lực của các mô hình.
1. Khả Năng Hiểu Codebase
Bắt đầu với một tác vụ đơn giản: yêu cầu các mô hình hiểu về codebase.
Với Claude Code, điều này khá dễ dàng. Bạn chỉ cần chạy lệnh \init
, và nó sẽ tạo ra một tệp CLAUDE.md
chứa tất cả những gì mô hình hiểu được về codebase.
Phản Hồi Từ Claude Sonnet 4
Bạn có thể xem phản hồi chi tiết mà nó tạo ra tại đây: Link Gist
[Thay thế bằng hình ảnh minh họa hoặc mô tả về output của Claude Sonnet 4 khi hiểu dự án]
Không cần phải nói, mô hình hiểu dự án rất tốt, vì đây là mục đích chính của Claude Code: hiểu codebase mà không cần cung cấp ngữ cảnh thủ công. Claude Sonnet 4 đã làm rất tốt điều này, duyệt qua tất cả các tệp và viết một tệp CLAUDE.md
sạch sẽ với sự hiểu biết sâu sắc.
Phản Hồi Từ Gemini 2.5 Pro
Bạn có thể xem phản hồi chi tiết mà nó tạo ra tại đây: Link Gist
[Thay thế bằng hình ảnh minh họa hoặc mô tả về output của Gemini 2.5 Pro khi hiểu dự án]
Trường hợp tương tự xảy ra với Gemini 2.5 Pro. Nó cũng thực hiện chính xác công việc tương tự và viết một tệp README.md
tuyệt vời với đầy đủ thông tin chính xác.
Điểm khác biệt duy nhất có thể nhận thấy giữa phản hồi của hai mô hình là output của Claude Sonnet 4 chi tiết hơn, giải thích các mẫu kiến trúc chính, trong khi Gemini 2.5 Pro viết README giống với những gì bạn thường thấy cho các kho lưu trữ khác trên GitHub (ngắn gọn và súc tích).
Tuy nhiên, thực sự khó để nhận thấy bất kỳ sự khác biệt lớn nào trong kết quả giữa hai mô hình ở bước này. Sự khác biệt chủ yếu nằm ở cách diễn đạt.
2. Tìm và Sửa Lỗi (Buggy Commit)
Đây là một vấn đề thực tế mà hầu hết chúng ta đều gặp phải, đặc biệt khi ít sử dụng các bài kiểm tra (tests). Chúng ta thực hiện một số thay đổi, ban đầu mọi thứ hoạt động, nhưng rồi ở một commit nào đó, chúng ta làm hỏng chức năng. 😴
Hãy xem liệu các mô hình này có thể tìm và sửa tất cả các vấn đề mà tôi cố tình thêm vào codebase, tạo các commit mới và yêu cầu chúng sửa chúng.
Prompt: “Này, dự án trước đó mọi thứ đều hoạt động, nhưng gần đây một vài lỗi đã được thêm vào. Tên tài liệu không bao giờ cập nhật dù bạn đổi tên, và người dùng dường như có thể tự xóa mình khỏi danh sách cộng tác viên của tài liệu do chính họ tạo ra. Ngoài ra, người dùng không được phép xem tài liệu lại có thể xem được. Hãy giúp tôi sửa tất cả những vấn đề này.”
Phản Hồi Từ Claude Sonnet 4
Bạn có thể xem phản hồi thô mà nó tạo ra tại đây: Link Gist
[Thay thế bằng hình ảnh minh họa hoặc mô tả về output của Claude Sonnet 4 khi tìm và sửa lỗi]
Tuyệt vời, chúng ta nhận được một phản hồi tốt và nó đã sửa tất cả các lỗi mà tôi cố tình thêm vào trong các commit. Thậm chí còn tốt hơn, nó đã thêm một mục vào danh sách TODO của mình để chạy các lệnh lint
và test, đây là một bổ sung tốt vì nó tăng cường niềm tin tổng thể vào các thay đổi mà nó thực hiện.
Phản Hồi Từ Gemini 2.5 Pro
Bạn có thể xem phản hồi thô mà nó tạo ra tại đây: Link Gist
[Thay thế bằng hình ảnh minh họa hoặc mô tả về output của Gemini 2.5 Pro khi tìm và sửa lỗi]
Kết quả khá giống với Claude Sonnet 4. Gemini 2.5 Pro đã sửa tất cả các vấn đề. Cách Jules hoạt động là khi bạn chấp thuận các thay đổi, nó sẽ commit và đẩy chúng lên một nhánh mới trên GitHub của bạn. Điều này khá tiện lợi nhưng cũng khá chậm vì mọi thứ chạy bên trong một Máy ảo (VM). Claude Code với Claude Sonnet 4 hoàn thành công việc tương tự trong vòng 2-3 phút, nhưng Jules với Gemini 2.5 Pro mất hơn 10 phút. 😮💨
Tuy nhiên, điều chúng ta quan tâm là bản thân mô hình. Gemini 2.5 Pro đang hoạt động khá tốt và cạnh tranh ngang ngửa với Claude Sonnet 4 trong bài kiểm tra này.
3. Thêm Tính Năng Mới (Chế Độ Tập Trung – Focus Mode)
Các mô hình đã làm rất tốt việc tìm và sửa lỗi. Bây giờ, hãy xem khả năng của chúng trong việc thêm các tính năng mới.
Prompt: “Tôi cần bạn triển khai ‘Chế Độ Tập Trung’ (Focus Mode) trong tài liệu. Đây là những việc bạn cần làm: Ẩn thanh điều hướng, tùy chọn chuyển toàn màn hình, ẩn thanh công cụ định dạng cho đến khi có lựa chọn, và ẩn các bình luận hiển thị ở bên cạnh (tài liệu cần chiếm toàn bộ chiều rộng của trang).”
Phản Hồi Từ Claude Sonnet 4
Đây là output của chương trình sau khi Claude Sonnet 4 thực hiện:
[Mô tả kết quả sau khi chạy code do Claude Sonnet 4 tạo ra]
Một lần nữa, Claude Sonnet 4 đã hoàn thành công việc chỉ trong vài giây. Nó thực hiện gần như chính xác mọi yêu cầu, nhưng với mô hình AI, bạn không bao giờ có thể chắc chắn 100%, phải không? Mọi thứ dường như diễn ra suôn sẻ và hoạt động bình thường, ngoại trừ việc văn bản tôi viết trong tài liệu ở Chế độ Tập trung lại không được lưu lại.
Về chất lượng code, nó rất tốt, tuân theo các best practices và quan trọng nhất, không phải là code cấp độ junior. Nó giữ mọi thứ tối giản và đi thẳng vào vấn đề.
Phản Hồi Từ Gemini 2.5 Pro
Vì một lý do nào đó, Jules gặp vấn đề giữa chừng khi cố gắng thêm tính năng này. Tôi đã thử hơn 3 lần và đều nhận được kết quả tương tự, và tôi không chắc lý do chính xác là gì.
[Thay thế bằng hình ảnh minh họa hoặc mô tả về Jules coding agent gặp vấn đề giữa chừng]
Vì vậy, giải pháp cuối cùng, tôi quay lại Google AI Studio và cung cấp ngữ cảnh thủ công. Kết quả, nó đã triển khai được chức năng tôi yêu cầu. Tuy nhiên, giao diện không thực sự đẹp mắt, như bạn có thể thấy trong bản demo dưới đây. 👇
[Mô tả kết quả sau khi chạy code do Gemini 2.5 Pro tạo ra thủ công]
Nhìn chung, nó đã thêm một tính năng hoạt động tốt, và đó là điều quan trọng nhất, không có lỗi logic như Claude Sonnet 4. Công bằng mà nói, Gemini 2.5 Pro đã giành chiến thắng trong bài kiểm tra này, ngay cả khi phải sử dụng ngữ cảnh thủ công.
4. Xây Dựng Một AI Agent Với Composio
Cho đến bây giờ, chúng ta chủ yếu thực hiện các yêu cầu một lần mà không có các lời nhắc tiếp theo. Trong phần này, tôi sẽ thử xây dựng một AI agent hoạt động đầy đủ, có thể yêu cầu nhiều lời nhắc nếu cần, sử dụng cả hai mô hình để xem kết quả và mô hình nào cho ra kết quả nhanh chóng hơn.
Prompt: “Tôi cần bạn tạo một AI agent cho Google Sheet về cơ bản giúp thực hiện các tác vụ trên Google Sheet. Sử dụng Composio để tích hợp và viết bằng Python. Sử dụng các gói như openai
, composio_llamaindex
, llamaindex
để hoàn thành công việc. Tốt hơn nếu bạn có thể sử dụng uv làm trình quản lý gói. Tham khảo tài liệu nếu cần: https://docs.composio.dev/getting-started/welcome“
Phản Hồi Từ Claude Sonnet 4
Bạn có thể xem phản hồi thô mà nó tạo ra tại đây: Link Gist
Đây là output của chương trình:
[Mô tả output của chương trình do Claude Sonnet 4 tạo ra]
Thật lòng mà nói, tôi không ngờ mô hình này lại tốt đến vậy với code. Nó đã viết code hoàn chỉnh chỉ trong một lần, và tôi không cần phải lặp lại các lời nhắc tiếp theo. Nó đã tuân theo tất cả các cách tiếp cận đúng đắn, tương tự như cách tài liệu Composio gợi ý làm việc với Google Sheet Agent. 🙀
Nhìn chung, đây là một kết quả tuyệt vời.
Phản Hồi Từ Gemini 2.5 Pro
Đây là output của chương trình:
[Mô tả output của chương trình do Gemini 2.5 Pro tạo ra]
Lần này Gemini 2.5 Pro nhanh hơn, và tôi có một AI agent hoạt động cho Google Sheets chỉ trong 6 phút. Điều này thực sự đáng ngạc nhiên, xem xét việc viết hơn 2500 dòng code không có lỗi trong một lần là hoàn toàn ấn tượng. Tin tôi đi, tôi đã thử điều này với Claude 3.7 Sonnet và nó đã thất bại rất tệ. Bạn có thể xem phản hồi mà Claude 3.7 tạo ra tại đây: Link Gist Claude 3.7
Thật ấn tượng khi mô hình có thể tham khảo tài liệu và sử dụng các gói như tôi yêu cầu, với tất cả các best practices, và tạo ra một AI agent hoạt động tốt.
Kết Luận: Đâu Là Lựa Chọn Tốt Nhất Cho Lập Trình?
Dựa trên các bài kiểm tra thực tế này, có thể khẳng định Claude Sonnet 4 vượt trội hơn Gemini 2.5 Pro trong lĩnh vực lập trình. Mặc dù sự khác biệt có thể không quá lớn, nhưng Claude Sonnet 4 chắc chắn là một mô hình vững chắc cho các tác vụ coding.
[Thay thế bằng hình ảnh minh họa hoặc mô tả khen ngợi Claude Sonnet 4]
Mặc dù đây chỉ là một vài bài kiểm tra, chúng ta đã có những kết quả khá công bằng. Giá của Claude Sonnet 4 tương đương với Claude 3.7 Sonnet nhưng đi kèm với những cải tiến, điều này xác nhận rằng nó là một phiên bản thay thế trực tiếp đáng giá.
Nếu bạn muốn xem cách các mô hình Claude 4 (Claude Opus 4 và Claude Sonnet 4) cạnh tranh với nhau và với Gemini 2.5 Pro trong lĩnh vực coding, hãy xem bài viết này:
🔥Claude Opus 4 vs. Gemini 2.5 Pro vs. OpenAI o3 Coding Comparison 🚀
Bài viết của Shrijal Acharya cho Composio ・ Ngày 26 tháng 5 ・ #ai #javascript #webdev #programming
Bạn thích phương pháp kiểm tra mô hình LLM nào hơn: giải quyết các vấn đề thực tế hay hỗn hợp các câu hỏi coding nhỏ hơn? Hãy cho tôi biết ý kiến của bạn trong phần bình luận!
Bài viết dựa trên thử nghiệm thực tế và phân tích từ nguồn gốc.