Cộng đồng công nghệ đang trải qua sự phân hóa ngày càng lớn về các công cụ lập trình được hỗ trợ bởi AI, với nhiều lập trình viên báo cáo về những khoảng cách đáng kể giữa lời hứa marketing và hiệu suất thực tế. Trong khi một số người tuyên bố có được những cải thiện năng suất mang tính cách mạng, một phần đáng kể của cộng đồng đang phản đối những dự đoán quá lạc quan về việc AI thay thế các lập trình viên con người.
Khoảng cách giữa Lời hứa và Thực tế
Các cuộc thảo luận gần đây tiết lộ sự tương phản rõ rệt giữa những người ủng hộ lập trình AI và các chuyên gia đang đối phó với những thách thức hàng ngày. Nhiều lập trình viên báo cáo rằng các công cụ AI hoạt động tốt cho những tác vụ đơn giản như tạo các thao tác CRUD cơ bản hoặc tạo mã boilerplate, nhưng gặp khó khăn đáng kể với các ứng dụng phức tạp, đòi hỏi nhiều ngữ cảnh. Các công cụ này thường tạo ra mã trông có vẻ hợp lý nhưng chứa những lỗi tinh vi hoặc đưa ra những giả định không chính xác về kiến trúc hệ thống.
Một ví dụ đặc biệt rõ ràng liên quan đến các truy vấn SQL được tạo bởi AI có vẻ đúng về mặt cú pháp nhưng thực hiện những thao tác vô nghĩa, chẳng hạn như các mệnh đề JOIN không thực sự liên kết các bảng một cách đúng đắn. Những vấn đề này có thể khó phát hiện, đặc biệt khi bị ẩn trong các cấu trúc mã phức tạp.
Các vấn đề thường gặp được báo cáo với công cụ lập trình AI:
- Các giải pháp ảo tưởng cho những vấn đề không phổ biến
- Code đúng cú pháp nhưng có lỗi logic
- Mất ngữ cảnh trong các dự án phức tạp, nhiều file
- Khó khăn với các công nghệ chuyên biệt hoặc ít tài liệu
- Các lỗi tinh vi khó phát hiện trong code được tạo ra
Vấn đề về Độ chính xác
Một thách thức cơ bản xuất hiện xung quanh độ chính xác cần thiết cho lập trình so với bản chất mơ hồ của ngôn ngữ tự nhiên. Các nhà phê bình cho rằng việc mô tả yêu cầu bằng tiếng Anh thường đòi hỏi độ chính xác không kém gì việc viết mã, nhưng không có cấu trúc logic mà các ngôn ngữ lập trình cung cấp. Điều này tạo ra tình huống mà các lập trình viên phải dành thời gian đáng kể để tạo ra các prompt chi tiết hoặc lặp lại với các hệ thống AI để đạt được kết quả mong muốn.
Cộng đồng lưu ý rằng lập trình thành công luôn là về việc chuyển đổi các yêu cầu mơ hồ của con người thành các hướng dẫn chính xác, có thể thực thi được. Trong khi các công cụ AI có thể hỗ trợ quá trình này, chúng không loại bỏ nhu cầu về tư duy rõ ràng về thiết kế và chi tiết triển khai hệ thống.
Hạn chế về Ngữ cảnh và Chuyên môn hóa
Các lập trình viên làm việc với các lĩnh vực chuyên biệt hoặc công nghệ ít được tài liệu hóa báo cáo kết quả đặc biệt kém từ các trợ lý lập trình AI. Khi xử lý tối ưu hóa ngôn ngữ assembly, hướng dẫn SIMD, hoặc các vấn đề cụ thể theo lĩnh vực với ít ví dụ trực tuyến, các công cụ AI thường xuyên tạo ra những giải pháp ảo tưởng có vẻ tự tin nhưng về cơ bản là không chính xác.
Đưa cho bất kỳ AI nào bất kỳ vấn đề không điển hình nào và bạn sẽ thấy nó tạo ra những ảo tưởng lớn. Lấy những cái dễ và sau đó, đúng vậy bạn nhanh hơn, nhưng những cái đó có thể và đã được thực hiện 1 triệu lần.
Hạn chế này cho thấy rằng các công cụ lập trình AI chủ yếu hiệu quả cho các mẫu lập trình được tài liệu hóa tốt, phổ biến hơn là cho công việc sáng tạo hoặc chuyên biệt.
Hiệu quả của Công cụ Lập trình AI theo Loại Tác vụ:
- Hiệu quả cao: Các thao tác CRUD, mã boilerplate, thuật toán phổ biến
- Hiệu quả trung bình: Phát triển web, framework tiêu chuẩn, API có tài liệu
- Hiệu quả thấp: Tối ưu hóa Assembly, lệnh SIMD, các vấn đề chuyên biệt theo lĩnh vực
- Hiệu quả kém: Tích hợp hệ thống phức tạp, giải quyết vấn đề mới, các lĩnh vực chuyên môn
Mối quan ngại về Sự phụ thuộc
Một lo ngại đáng kể trong số các lập trình viên tập trung vào sự phụ thuộc ngày càng tăng vào các dịch vụ AI của bên thứ ba cho công việc phát triển cốt lõi. Không giống như các công cụ lập trình truyền thống mà các lập trình viên có thể kiểm soát và hiểu, các trợ lý lập trình AI yêu cầu đăng ký liên tục các dịch vụ bên ngoài có thể thay đổi giá cả, tính khả dụng hoặc chức năng bất cứ lúc nào. Điều này tạo ra một lỗ hổng tiềm ẩn cho các cá nhân và tổ chức trở nên quá phụ thuộc vào những công cụ này.
Thực tế Thị trường so với Sự cường điệu
Cuộc thảo luận tiết lộ sự hoài nghi về tính bền vững của các mô hình kinh doanh công cụ lập trình AI hiện tại. Nhiều công ty AI đang hoạt động với những khoản lỗ đáng kể trong khi hứa hẹn khả năng cách mạng trong vòng 2-5 năm, bao gồm việc tạo mã không có lỗi. Cộng đồng rút ra những điểm tương đồng với các bong bóng công nghệ trước đây, lưu ý rằng trong khi công nghệ cơ bản có thể có giá trị, thời gian và phạm vi của những cải tiến được hứa hẹn có thể không thực tế.
Kết luận
Trong khi các công cụ lập trình AI đã tìm thấy vị trí của chúng như những trợ lý hữu ích cho một số loại tác vụ lập trình nhất định, cộng đồng lập trình viên vẫn còn chia rẽ về tiềm năng biến đổi của chúng. Các công cụ này xuất sắc trong việc tạo ra các mẫu phổ biến và giúp đỡ với các tác vụ lập trình thường ngày, nhưng gặp khó khăn với các vấn đề phức tạp, phụ thuộc vào ngữ cảnh đòi hỏi hiểu biết sâu về hệ thống. Khi công nghệ tiếp tục phát triển, những lập trình viên thành công nhất dường như là những người hiểu cả khả năng và hạn chế của những công cụ này, sử dụng chúng một cách chiến lược thay vì như những sự thay thế toàn diện cho kiến thức lập trình.
Tham khảo: The Last Programmers