Hiện giờ đang có chuyện gì xảy ra?
(catskull.net)- Trong ngành phần mềm, tình trạng kiệt sức của kỹ sư đang ngày càng trầm trọng, đặc biệt là việc lạm dụng công cụ AI của các kỹ sư junior gây ra vấn đề về chất lượng mã và hợp tác
- Phản hồi từ kỹ sư senior không còn được dùng như cơ hội học hỏi, mà bị biến thành prompt mới để đưa cho AI, khiến “mã do AI viết” tiêu tốn nguồn lực review của cả nhóm
- Ở một số tổ chức, mã chưa hoàn chỉnh do AI tạo ra lại được trình bày như một “thành tích”, tạo nên bầu không khí khuyến khích sự phụ thuộc vào AI
- Tác giả, qua trải nghiệm trực tiếp, cho biết khi nhận được câu trả lời mã từ AI đã cảm thấy khó chịu và lệch tông, đồng thời phê phán rằng AI đang làm tổn hại văn hóa học tập và mentoring
- Hệ sinh thái startup AI rốt cuộc cũng không bền vững vì tính phi kinh tế, tiêu thụ điện năng và vấn đề môi trường, và nhấn mạnh rằng tình hình hiện tại chẳng khác nào một trò bịp kiểu “hoàng đế cởi truồng”
Mở đầu: môi trường kỹ thuật đầy bất an
- Gần đây, hiện tượng kiệt sức đang trở nên nghiêm trọng hơn trong giới kỹ sư
- Trong tổ chức, các kỹ sư senior trên thực tế bị kỳ vọng sẽ review và đóng góp cho những “tính năng dựa trên bầu không khí (meme)” không thực sự hoạt động
- Theo kinh nghiệm của tôi, những kỹ sư giỏi nhất luôn nhiệt tình giúp thành viên mới phát triển
- Nhưng thay vì dùng phản hồi đó như cơ hội để trưởng thành, các lập trình viên mới vào nghề chỉ tận dụng nó như prompt tiếp theo để đưa vào AI tạo sinh
- Tôi đã tận mắt chứng kiến nhiều kỹ sư junior sử dụng các công cụ LLM (mô hình ngôn ngữ lớn) ở mức gần như lạm dụng
Trường hợp thực tế trong tổ chức: tác hại của việc lạm dụng AI
- Gần đây tại buổi town hall của công ty, tôi đã thấy các kỹ sư junior trình diễn sản phẩm mới của họ
- Họ thậm chí còn không thực sự hiểu rõ mục đích hay cách tính năng đó hoạt động
- Nhưng trong các tổ chức quy mô lớn, người ta lại tập trung vào việc dàn dựng “thành công” bất kể kết quả thực tế
- Khi một senior manager công khai ví dụ về việc họ dùng AI, ông ta tự tin giải thích: “đây là 4.000 dòng mã do Claude viết”, và còn nhận được tràng pháo tay
- Bản thân tôi cũng từng nhận yêu cầu cải tiến nhỏ cho một tính năng sẵn có, và trong lúc review mã đã hỏi thêm bối cảnh từ kỹ sư junior vừa sửa gần đây
- Tôi gửi URL commit trên Github để đặt câu hỏi, nhưng có vẻ người đó đã đưa nội dung vào LLM rồi sao chép câu trả lời trả về để gửi lại
- Quá trình đó khiến tôi cảm thấy một sự lệch tông và khó chịu rất kỳ lạ
Dốc trượt AI và giới hạn của code review
- Qua trường hợp của một người bạn, tôi xác nhận rằng trong suốt một tháng, nhiều kỹ sư đã thực sự lãng phí thời gian để review và cố merge đoạn mã do LLM tự động tạo ra (vibe-coded PR)
- Một người bạn khác cũng than phiền rằng họ đã kiệt sức vì phải liên tục review “mã cẩu thả” do AI tạo ra
- Nhờ AI, không có cải thiện nào về chất lượng mã hay học tập; chỉ có lao động lặp đi lặp lại tăng lên
Văn hóa phát triển và giá trị thực sự của sự trưởng thành con người
- Mọi kỹ sư đều trưởng thành từng bước nhờ đồng nghiệp và mentor
- Việc trực tiếp chỉ dạy và giúp người khác phát triển chính là bản chất của văn hóa kỹ nghệ phần mềm
- Nhưng cũng khó tránh khỏi hoài nghi khi những khoản đầu tư như vậy rốt cuộc lại bị sao chép ngay thành dữ liệu học cho “mô hình mới nhất”
- Từ đó đặt ra câu hỏi căn bản: vậy có phải thay vì đào tạo kỹ sư junior, tốt hơn là chỉ huấn luyện mô hình hay không?
- Một thế giới như thế là một viễn cảnh rất u ám.
Thử nghiệm không dùng AI và kết luận
- Tác giả trực tiếp đề xuất một thử nghiệm: “hãy thử ngừng dùng AI”
- Bản thân ông gần đây cũng reset máy tính và hủy gói Claude Pro
- Việc thực hiện vài lần tìm kiếm, đọc Stack Overflow và tài liệu chính thức lại giúp đi đến kết luận đáng tin cậy hơn nhiều
- Ông đi đến suy nghĩ rằng phán đoán của bản thân vượt trội hơn kết quả do LLM tạo ra về cả độ chính xác lẫn độ tin cậy.
Giá trị kinh tế của công cụ AI tạo sinh, và những giới hạn mang tính bản chất
- Tác giả đặt câu hỏi: “AI có thực sự hữu ích không?”
- Xét một cách khách quan, giá trị của nó đang bị đặt dấu hỏi rất lớn
- Quy trình điển hình của một startup AI như sau:
- “AI” được áp vào một lĩnh vực sẵn có, và startup xuất hiện với danh nghĩa nâng cao hiệu quả
- Startup AI gọi vốn thành công từ các quỹ đầu tư mạo hiểm
- Trả phí sử dụng cho các nhà cung cấp dịch vụ AI (như OpenAI)
- Bản thân startup AI lại không tạo ra được lợi nhuận
- Nếu chỉ nhìn vào quy trình này thì nó không khác nhiều so với hệ sinh thái VC trước đây, nhưng khác biệt cốt lõi nằm ở chỗ ngay cả các nhà cung cấp dịch vụ (như OpenAI) cũng vẫn chưa tạo ra lợi nhuận
- Bản thân công nghệ này về bản chất là kém hiệu quả, và có cấu trúc bất lợi cho việc mở rộng quy mô lớn
- Mức tiêu thụ điện quá lớn cùng các tác động môi trường cũng là vấn đề nghiêm trọng
Lời kết: cần nhận thức đúng về thực tại
- Có thể hy vọng rằng định luật Moore sẽ sống lại, hoặc rằng mọi người sẽ giàu lên trước khi vũ trụ nguội lạnh
- Nhưng nếu nhìn thẳng vào thực tế, thì kinh doanh AI tạo sinh là một dạng ảo tưởng, một hiện tượng kiểu “bộ quần áo mới của hoàng đế”
5 bình luận
Nỗi lo rằng sau một cuộc thế chiến hạt nhân — đỉnh cao của công nghệ — nhân loại sẽ quay trở lại thời kỳ nguyên thủy, hiện nay trong lĩnh vực phát triển phần mềm vẫn đang diễn ra ngay lúc này.
Có lẽ chỉ cần dừng kiểu vibe coding quá đà lại là được. Với vai trò assistant và khi viết một số thuật toán đơn giản nhưng chi tiết, khó mà tìm được thứ nào tốt đến mức này.
Ý kiến Hacker News
Nhấn mạnh rằng việc đưa AI vào tổ chức không chỉ là vấn đề kỹ thuật mà còn là vấn đề quản trị thay đổi. Chỉ khi một đội ngũ đủ năng lực, dựa trên niềm tin và sự minh bạch, xây dựng được quy trình kết hợp cân bằng giữa chuyên môn của con người và thế mạnh của LLM thì mới có thể tạo ra hiệu quả thực sự. Cũng đã xuất hiện những trường hợp nhóm nhỏ tạo ra thành quả lớn nhờ AI. Tuy vậy, phần lớn tổ chức, đặc biệt là các tập đoàn lớn, lại không có văn hóa tổ chức lành mạnh nên AI ngược lại đang khuếch đại sự độc hại đó. Trong số các lãnh đạo doanh nghiệp, có người hiểu sai "Story Point" đơn thuần là đơn vị thời gian và chỉ nhìn AI như công cụ giúp cắt mọi thứ xuống một nửa. Về cơ bản họ tách rời khỏi chính quy trình tạo ra phần mềm có thể bảo trì được, và xem AI như một lối tắt mơ hồ để tăng lợi nhuận. Kết quả nghiên cứu gần đây cho thấy 95% dự án AI pilot không đạt được ROI cũng là một ví dụ cho thấy sự yếu kém của giới quản lý hiện đại
Bàn về sự xuất hiện của "Prompstitudes (những người đi làm chỉ dựa vào prompt)". Có lần một đồng nghiệp chỉ ném lại câu trả lời từ ChatGPT đã suy đoán ý kiến của người viết, và họ cảm thấy như bài báo mô tả là có "cảm giác bị xâm phạm". Họ không hẳn là kém năng lực, mà là phụ thuộc quá mức vào LLM, giống như một ông già trong casino chỉ biết tiếp tục kéo máy slot
Chia sẻ trải nghiệm gần đây khi nói chuyện với đồng nghiệp và cảm thấy khó chịu vì quá rõ ràng là mình đang nhận lại kết quả từ ChatGPT. Người viết nghĩ thà bị phớt lờ còn hơn. Vấn đề càng lớn hơn khi LLM rất tự tin khẳng định những điều sai. Chỉ một khác biệt nhỏ thôi (ví dụ: tên hơi khác giữa cấu hình và phần triển khai) cũng có thể làm LLM rối hoàn toàn. Không giống con người, LLM không học hay tự nhận ra lỗi của mình, nên liên tục trôi theo hướng sai. Người viết cảm thấy về mặt tinh thần thì thà vật lộn với code tệ do con người viết còn dễ chịu hơn
Trước câu hỏi "công cụ AI có thực sự hữu ích không?", người viết cho rằng với cách dùng khác người thì nó có ích. Họ đã làm phát triển từ năm 1983 và hiện đã nghỉ hưu, thường làm việc một mình. Đã thử nhiều công cụ nhưng giờ chỉ dùng ChatGPT và Perplexity. Họ không để AI tự viết code, mà dùng code do LLM gợi ý làm điểm khởi đầu để tham khảo. Thỉnh thoảng có dùng nguyên khối, nhưng đa số là chỉnh sửa và viết lại. Khi LLM bắt đầu cho ra kết quả ngày càng tệ, họ просто dừng lại và thử cách tiếp cận mới. Trong bối cảnh đó, chỉ cần tưởng tượng một kỹ sư mới vào nghề chép nguyên code LLM là họ đã thấy rùng mình. Giá trị lớn nhất với họ là cảm giác giống như một StackOverflow luôn phản hồi ngay lập tức. Có thể hỏi bất kỳ câu hỏi ngớ ngẩn nào mà không xấu hổ, và nhanh chóng nhận được câu trả lời khá ổn. Gần đây khi học cách triển khai PassKey trên iOS, họ lấy thẳng code mẫu từ ChatGPT làm điểm khởi đầu rồi đọc hiểu từng dòng để học. Code ban đầu và phiên bản hoàn thiện hiện tại hoàn toàn khác nhau, và qua quá trình đó họ hiểu kỹ thuật sâu hơn
Cảm thấy LLM rất giỏi trong việc trả lời câu hỏi kỹ thuật hoặc gợi ý cách tiếp cận mới. Ngay cả người mới cũng có thể tự do đặt câu hỏi mà không bị đánh giá như trên stackoverflow hay bị đâm đầu vào ngõ cụt. Copilot có khả năng tự động hoàn thành rất tốt, giúp tăng tốc độ viết code, tự hoàn thành chú thích tài liệu hoặc các dòng code. Những hỗ trợ nhỏ như vậy rất dễ rà soát. Tuy nhiên, nếu giao cả đoạn code phức tạp cho LLM thì sẽ sinh ra hỗn loạn và cuối cùng còn phải vật lộn với debug nhiều hơn. Người viết cho rằng nếu người mới phụ thuộc quá nhiều vào LLM thì sẽ khó xây dựng được năng lực phát triển phần mềm đúng nghĩa
Cá nhân người viết dùng Zed cho việc lập trình như một sở thích vì AI ở đó không cố tỏ ra quá thông minh. Có thể gọi tính năng AI một cách nhẹ nhàng khi cần, còn bình thường thì cứ để họ tự code. Ở chỗ làm, VSCode AI khiến họ bị làm phiền quá nhiều. Có hai vấn đề: thứ nhất, tương tác quá dễ vỡ (phải bấm popup, dễ vô tình chèn một đoạn tự hoàn thành khổng lồ), thứ hai là làm đứt mạch suy nghĩ. Đôi lúc tự hoàn thành bằng AI rất hữu ích (khoảng 1/3 số lần), nhưng thời gian còn lại thì luồng suy nghĩ ban đầu bị phá vỡ và họ mất tập trung vì phải kiểm tra kết quả AI. Với Zed thì không có những vấn đề này, nên họ cảm thấy đã tìm lại được niềm vui lập trình. Cuối cùng, vấn đề phát sinh không hẳn từ chính tính năng AI mà từ cách nó được triển khai
Cảm thấy AI cực kỳ hữu ích trong việc tạo prototype UX. Chỉ trong thời gian ngắn đã có thể tạo ra kết quả có thể bấm thử ngay, lặp đi lặp lại nhiều lần để định hướng, rồi về sau bỏ toàn bộ phần code đó và phát triển lại từ đầu. Cách làm này giúp tránh lãng phí quá nhiều thời gian vào hướng sai từ sớm. Tuy nhiên, họ vẫn cho rằng còn rất xa mới có thể dùng AI để làm trọn vẹn một ứng dụng có ý nghĩa
Xem AI với bản thân chỉ là một công cụ. Người viết không phải developer trình độ rất cao, nhưng trong các dự án cá nhân, khi gặp chỗ bí thì họ dùng AI để xin ý tưởng và phản hồi. Điểm quan trọng là họ không giao việc viết code cho AI (ngoại trừ chút boilerplate rất đơn giản). Việc tự viết code mang lại cho họ niềm vui của quá trình giải quyết vấn đề, sáng tạo và học hỏi
Gần đây khi review code của đồng nghiệp, người viết thấy một hàm phức tạp tên là
prepareDatadùng để trộn và lọc mảng đa chiều. Khi họ hỏi đồng nghiệp "hàm này có vai trò gì?" thì người đó bảo cứ hỏi LLM cho tiết kiệm thời gian, khiến họ rất bối rối. Họ thất vọng trước thái độ không thèm trả lời ngay cả câu hỏi cơ bản nhất phục vụ code reviewLo ngại rằng 10 năm nữa, các lập trình viên mới vào nghề sẽ muốn trở thành senior ngay mà chưa từng có kinh nghiệm tự viết code
Ở giai đoạn phát triển ban đầu, AI rất hiệu quả trong việc thiết lập môi trường và phát triển module ở đơn vị function nhỏ; nhưng ngoài những việc đó, kiểu vibe coding chỉ bằng cách nhét mã và prompt vào lại là một thảm họa dưới góc độ bảo trì. Có thể vài lần đầu sẽ thành công, nhưng rồi mỗi khi phát sinh vấn đề, bạn sẽ phải thử N lần cho đến khi AI tự giải quyết được vấn đề của nó, và nỗi sợ không biết giải pháp đó sẽ gây ra thêm lỗi nào khác cứ tiếp diễn.
Tùy theo năng lực của lập trình viên
Nếu người có nền tảng vững dùng thì có thể tận dụng AI để phát triển chất lượng cao, còn
nếu không có nền tảng thì mọi thứ sẽ đi chệch hướng
Giống như sự khác biệt giữa một đầu bếp có và không có kỹ năng cơ bản