Trang công nghệ Tech Radar đã thử nghiệm nhiều công cụ AI làm trợ lý lập trình để tìm ra mô hình nào mang lại kết quả tốt nhất.
GitHub Copilot - tốt nhất dành cho doanh nghiệp
GitHub Copilot hỗ trợ lập trình viên và nhà phát triển cải thiện hiệu quả và năng suất công việc của Microsoft Copilot LLM. Nó sử dụng mô hình Codex của OpenAI, cũng được đào tạo như một trợ lý lập trình.
Tính năng cốt lõi của GitHub Copilot là cung cấp một tiện ích mở rộng cho phép tích hợp trực tiếp mô hình ngôn ngữ lớn (LLM) vào các môi trường phát triển phổ biến như Visual Studio Code, Visual Studio, Vim, Neovim, bộ IDE JetBrains và Azure Data Studio. Nhờ đó, GitHub Copilot có thể truy cập các dự án hiện tại của người dùng để cải thiện gợi ý khi được yêu cầu. Đối với người dùng doanh nghiệp, AI này có thể được cấp quyền vào các kho lưu trữ và cơ sở kiến thức hiện có từ tổ chức của họ để nâng cao chất lượng đầu ra. Nhờ lợi thế đó, nó tạo đầu ra và giúp gỡ lỗi mã theo ngữ cảnh tốt hơn so với các AI được đào tạo trên tập dữ liệu rộng.
Tuy nhiên, người dùng cũng cần cẩn trọng vì AI vẫn có khả năng gặp lỗi hoặc gợi ý không chính xác. GitHub Copilot cung cấp bản dùng thử miễn phí 30 ngày cho gói rẻ nhất (10 USD/tháng). Gói doanh nghiệp có giá 19 USD, còn gói Enterprise 39 USD cho mỗi người dùng mỗi tháng
Qwen - tốt nhất dành cho cá nhân
Qwen là bản LLM nguồn mở của Alibaba, phát hành tháng 4/2024 và được đào tạo chuyên biệt bằng cách sử dụng kho lưu trữ mã nguồn công khai để hỗ trợ nhà phát triển trong các tác vụ liên quan đến mã hóa.
Có hai phiên bản Qwen: mô hình cơ sở được thiết kế để tạo mã và gợi ý nhưng hạn chế chức năng trò chuyện, trong khi bản thứ hai có thể sử dụng với giao diện chat, trả lời câu hỏi tự nhiên. Cả hai được đào tạo với 3.000 tỷ dữ liệu liên quan đến mã và hỗ trợ 92 ngôn ngữ lập trình, trong đó có một số ngôn ngữ phổ biến như C++, Python, Java, PHP, C# và Java script.
Qwen phiên bản cơ sở có nhiều kích cỡ, còn phiên bản thứ hai chỉ có một kích cỡ 7B. Dù khá nhỏ so với các mô hình khác đang được dùng làm trợ lý mã hóa, Qwen hoạt động tốt nhờ cung cấp hỗ trợ mã hóa, cả mã nguồn mở và mã nguồn đóng.
Công cụ này vượt qua GPT 3.5 trong hầu hết bài kiểm tra chuẩn. Trong khi đó, GPT-4 có thể hoạt động tốt hơn, nhưng cầu đăng ký và phải trả tiền cho mỗi mã thông báo, khiến việc sử dụng trở nên tốn kém.
Do Qwen là mã nguồn mở, người dùng có thể tải xuống để sử dụng mà không mất phí. Người dùng cần PC với ít nhất GPU 16 GB VRAM và 32 GB RAM hệ thống. Khả năng lưu trữ trong cơ sở hạ tầng cục bộ hoặc từ xa của riêng người dùng giúp giảm một số lo ngại liên quan đến quyền riêng tư hoặc bảo mật dữ liệu.
LLama - hiệu quả nhất so với chi phí bỏ ra
Mô hình LLama của Meta là một trong những lựa chọn tốt nhất về chi phí trên thị trường. Không như nhiều mô hình khác được đào tạo chuyên biệt với dữ liệu liên quan đến lập trình, Llama tổng quát hơn và một trong số đó là trợ lý mã hóa. Trong thử nghiệm với các mô hình có cùng kích thước, Llama vượt CodeLlama về khả năng tạo, diễn giải và hiểu việc mã hóa. Điều này gây ấn tượng khi xét đến Llama không được đào tạo chuyên biệt.
Llama cũng là mô hình mã nguồn mở, cho phép nhà phát triển tải xuống hạ tầng cục bộ của riêng họ. Giống Qwen, Llama cần ít nhất 16 GB VRAM cho GPU và 32 GB RAM hệ thống để chạy mô hình.
Trong thử nghiệm yêu cầu Llama viết giải pháp hoàn chỉnh bằng Python cho việc chơi cờ vua bằng văn bản, ban đầu mã không chạy được. Sau khi cung cấp thông báo lỗi từ trình biên dịch, nó đã xác định vị trí lỗi và đưa ra bản điều chỉnh hiệu quả và giải thích lý do cần sửa để giúp người dùng hiểu lỗi đó là gì.
Claude - tốt nhất cho lập trình
Ra mắt tháng 4/2024, Claude được Anthropic tuyên bố là AI thông minh nhất trên thị trường và được thiết kế để giải quyết nhiều nhiệm vụ khác nhau. Dù hầu hết AI đều có thể lập trình, độ chính xác của kết quả đầu ra có thể khác nhau, như có lỗi hoặc không chính xác do không được thiết kế chuyên biệt. Claude thu hẹp khoảng cách bằng cách được đào tạo để xử lý tác vụ liên quan đến lập trình bên cạnh các tác vụ thông thường, tạo nên một giải pháp đa năng.
Anthropic không đề cập số lượng ngôn ngữ lập trình hỗ trợ, nhưng Claude có thể tạo mã với các ngôn ngữ phổ biến như C++, C#, Python và Java hay ngôn ngữ cũ hoặc ít phổ biến hơn như Fortran, Cobol và Haskell.
Claude dựa vào các mẫu, cú pháp, quy ước mã hóa và thuật toán được xác định trong dữ liệu đào tạo liên quan đến mã được cung cấp để tạo các đoạn mã mới từ đầu, giúp tránh việc sao chép trực tiếp mã đã được sử dụng để đào tạo nó. Cửa sổ ngữ cảnh mã thông báo lớn do Claude cung cấp cực kỳ hữu ích khi làm việc với các khối mã lớn khi người dùng phải lặp lại các đề xuất và thay đổi. Giống như tất cả các LLM, Claude cũng có giới hạn mã thông báo đầu ra và có xu hướng tóm tắt hoặc cắt bớt phản hồi để vừa với một phản hồi duy nhất. Điều này gây khó khăn khi cần cung cấp một khối lượng lớn mã cần thiết để tạo trường hợp kiểm thử.
Claude nổi bật nhờ khả năng giải thích chi tiết về mã đã tạo. Nó thêm chú thích về chức năng của mã để giúp nhà phát triển hiểu những gì đang xảy ra. Điều này đặc biệt hữu ích khi sử dụng Claude gỡ lỗi mã và tạo bản sửa, vì không chỉ giúp giải quyết vấn đề mà còn cung cấp bối cảnh tại sao các thay đổi được thực hiện, hoặc tại sao mã được tạo theo cách cụ thể đó.
Anthropic khẳng định không sử dụng bất kỳ dữ liệu nào được gửi đến Claude cho mục đích đào tạo mô hình, được nhiều người đánh giá cao khi làm việc với mã độc quyền. Tuy nhiên, hạn chế của nó là không cung cấp giải pháp kết nối với cơ sở dữ liệu hoặc cơ sở mã của người dùng. Đây cũng là một trong những công cụ hỗ trợ lập trình đắt nhất trên thị trường.
ChatGPT - tốt nhất cho việc gỡ lỗi
Từ khi ra mắt vào tháng 11/2022, ChatGPT đã tạo nên cơn sốt trên toàn thế giới. Dù không được thiết kế chuyên biệt cho lập trình, nó vẫn hoạt động tốt trong nhiều tác vụ liên quan như đề xuất mã theo thời gian thực, tạo khối mã, kiểm thử, gỡ lỗi. GitHub Copilot cũng sử dụng mô hình ngôn ngữ lớn của OpenAI để tận dụng khả năng phản hồi giống con người của ChatGPT trong lập trình.
ChatGPT được đào tạo với dữ liệu liên quan đến viết mã, giúp nó hiểu được nhiều luồng logic, quy tắc cú pháp và mô hình lập trình được các nhà phát triển sử dụng. AI của OpenAI vượt trội khi gỡ lỗi nhờ thực hành thường xuyên trong việc giúp giải quyết các vấn đề thường gặp của nhà phát triển.
Sử dụng ChatGPT xem lại mã có thể tăng tốc đáng kể việc phát hiện lỗi cú pháp. Trong khi đó, lỗi logic là một trong những lỗi khó gỡ nhất vì mã thường biên dịch chính xác, nhưng lại không hoạt động như mong muốn hay cung cấp đầu ra không chính xác. Bằng cách đưa mã cho ChatGPT và giải thích những gì nó nên làm, AI này có thể phân tích và xác định vấn đề nằm ở đâu, đưa ra đề xuất hoặc viết lại để giải quyết vấn đề. Điều này giúp các nhà phát triển nhanh chóng hiểu nguyên nhân và rút kinh nghiệm để tránh lặp lại trong tương lai.
Việc gỡ lỗi của ChatGPT đang trở nên chính xác hơn theo thời gian, nhưng tiềm ẩn một số rủi ro liên quan đến mã người dùng gửi đến để phân tích, đặc biệt nếu là mã độc quyền. Người dùng có tùy chọn từ chối dữ liệu của họ được sử dụng để đào tạo ChatGPT, nhưng đây không phải cài đặt mặc định, nên cần lưu ý khi sử dụng.
Huy Đức