Nghịch lý khi lập trình bằng AI: tốc độ nhanh "chóng mặt" nhưng chất lượng thì thực sự ba chấm

Khánh Vân
Khánh Vân
Phản hồi: 0

Khánh Vân

Writer
Addy Osmani, kỹ sư trưởng thuộc nhóm phát triển trình duyệt Google Chrome, với hơn 20 năm kinh nghiệm, đã chỉ ra một nghịch lý thú vị trong việc sử dụng AI để hỗ trợ lập trình: AI giúp viết code siêu nhanh, nhưng chất lượng phần mềm đầu ra lại là một vấn đề khác, và điều này không hề khiến công việc của lập trình viên nhàn hơn. Ông gọi đây là "vấn đề 70%".

art-coding-em-improve-1024x683-1738650565310-1738650565376702148612_jpg_75.jpg

Hai cách tiếp cận khi lập trình với sự hỗ trợ của AI

Theo Addy, hiện nay có hai cách tiếp cận chính khi ứng dụng AI vào phát triển phần mềm:
  • Bootstrapper (Người khởi tạo): Sử dụng AI để khởi tạo các dự án từ ý tưởng ban đầu đến sản phẩm mẫu (MVP) một cách nhanh chóng. Họ thường bắt đầu với một thiết kế sơ khởi, sau đó dùng các công cụ AI như Bolt, V0 và screenshot-to-code AI để tự động tạo ra toàn bộ mã nguồn (codebase) ban đầu. Nhờ đó, họ có thể có được một phiên bản ứng dụng hoạt động chỉ trong vài giờ hoặc vài ngày thay vì hàng tuần.
  • Iterator (Người lặp): Sử dụng AI cho các tác vụ hằng ngày trong quá trình phát triển. Họ dùng các công cụ như Copilot, Cursor, Cline, Windsurf để hoàn thiện mã nguồn, tự động gợi ý giải pháp, tạo ra các bài kiểm tra cũng như tài liệu hướng dẫn.
"Vấn đề 70%": Nhanh nhưng chưa chắc đã tốt

AI
giúp lập trình viên, đặc biệt là những lập trình viên có kinh nghiệm, hoàn thành công việc nhanh chóng một cách đáng kinh ngạc. Họ có thể tạo ra các tính năng phức tạp chỉ trong vài phút. Tuy nhiên, để đảm bảo mã nguồn đạt chất lượng cao và ổn định, các kỹ sư kinh nghiệm vẫn phải can thiệp bằng việc tinh chỉnh, kiểm tra và sắp xếp lại các khối mã cho hợp lý. Họ thường phải chia nhỏ các đoạn mã do AI tạo ra, bổ sung xử lý các trường hợp đặc biệt, và kiểm tra lại các quyết định kiến trúc của hệ thống.


f428f8ca-ebd3-4f88-88d4-1ecb336035982160x2160-1738650565768-17386505659072099858544_png_75.jpg

Quá trình này đòi hỏi kinh nghiệm và kiến thức chuyên sâu mà các lập trình viên mới thường chưa có được. Những người mới sử dụng AI có xu hướng chấp nhận kết quả do máy tạo ra một cách dễ dàng, dẫn đến những sản phẩm “yếu ớt” khi đối mặt với các tình huống thực tế.

Đây chính là "vấn đề 70%" mà Addy đề cập: AI có thể giúp hoàn thành 70% công việc ban đầu một cách nhanh chóng, nhưng 30% còn lại đòi hỏi sự can thiệp kỹ thuật tinh vi của con người để đưa sản phẩm đến mức hoàn thiện, đảm bảo chất lượng, bảo mật và khả năng bảo trì.

"Mâu thuẫn kiến thức" và hệ lụy

Sự mâu thuẫn giữa khả năng tăng tốc và sự phụ thuộc vào kiến thức nền tảng được Addy gọi là "mâu thuẫn kiến thức". Các công cụ AI thực sự giúp ích nhiều hơn cho những người đã có kinh nghiệm, vì họ biết cách sử dụng AI để tăng tốc thực hiện những bước đã quen thuộc. Ngược lại, những lập trình viên mới hay dựa dẫm quá mức vào gợi ý của AI mà không hiểu rõ cơ chế hoạt động, dẫn đến các lỗi bảo mật và hiệu suất nghiêm trọng.

Hơn nữa, việc dễ dàng tạo ra phần mềm với sự hỗ trợ của AI khiến nhiều người, đặc biệt là những người không có nền tảng kỹ thuật, cho rằng họ có thể tự làm mọi thứ. Tuy nhiên, khi gặp vấn đề phức tạp, họ lại thiếu kỹ năng sửa lỗi, hiểu biết về các mẫu hình lập trình cơ bản và các quyết định về kiến trúc phần mềm, dẫn đến việc không thể bảo trì phần mềm trong dài hạn.

824c5f99-e192-43a9-9ee8-2b9637e18fa02400x1350-1738650564333-1738650564417281872759_jpg_75.jpg

Tương lai của lập trình với AI

Addy
nhận định, để khai thác tối đa tiềm năng của AI, các nhà phát triển cần xem nó như một công cụ hỗ trợ học tập, chứ không phải “cỗ máy tạo code” tự động. Việc sử dụng AI cần kết hợp với sự tìm hiểu sâu sắc về cách thức hoạt động của phần mềm. AI có thể là “trợ thủ đắc lực” giúp tăng tốc quá trình học hỏi, nhưng không thể thay thế hoàn toàn sự can thiệp của con người.

Ông khuyến nghị những người mới bắt đầu hãy tiếp cận AI một cách thận trọng, bắt đầu với những tác vụ đơn giản, kiểm tra kỹ lưỡng mã nguồn do AI tạo ra và dần dần tích lũy kiến thức nền tảng về lập trình.


ai-artificial-intelligence-technology-that-allows-2024-08-06-01-48-36-utc-1738650568444-173865...jpg

AI đang mở ra một kỷ nguyên mới cho ngành lập trình, nhưng để tạo ra những sản phẩm phần mềm chất lượng cao, sự kết hợp giữa con người và AI là điều không thể thiếu. "Vấn đề 70%" là một lời nhắc nhở quan trọng về vai trò của con người trong việc định hướng, kiểm soát và hoàn thiện sản phẩm, dù cho AI có mạnh mẽ đến đâu.
 


Đăng nhập một lần thảo luận tẹt ga
Thành viên mới đăng
Top