Thử Thách Khó Nhằn: Liệu AI Có Thể Thay Đổi Giao Diện Website Của Tôi?
Lê Lân
0
Trải Nghiệm Sử Dụng Trí Tuệ Nhân Tạo Toàn Diện Để Thay Đổi Giao Diện Website Cá Nhân
Mở Đầu
Trong những năm gần đây, câu chuyện về việc trí tuệ nhân tạo (AI) sẽ thay thế công việc con người trở thành chủ đề nóng hổi và gây tranh cãi sâu sắc. Ban đầu, tôi cũng xem đây chỉ là những lời đồn đại và không mấy quan tâm, bởi trước đó tôi đã tìm hiểu cơ bản về các mạng nơ-ron, Machine Learning, Deep Learning, Natural Language Processing và các hệ thống chuyên gia. Thực tế, các công cụ AI generative mà tôi thử nghiệm trong quá khứ thường đầy lỗi, đưa ra những nội dung không chính xác và bị giới hạn nhiều mặt. Tuy nhiên, đến năm 2024, tôi quyết định nghiêm túc nghiên cứu lại lĩnh vực này.
Bài viết này là kết quả của một thử nghiệm cá nhân, sử dụng 100% AI để thay đổi giao diện cho website cá nhân rafaelhs-tech.com. Mục tiêu là thử xem liệu AI có thể thực sự đảm nhận nhiệm vụ thiết kế lại giao diện dựa trên một chủ đề mới hay không. Qua đó, tôi muốn chia sẻ quá trình, những khó khăn, cũng như cảm nhận về tiềm năng và những hạn chế của AI hiện nay trong lĩnh vực phát triển phần mềm.
Stack Công Nghệ Ban Đầu Và Tình Trạng Website
Giới thiệu về Stack
Website cá nhân được xây dựng từ năm 2021 bằng Angular phiên bản 7 hoặc 8 (không nhớ chính xác). Cấu trúc dự án khá đơn giản với giao diện được tách biệt thành các components riêng biệt. Nội dung trang hướng theo chủ đề không gian vũ trụ với tông màu tối chủ đạo.
Tình trạng trước khi chỉnh sửa
Giao diện cơ bản, không có sự tinh chỉnh theo xu hướng mới
Phần code có cấu trúc ổn, nhưng chưa tối ưu cho trải nghiệm người dùng
Áp dụng SASS để quản lý style nhưng thiết kế khá cổ điển và cứng nhắc
Lưu ý: Đây là tiền đề để thử nghiệm thay đổi giao diện hoàn toàn bằng AI mà không chỉnh sửa thủ công.
Quá Trình Thử Nghiệm Sử Dụng AI Để Tái Thiết Kế Giao Diện
Khởi đầu với Claude 3.7
Prompt đầu tiên tôi gửi cho Claude 3.7 là:
"Đây là ứng dụng Angular XX, tôi muốn thay đổi giao diện sang chủ đề cyberpunk. Các thư mục được tổ chức theo components, mỗi component biểu thị một trang."
Claude đã phân tích cấu trúc và bắt đầu đề xuất sửa đổi các file SASS. Tuy nhiên, những vấn đề bắt đầu xuất hiện khi AI:
Tạo ra các file React trong dự án Angular
Mã code bị lỗi, không thống nhất
Một số phần cấu trúc không đúng chuẩn
Thử sửa nhiều lần không cải thiện mà còn tệ hơn. Kết quả là tôi phải loại bỏ toàn bộ và làm lại từ đầu.
Cách tiếp cận chi tiết hơn
Lần này, tôi bổ sung các thông tin cụ thể hơn như version Angular, cấu trúc thư mục, các file quan trọng... kết quả mượt mà hơn về mặt giao diện nhưng:
Các trang bị phá vỡ layout
Style không đồng nhất
Code lộn xộn và nhiều đoạn không chuẩn mực
Các hành vi thường gặp của Claude 3.7 trong thử nghiệm:
Sinh mã không theo yêu cầu
Không khả năng undo
Xoá hết rồi khởi động lại liên tục
Thử nghiệm với các LLM khác
Tôi cũng thử CodeLLM, nhưng nó bị hạn chế bởi không lưu lại lịch sử tương tác lâu dài. Mỗi lần lỗi là phải bắt đầu lại, rất mất thời gian.
Sau đó chuyển sang Claude 3.5, độ ổn định cải thiện đáng kể, AI tuân thủ lệnh chính xác hơn. Sau khoảng 40 prompts, giao diện trông ổn hơn:
Tuy nhiên, code vẫn:
Trộn lẫn CSS và SASS
JavaScript xen lẫn trong HTML
File và comment không hợp lý
Kết quả thử với Gemini 2.5, GPT-01 hay GPT-04 mini đều cho ra kết quả tương tự: phần giao diện tạm ổn nhưng code rất cần cải thiện lại.
Phân Tích Và Những Bài Học Rút Ra
AI chưa thay thế được kỹ sư phần mềm
Dù AI giúp tăng tốc một số bước, nhưng chưa đủ khả năng thay thế hoàn toàn:
Không có khả năng giữ vững best practices
Thường xuyên tạo ra code khó duy trì
Cần người hiểu biết hiệu chỉnh lại nhiều
Hỗ trợ tốt hơn khi có prompt rất chi tiết, nhưng người dùng phổ thông khó làm được điều này
Mức chi phí và hiệu quả
Tổng chi phí thực hiện thử nghiệm khoảng 14 USD, nếu tránh việc làm lại từ đầu nhiều lần, chi phí chỉ còn khoảng 8-9 USD.
Ảnh hưởng tiềm năng lên ngành nghề
AI giúp nâng cao hiệu suất, giảm bớt công việc thủ công, nhưng vẫn cần con người điều phối và kiểm soát chất lượng.
Mặc dù những công cụ AI có thể ảnh hưởng nhất định đến các lập trình viên mới vào nghề hay những tác vụ lặp đi lặp lại đơn giản, nhưng với các hệ thống phức tạp như backend, hệ thống microservices, Terraform, hoặc Mobile App, việc sử dụng AI hiện vẫn khó khăn và tiềm ẩn nhiều rủi ro.
Kết Luận
Qua thử nghiệm này, tôi tin chắc rằng: chưa có chuyện “singularity” hay trí tuệ nhân tạo thay thế kỹ sư phần mềm trong tương lai gần. Các mô hình ngôn ngữ lớn chỉ là hình thức text input → text output, không hề có khả năng tư duy hoặc giải quyết vấn đề một cách thực sự.
Ngoài ra, tính không xác định trong mỗi lần chạy (non-deterministic) khiến kết quả biến động nhiều. AI với các kỹ thuật top-k, top-p lựa chọn theo xác suất cũng chỉ nâng cao mức độ khác biệt mà thôi.
Tương lai của việc áp dụng AI sẽ là phối hợp giữa con người và máy móc, trong đó kỹ sư phần mềm cần thích nghi và áp dụng AI làm công cụ hỗ trợ, không phải thay thế.
Nếu bạn cũng có trải nghiệm với LLM hoặc AI trong lập trình, hãy chia sẻ ý kiến để cùng nhau học hỏi phát triển.