AI đang cách mạng hóa việc phát triển phần mềm, khiến nó trở nên hiệu quả, năng suất và sáng tạo hơn. Trong bài viết này, chúng tôi khám phá tác động của AI trong việc phát triển phần mềm, đi sâu vào những hiểu biết sâu sắc thu được từ cuộc điều tra về GitHub Copilot do nhóm R&D ELEKS thực hiện.
Khi thế giới phát triển phần mềm tiếp tục phát triển, vai trò của AI ngày càng trở nên quan trọng. Với những lợi ích như khả năng giảm thời gian và công sức cần thiết cho việc viết mã và hơn thế nữa, không có gì lạ khi AI trong phát triển phần mềm là một chủ đề nóng hiện nay.
92% nhà phát triển có trụ sở tại Hoa Kỳ đã sử dụng các công cụ mã hóa AI cả trong và ngoài công việc. - GitHub
70% nhà phát triển tin rằng các công cụ mã hóa AI sẽ mang lại cho họ lợi thế khác biệt trong nỗ lực chuyên môn, bao gồm cải thiện chất lượng mã, giảm thời gian hoàn thành và nâng cao khả năng giải quyết sự cố. - GitHub
4 trong số 5 nhà phát triển mong đợi các công cụ mã hóa AI sẽ giúp nhóm của họ hợp tác hơn. - GitHub
Mặc dù AI chưa đạt đến giai đoạn có thể tạo, thử nghiệm và khởi chạy các sản phẩm phần mềm một cách độc lập mà không cần sự can thiệp của con người, nhưng so với trước đây, nó đã tăng tốc đáng kể thời gian quay vòng tổng thể.
Hiện có nhiều công cụ dựa trên AI có thể hỗ trợ phát triển các ứng dụng tùy chỉnh bằng cách tạo và tự động hoàn thành mã, cũng như phát hiện và sửa lỗi. Nhóm Nghiên cứu & Phát triển ELEKS đã đánh giá kỹ lưỡng một công cụ như vậy - GitHub Copilot - để đánh giá ảnh hưởng của nó đối với nhiệm vụ của nhà phát triển, thời gian hoàn thành và tiêu chuẩn chất lượng đối với các đề xuất được cung cấp. Chúng ta hãy xem xét kỹ hơn.
GitHub Copilot là một công cụ để tự động hoàn thành và tạo mã. Nó được xây dựng dựa trên OpenAI Codex và được đào tạo trên kho GitHub công khai. Kết quả là nó gợi ý mã cho bất kỳ ngôn ngữ lập trình nào. Tuy nhiên, chất lượng của các đề xuất phụ thuộc vào số lượng kho lưu trữ công cộng dựa trên một ngôn ngữ và khung lập trình cụ thể.
GitHub Copilot hoạt động với mã chương trình bằng cách sử dụng plugin Môi trường phát triển tích hợp (IDE). Hiện chỉ hỗ trợ các IDE sau:
Cuộc điều tra này nhằm mục đích khám phá tác động của việc sử dụng Copilot đối với cả tốc độ và chất lượng phát triển.
Để tiến hành nghiên cứu này, một dự án thú cưng nhỏ đã được khởi xướng như một nơi thử nghiệm các giả định khác nhau. Với một nhóm bao gồm bốn nhà phát triển cấp trung có tay nghề cao được trang bị kiến thức chuyên môn về React, Redux, TypeScript, Jest, Vite, PHP, Symfony và Codeception, chúng tôi đã bắt đầu điều tra và xác định các mục tiêu cũng như cách tiếp cận của mình như sau.
Mục tiêu | Tiếp cận |
---|---|
Đánh giá sự phụ thuộc giữa năng lực và hiệu suất của lập trình viên khi sử dụng Copilot | Chúng tôi đã chọn khung Symfony để phát triển back-end. Nhóm back-end không có nhiều kinh nghiệm với framework này. |
Điều tra tác động lên các nhiệm vụ điển hình của nhà phát triển | Trước khi dự án bắt đầu, chúng tôi đã tạo một WBS bao gồm công việc điển hình của một nhà phát triển trong một dự án thương mại. Ngoài ra, chúng tôi đã tiến hành một phiên ước tính nhiệm vụ. |
Điều tra tác động lên các ngôn ngữ và khung lập trình theo mức độ phổ biến | Chúng tôi đã phát triển một ứng dụng web có phạm vi thử nghiệm. |
Đánh giá tác động đến thời gian hoàn thành nhiệm vụ | Chúng tôi đã ước tính sơ bộ các nhiệm vụ riêng lẻ trong dự án. |
Nâng cao hiệu quả nghiên cứu | Chúng tôi đã tiến hành các buổi chia sẻ kiến thức trong nhóm trong quá trình đồng bộ hóa hàng ngày. |
Khám phá chất lượng của các đề xuất | Chúng tôi đã thử nghiệm cách Copilot xử lý cấu trúc dự án phi cổ điển và phức tạp hơn. |
Cuộc điều tra của ELEKS về GitHub Copilot đã mang lại một số phát hiện quan trọng làm sáng tỏ khả năng và lợi ích của công cụ này. Đây là một mô tả chi tiết hơn:
Xin lưu ý rằng kết quả điều tra dựa trên phản hồi chủ quan của nhóm, quan sát công việc của họ và đánh giá mã về các giải pháp của họ.
Mức tăng năng suất trung bình của các thành viên trong nhóm là 5–10%. - Đội ngũ R&D ELEKS
Ngoài ra, trong quá trình thực hiện dự án, nhóm đã gặp phải một số lỗi trong GitHub Copilot. Ví dụ: Copilot đề xuất các đề xuất mã dựa trên mã từ một dự án khác mở trong cửa sổ IDE khác. Nó cung cấp mã không chính xác về mặt cú pháp. Copilot xung đột với các tính năng của một số plugin (được bên thứ ba tích hợp hoặc thêm vào) cũng có chức năng tự động hoàn thành mã.
GitHub Copilot là một công cụ mạnh mẽ có tác động tích cực đến tốc độ phát triển và sự hài lòng trong công việc của nhà phát triển. Giống như bất kỳ công cụ phát triển nào khác, nó cần có thời gian để thành thạo.
Tại thời điểm này, giấy phép cá nhân hàng tháng chỉ có giá 10 USD, trong khi gói kinh doanh có giá 19 USD mỗi tháng. GitHub Copilot chắc chắn sẽ mang lại lợi ích tài chính khi sử dụng cho các dự án, đặc biệt đối với các chuyên gia có trình độ năng lực trung bình trở lên.
Nhóm dự đoán rằng với sự gia tăng kinh nghiệm sử dụng GitHub Copilot, tốc độ phát triển có thể tăng thêm 5–25%, tùy thuộc vào mức độ phổ biến của công nghệ và trình độ năng lực của nhà phát triển. GitHub Copilot được đảm bảo không làm chậm quá trình phát triển vì các nhà phát triển sẽ dần dần có được kiến thức chuyên môn và hiểu biết về thời điểm sử dụng công cụ này có lợi và khi nào không.
Tóm lại, tác động của AI trong phát triển phần mềm, được minh họa bằng các công cụ như GitHub Copilot, là không thể phủ nhận. Nhìn chung, các công cụ như GitHub Copilot không thể thay thế nhà phát triển nhưng đóng vai trò là công cụ có giá trị để nâng cao sự thoải mái và năng suất của nhà phát triển, góp phần vào sự phát triển của phát triển phần mềm trong một thế giới ngày càng được định hướng bởi AI.
Mở khóa con đường dẫn đến quy trình phát triển phần mềm hiệu quả và kết quả thành công, hãy liên hệ với các chuyên gia ELEKS .
Cũng được xuất bản ở đây .