Cộng đồng phát triển phần mềm đang tham gia vào một cuộc tranh luận gay gắt về các công cụ lập trình hỗ trợ bởi AI, với các lập trình viên chia rẽ sâu sắc về việc liệu những công nghệ này có nâng cao hay làm hại chất lượng code. Cuộc thảo luận đã trở nên căng thẳng xung quanh khái niệm vibe coding - một thuật ngữ mô tả việc phát triển có sự hỗ trợ của AI, nơi các lập trình viên phụ thuộc nhiều vào các mô hình ngôn ngữ để tạo ra code.
Mức độ kinh nghiệm quyết định hiệu quả của công cụ AI
Một mô hình rõ ràng đã xuất hiện từ các cuộc thảo luận trong cộng đồng: giá trị của các công cụ lập trình AI dường như gắn liền trực tiếp với kinh nghiệm của lập trình viên. Các lập trình viên dày dạn kinh nghiệm báo cáo về những cải thiện đáng kể về năng suất khi sử dụng trợ lý AI, trong khi những người mới bắt đầu thường gặp khó khăn với kết quả kém. Điều này tạo ra một nghịch lý thú vị khi những người cần sự giúp đỡ nhất lại được hưởng lợi ít nhất từ những công cụ này.
Cộng đồng đã quan sát thấy rằng các lập trình viên có kinh nghiệm có thể đánh giá tốt hơn code được tạo ra bởi AI, phát hiện các vấn đề tiềm ẩn và cung cấp các gợi ý hiệu quả hơn. Trong khi đó, các lập trình viên junior có thể chấp nhận những gợi ý AI có lỗi mà không nhận ra vấn đề, có thể tạo ra nợ kỹ thuật và các lỗ hổng bảo mật.
Mức độ kinh nghiệm của nhà phát triển và hiệu quả của công cụ AI:
- Lập trình viên mới bắt đầu: Thấy các công cụ AI hữu ích cho các tác vụ cơ bản
- Nhà phát triển trung cấp: Thường chỉ trích chất lượng mã AI và các mối quan ngại về khả năng bảo trì
- Nhà phát triển nâng cao: Báo cáo tăng năng suất đáng kể khi được sử dụng như trợ lý
- Chuyên gia lĩnh vực: Có thể hướng dẫn AI một cách hiệu quả và phát hiện lỗi trong mã được tạo ra
Chất lượng code vẫn là mối quan tâm chính
Nhiều lập trình viên bày tỏ sự thất vọng với chất lượng code được tạo ra bởi AI, đặc biệt là đối với các tác vụ phức tạp. Các khiếu nại phổ biến bao gồm thiếu tối ưu hóa, các thực hành lỗi thời, quyết định kiến trúc kém và thất bại trong các trường hợp biên. Tuy nhiên, trải nghiệm khác nhau đáng kể dựa trên mô hình AI được sử dụng, kỹ thuật gợi ý và lĩnh vực lập trình cụ thể.
Code được tạo ra bởi AI thường ngang bằng với những người như QA hoặc quản trị hệ thống, những người không lập trình như công việc chính của họ.
Một số lập trình viên báo cáo thành công với các mô hình mới hơn như Claude Sonnet và GPT-4, đặc biệt khi cung cấp bối cảnh chi tiết và kế hoạch triển khai. Điều quan trọng dường như là coi AI như một trợ lý thay vì thay thế cho sự phán đoán của con người.
Các Vấn Đề Chất Lượng Code AI Phổ Biến:
- Thiếu các tối ưu hóa cơ bản và thực hành tốt nhất
- Sử dụng các phiên bản lỗi thời với những lỗ hổng bảo mật tiềm ẩn
- Thiếu các cân nhắc về thiết kế và kiến trúc
- Thất bại trong các tình huống phức tạp và trường hợp biên
- Tạo ra các giải pháp quá dài dòng hoặc phức tạp không cần thiết
Sự tương tự với thời trang nhanh gây ra thảo luận
Sự so sánh giữa lập trình AI và thời trang nhanh đã gây được tiếng vang với nhiều lập trình viên. Giống như thời trang nhanh làm ngập thị trường với quần áo rẻ tiền, dùng một lần, các nhà phê bình lo ngại rằng các công cụ AI sẽ tạo ra một lượng lớn phần mềm chất lượng thấp khó bảo trì hoặc debug. Mối quan tâm này đặc biệt có liên quan khi phần mềm thường tồn tại lâu hơn tuổi thọ dự định của nó, với các nguyên mẫu thường xuyên trở thành hệ thống sản xuất.
Tuy nhiên, những người ủng hộ cho rằng sự tương tự này bỏ qua tiềm năng của AI cho các dự án cá nhân và tạo nguyên mẫu nhanh. Nhiều lập trình viên sử dụng thành công các công cụ AI để tạo ra các tiện ích tùy chỉnh và khám phá ý tưởng một cách nhanh chóng, chấp nhận chất lượng code thấp hơn để đổi lấy tốc độ và sự tiện lợi.
Kiến thức chuyên môn được chứng minh là quan trọng
Sự đồng thuận của cộng đồng nhấn mạnh rằng chuyên môn trong lĩnh vực vẫn cần thiết khi làm việc với các công cụ lập trình AI. Các lập trình viên hiểu không gian vấn đề của họ có thể hướng dẫn tốt hơn các trợ lý AI và phát hiện lỗi, trong khi những người thiếu kiến thức chuyên môn thường kết thúc với các giải pháp không hoạt động hoặc không phù hợp.
Điều này đã dẫn đến các dự đoán về việc trở lại với các phương pháp phát triển waterfall, nơi các đặc tả chi tiết và lập kế hoạch kiến trúc trở nên quan trọng cho sự thành công của AI. Hình phạt truyền thống của việc lập kế hoạch trước rộng rãi giảm đi khi việc điều chỉnh hướng đi không đòi hỏi nhiều giờ phát triển của con người.
Nhìn về tương lai
Khi các công cụ lập trình AI tiếp tục phát triển, cộng đồng phát triển phần mềm đối mặt với các câu hỏi về tiêu chuẩn nghề nghiệp và các chỉ số chất lượng code. Cuộc tranh luận phản ánh những mối quan tâm rộng lớn hơn về việc duy trì tay nghề phần mềm trong khi áp dụng các công nghệ nâng cao năng suất. Liệu lập trình AI trở thành thời trang nhanh của phần mềm hay một công cụ mạnh mẽ cho các lập trình viên có kinh nghiệm có thể phụ thuộc vào cách ngành công nghiệp giải quyết những thách thức về chất lượng và đào tạo này.
Cuộc thảo luận cho thấy rằng các công cụ lập trình AI không có lợi hay có hại một cách phổ quát - giá trị của chúng phụ thuộc nhiều vào cách chúng được sử dụng và bởi ai. Khi những công nghệ này trưởng thành, việc tìm ra sự cân bằng đúng giữa năng suất và chất lượng có thể vẫn là một thách thức trung tâm cho cộng đồng phát triển phần mềm.
Tham khảo: vibe coding is the fast fashion industry of software engineering