Cộng đồng công nghệ đang phải vật lộn với một vấn đề ngày càng gia tăng trong phát triển phần mềm có sự hỗ trợ của AI. Mặc dù các công cụ trí tuệ nhân tạo đã cách mạng hóa tốc độ và khả năng lập trình, các nhà phát triển đang phát hiện ra một lỗ hổng nghiêm trọng: những công cụ này sẽ tự tin tạo ra các giải pháp phức tạp cho những vấn đề không tồn tại hoặc không nên được giải quyết theo cách phức tạp.
Công Cụ AI Vượt Trội Về Tốc Độ Nhưng Gặp Khó Khăn Với Định Hướng
Các nhà phát triển có kinh nghiệm báo cáo rằng các trợ lý lập trình AI hoạt động tốt nhất khi được sử dụng như phiên bản nhanh của những gì họ sẽ tự làm. Các công cụ này tỏa sáng trong việc xử lý lỗi trình biên dịch, tìm kiếm tài liệu và thực hiện chỉnh sửa nhanh trên nhiều tệp. Tuy nhiên, chúng liên tục thất bại khi các nhà phát triển thiếu định hướng rõ ràng về những gì cần được xây dựng.
Vấn đề cốt lõi không phải là bản thân công nghệ, mà là cách nó khuếch đại các vấn đề hiện có. Khi ai đó không hiểu nhu cầu của người dùng hoặc thiếu khả năng đánh giá tốt về các giải pháp, AI chỉ đơn giản giúp họ xây dựng sai thứ một cách hiệu quả hơn. Các công cụ này lấp đầy các khoảng trống kiến thức một cách tự tin, ngay cả khi những khoảng trống đó đại diện cho các điểm quyết định quan trọng đòi hỏi sự hiểu biết của con người.
Các ứng dụng công cụ lập trình AI phổ biến:
- Granola: Phiên âm các phiên nghiên cứu người dùng
- Visual Electric: Tạo ra các hình ảnh stock đa dạng
- ChatGPT: Đánh giá mã nguồn và cải thiện nội dung
- Cursor: Phát triển website và prototype
- Custom agents: Viết bản sao theo thương hiệu cụ thể
Vấn Đề Mạ Vàng Trong Code Do AI Tạo Ra
Một mô hình đáng kể đã xuất hiện trong code do AI tạo ra: độ phức tạp quá mức cho các tác vụ đơn giản. Các nhà phát triển làm việc trên các codebase bảo thủ báo cáo rằng các công cụ AI liên tục đề xuất các cách tiếp cận quá tinh vi. Ví dụ, khi được yêu cầu kiểm tra ba bit trong một byte, AI có thể đề xuất tạo các cấu trúc cơ sở với các hàm ảo, template và vector con trỏ thay vì trích xuất bit đơn giản.
Những công cụ này dường như luôn hướng tới cái mà tôi gọi là giải pháp hoàn hảo như nỗ lực đầu tiên của chúng, và nhiều người sẽ gọi đó là mạ vàng.
Xu hướng thiết kế quá mức này tạo ra gánh nặng bảo trì và đưa vào độ phức tạp không cần thiết. Code được tạo ra thường bao gồm các bình luận mở rộng giải thích cách thức và nội dung thay vì lý do tại sao có giá trị hơn mà các nhà phát triển con người thường cần.
Các Vấn Đề Chất Lượng Code AI:
- "Mạ vàng" quá mức với độ phức tạp không cần thiết
- Các giải pháp được thiết kế quá phức tạp cho những vấn đề đơn giản
- Các comment tập trung vào "như thế nào/cái gì" thay vì "tại sao"
- Đưa ra các gợi ý tự tin về những cách tiếp cận không phù hợp
- Thiếu các quyết định thiết kế có chủ ý
Sử Dụng AI Chiến Lược Đòi Hỏi Chuyên Môn Con Người
Các nhà phát triển thành công coi các công cụ AI như đòn bẩy thay vì thay thế cho việc suy nghĩ. Họ sử dụng AI cho các tác vụ cụ thể như chuyển đổi các phiên nghiên cứu, tạo ra những hình ảnh stock khó tìm và xây dựng nguyên mẫu. Tuy nhiên, họ tránh sử dụng AI cho các tác vụ đòi hỏi sự hiểu biết thực sự, chẳng hạn như tiến hành phỏng vấn người dùng hoặc đưa ra quyết định kiến trúc.
Kỹ năng chính cho các nhà phát triển trong tương lai dường như là biết khi nào và cách hướng dẫn các công cụ AI một cách hiệu quả. Điều này đòi hỏi hiểu biết về kết quả mong đợi trước khi tương tác với AI, và duy trì khả năng phát hiện và sửa chữa những sai lầm của công cụ trong thời gian thực.
Tương Lai Thuộc Về Sự Hợp Tác Giữa Con Người và AI
Sự phân chia giữa các nhà phát triển thành công và gặp khó khăn ngày càng tập trung vào cách tiếp cận của họ đối với các công cụ AI. Những người hoàn toàn chống lại AI có thể thấy mình ở thế bất lợi, trong khi những người coi nó như một giải pháp ma thuật sẽ gặp khó khăn với kết quả kém. Những người chiến thắng là các nhà phát triển kết hợp hiểu biết sâu sắc của con người với khả năng AI, sử dụng các công cụ để khuếch đại kỹ năng hiện có của họ thay vì thay thế khả năng phán đoán của họ.
Khi khả năng lập trình AI tiếp tục phát triển nhanh chóng với các mô hình mới xuất hiện mỗi vài tháng, tầm quan trọng của sự giám sát và định hướng của con người trở nên quan trọng hơn nữa. Công nghệ có thể giúp các nhà phát triển có kinh nghiệm làm việc nhanh hơn và khám phá nhiều khả năng hơn, nhưng nó không thể thay thế cho việc hiểu các vấn đề, người dùng và các giải pháp phù hợp.