16 điểm bởi GN⁺ 2025-12-30 | 1 bình luận | Chia sẻ qua WhatsApp
  • Trong suốt nhiều thập kỷ, những lời tiên tri về “sự kết thúc của lập trình viên” liên tục lặp lại nhưng lần nào cũng sai; sự phát triển công nghệ ngược lại còn dẫn đến sự gia tăng của cả lập trình viên lẫn chương trình
  • Dù nhiều công nghệ tự động hóa như WYSIWYG, 4GL, No-Code, LLM đã xuất hiện, trên thực tế chúng vẫn không làm giảm nhu cầu đối với nhà phát triển
  • Các công cụ dựa trên LLM có độ tin cậy và khả năng bảo trì kém hơn các công nghệ trước đây, và trong phần lớn đội ngũ đã gây ra suy giảm năng suất cùng chất lượng đi xuống
  • Bản chất khó khăn của lập trình không nằm ở việc viết mã mà ở khả năng chuyển hóa tư duy mơ hồ của con người thành logic, và điều đó vẫn thuộc về con người
  • Vì vậy, khả năng AI thay thế nhà phát triển là thấp, và trái lại nhu cầu đối với các nhà phát triển lành nghề được dự báo sẽ còn tăng lên

Chu kỳ lặp lại của “sự kết thúc của lập trình viên”

  • Trong 43 năm qua, nhiều công nghệ như Visual Basic, Delphi, Executable UML, No-Code, Low-Code đã được cho là sẽ xóa bỏ nhu cầu về lập trình viên
    • Vào thập niên 1970~80 có 4GL, 5GL, trước đó là Fortran, COBOL, và xa hơn nữa ngay cả trình biên dịch A-0 cũng từng nhận những lời tiên tri tương tự
    • Máy tính điện tử đời đầu COLOSSUS được lập trình bằng cách đi dây vật lý, và các thế hệ sau thậm chí từng bị chế giễu là “không phải lập trình viên thực thụ”
  • Nhưng kết quả cuối cùng là số lượng lập trình viên không giảm mà còn tăng, và đây được nhắc đến như một ví dụ tiêu biểu của Nghịch lý Jevons

Sự khác biệt giữa LLM và các công nghệ trước đây

  • Các công nghệ trước đây thực sự giúp tăng tốc độ sản xuất phần mềm và vẫn đảm bảo độ tin cậy, nhưng LLM lại cho thấy hiệu ứng ngược trong phần lớn đội ngũ
    • LLM làm giảm chất lượng mã và khiến việc bảo trì khó hơn, tạo ra tình huống “LOSE-LOSE”
    • Ngay cả với cùng một prompt cũng không thể tạo ra cùng một kết quả, và mã được sinh ra vẫn bắt buộc phải có lập trình viên kiểm chứng và chỉnh sửa
  • Không có bằng chứng cho thấy AI đang thay thế nhà phát triển; các đợt cắt giảm nhân sự gần đây là do tuyển dụng quá mức thời kỳ đại dịch, lãi suất tăng, tập trung đầu tư vào trung tâm dữ liệu và các yếu tố kinh tế khác

Bài toán cốt lõi của lập trình

  • Cốt lõi của lập trình là quá trình chuyển hóa tư duy mơ hồ của con người thành tư duy tính toán logic và chính xác
    • Đây là khó khăn không đổi từ thời thẻ đục lỗ cho đến COBOL, Visual Basic và Python
  • ngôn ngữ tự nhiên vốn mơ hồ và thiếu chính xác, bài viết trích lại dự đoán của Dijkstra rằng thời đại lập trình bằng tiếng Anh hay tiếng Pháp sẽ không đến
  • Cách tư duy này có thể học được, nhưng không phải ai cũng thích hoặc làm tốt, và nguồn cung nhân lực lành nghề luôn thiếu hụt

Giới hạn và tính bền vững của AI

  • AGI (trí tuệ nhân tạo tổng quát) vẫn còn xa, và đòi hỏi năng lực hiểu, suy luận, học tập ở mức con người
  • LLM quy mô lớn đang gây ra chi phí và thua lỗ khổng lồ nên không bền vững về dài hạn
    • Theo thời gian, tính hữu dụng của chúng có thể giảm do những ràng buộc về ngôn ngữ và phiên bản thư viện mà mô hình đã học
    • Vì những lý do đó, LLM siêu lớn có thể cuối cùng chỉ còn là một thí nghiệm phi kinh tế như chương trình thám hiểm Mặt Trăng Apollo

Triển vọng môi trường phát triển trong tương lai

  • Trong tương lai gần, phát triển phần mềm được dự đoán sẽ theo hướng các công cụ hỗ trợ dựa trên mô hình ngôn ngữ nhỏ đảm nhận vai trò phụ trợ như tạo prototype hoặc tự động hoàn thành mã
  • Tuy nhiên, các quyết định quan trọng và việc bảo đảm chất lượng vẫn do nhà phát triển con người dẫn dắt, và theo định luật Jevons, nhu cầu về nhà phát triển thậm chí có thể còn tăng
  • Doanh nghiệp nên đầu tư ngay từ bây giờ vào tuyển dụng và đào tạo các nhà phát triển lành nghề, vì đây là chiến lược cốt lõi để nâng cao năng suất và độ tin cậy bất kể có AI hay không

1 bình luận

 
GN⁺ 2025-12-30
Ý kiến Hacker News
  • Sau nhiều năm làm việc với agent-LLM, tôi thấy nó hoàn toàn vô dụng cho lập trình thực tế
    Nó không thể giải quyết các vấn đề thư viện cấp thấp phức tạp hay các lỗi khó hiểu, và cũng không hiểu được logic của các tầng trừu tượng
    Tuy vậy, nó lại cực kỳ xuất sắc với các tác vụ boilerplate đã được lặp lại hàng nghìn lần, như dựng một website đơn giản. Với những việc đơn giản kiểu này, nó giúp tiết kiệm cả một ngày làm việc
    Nhưng tôi không thấy khả năng nào cho việc LLM vượt ra khỏi vùng tác vụ đơn giản để hiểu các vấn đề phức tạp

    • Tôi nghĩ định nghĩa về “lập trình thực thụ” là khác nhau
      Lập trình không chỉ là code cấp thấp hay sửa lỗi hệ thống cũ. Việc dựng website mà LLM làm được rõ ràng cũng là một hình thức lập trình
    • Tôi cũng có kinh nghiệm tương tự, nhưng không đồng ý với nhận định rằng LLM vô dụng
      Nó giúp tôi tiết kiệm rất nhiều thời gian trong việc hiểu codebase lớn, brainstorming tính năng và xác định các khoảng trống trong triển khai
      Dù không thể thay thế hoàn toàn, giá trị của nó như một công cụ mạnh cho kỹ sư là rất rõ ràng
    • Có lẽ bạn đang làm công việc ở mức rất thấp
      Nhưng phần lớn lập trình viên là người kết hợp framework và thư viện.
      Giống như xe điện không phù hợp để vận chuyển hàng hóa cỡ lớn nhưng vẫn hoàn toàn hữu ích với người lái xe bình thường, LLM cũng ở vị trí như vậy
    • Gần đây tôi có nghe chuyện Codex 5.2 đã giải được bài toán mật mã trong một cuộc thi CTF
      Vài tháng trước thì tôi còn đồng ý, nhưng giờ có vẻ công nghệ đã vượt qua ranh giới đó rồi
    • Trải nghiệm của tôi hoàn toàn khác. Khác biệt rất lớn tùy vào ngôn ngữ và kiến trúc đang dùng
      Tôi làm trong lĩnh vực ERP, và các agent đã giúp năng suất tăng vọt
      Ngay cả khi phí thuê bao tăng lên 500 USD một tháng, nó vẫn đáng để tôi tiếp tục dùng
  • Tôi lo rằng dự đoán AI sẽ làm giảm nhu cầu với lập trình viên có thể trở thành hiện thực
    Tôi đã cảm thấy AI giỏi hơn mình ở thiết kế, review code, phát hiện lỗi, lập kế hoạch dự án
    Có cảm giác tôi chỉ còn đóng vai trò nhạc trưởng điều phối quá trình đó
    Cảm giác như một mình làm công việc trước đây cần 20 người, và điều đó cũng khiến tôi sợ

    • Tôi nghĩ LLM đang gieo vào con người sự bất lực đã được học
      Chỉ con người mới giỏi lập kế hoạch dài hạn và ra quyết định. Chúng ta có lo lắng, tự hào, cảm xúc, và đó mới là sức mạnh thật sự
      AI chỉ là một túi từ ngữ, không có tình yêu cũng không có sự bền bỉ
    • Thực ra AI không hề làm tốt công việc ở mức đó
      Chỉ cần có năng lực cơ bản thì con người vẫn tốt hơn rất nhiều
    • Nghe giống quảng cáo hơn. Trong thực tế, AI cho ra kết quả tào lao với các vấn đề phức tạp, và kiểm thử cũng rất kém
      Nếu một người làm được việc của 20 người trước đây, thì có lẽ 20 người đó vốn đã không hiệu quả
    • Tôi đã làm đầu bếp nhà hàng Michelin suốt 11 năm
      Điều cốt lõi là phải luôn cho máy rửa bát chạy, và coding agent AI cũng giống cái máy đó
      Tôi nhập prompt, kiểm tra kết quả rồi dọn dẹp lại. Cuối cùng vẫn luôn cần bàn tay con người
    • Ô tô nhanh hơn và bền hơn con người, nhưng vẫn cần tài xế
      Nếu nhờ AI mà một người làm được việc vốn cần 20 người, thì đó là tăng năng suất và tạo ra nhiều của cải hơn
  • Tôi nghĩ cơn sốt LLM hiện nay là một hiệu ứng Eliza ở quy mô lớn
    Có thể xem khái niệm liên quan tại ELIZA effect và cuốn sách của Weizenbaum Computer Power and Human Reason

    • Tôi cũng cảm thấy hiệu ứng Eliza rất mạnh
      LLM dường như đã tiến hóa để gây ấn tượng với những người có ảnh hưởng (CEO, nhà đầu tư)
      Nó không cần đạt đến trình độ chuyên gia thực sự, chỉ cần ở mức “trông đủ ổn” là đã được chấp nhận
  • Mối đe dọa thực sự với lập trình viên Mỹ không phải AI mà là outsourcing
    Tôi là người nhập cư và đang làm ở một công ty tài chính tại New York. 95% nhân viên là người nước ngoài, và phần lớn tuyển mới cũng là người có visa H1B

    • Đúng vậy, xu hướng này thực ra đã kéo dài từ hàng chục năm trước rồi
  • Như Dijkstra đã nói từ 50 năm trước, lập trình bằng ngôn ngữ con người là điều bất khả thi
    Vì ngôn ngữ tự nhiên vốn dĩ mơ hồ và thiếu chính xác
    Những người cho rằng “prompt là source code mới” giống như những người làm app bằng Excel vậy

  • Tôi đọc cuốn “Blood in the Machine” và biết đến lịch sử của phong trào Luddite
    Trước Cách mạng Công nghiệp, quần áo được làm theo đơn vị gia đình, nhưng khi máy móc xuất hiện thì ngành thủ công sụp đổ
    Có vẻ lập trình viên bây giờ cũng đang đi trên con đường đó

    • Luddite là phản ứng chống lại máy dệt. Đó là công đoạn tốn thời gian nhất trong quá trình làm ra quần áo
      Nhưng trong phát triển phần mềm, viết code chỉ là một phần của toàn bộ quá trình
    • Ví dụ từ ngành ô tô có lẽ phù hợp hơn
      Cũng như Toyota đã thay thế thợ lành nghề, nếu LLM tự động hóa được cả bảo trì thì lập trình viên cũng sẽ có cùng số phận
    • Nhưng ngành may mặc vẫn tồn tại
      Dù quần áo giá rẻ tràn ngập, nhà thiết kế và thương hiệu cao cấp vẫn còn. Phần mềm rồi cũng sẽ biến đổi theo cách như vậy
  • Trước đây người ta từng nói các công cụ WYSIWYG như Visual BasicDelphi sẽ thay thế lập trình viên, nhưng rốt cuộc đã không xảy ra
    AI cũng tương tự. Nó có thể tạo ra đoạn code mong manh và thiếu ổn định, nhưng vẫn cần lập trình viên thực thụ làm cho nó ổn định

  • Ngay từ thập niên 1980, chính phủ và ngành công nghiệp đã đầu tư khổng lồ vào 4GL, nhưng cuối cùng vẫn thất bại
    MITI Fourth Generation Project của Nhật cũng tương tự. “Khủng hoảng phần mềm” thời đó rất giống với cơn sốt AI hiện nay

  • Bài này tạo cảm giác như một bài ca ngợi AI. Đặc biệt là đoạn cuối quảng bá dịch vụ giáo dục
    Dù vậy, đúng là năng suất của tôi đã tăng lên trong thực tế, nên cuối cùng nhu cầu tuyển lập trình viên giảm đi có lẽ là điều khó tránh

    • Tôi cũng có ấn tượng như vậy. Tác giả là một giáo viên xuất sắc, nhưng không có góc nhìn mới nào
      Thậm chí nó còn giống một bài viết do LLM chắp vá từ nhiều ý kiến lại hơn
    • Giống như máy hơi nước dùng than càng hiệu quả thì nhu cầu than càng tăng, nghịch lý Jevons cũng có thể áp dụng cho phần mềm
      Nếu chi phí phát triển giảm một nửa, phần mềm sẽ được dùng trong nhiều lĩnh vực hơn
      Xem thêm Jevons paradox
  • Giống như mô hình phô mai Thụy Sĩ trong an toàn hàng không, LLM cũng có thể được xem là một lớp trong phát triển phần mềm
    Dù mỗi lớp không hoàn hảo, chúng vẫn bù đắp khiếm khuyết cho nhau để nâng cao chất lượng tổng thể

    • Đây là một phép so sánh thú vị, nhưng hiện tại chúng ta vẫn chưa tận dụng được LLM như một lớp hỗ trợ như vậy
      Chúng ta chưa ở giai đoạn áp dụng nó một cách thông minh vào xác minh mã hay phân tích kiểm thử
      Nhưng tôi tin chắc rằng rồi sẽ có những use case đúng nghĩa xuất hiện
    • LLM giống Kraft Singles hơn là phô mai thật
      Muốn bảo đảm an toàn thì cuối cùng con người vẫn phải kiểm tra toàn bộ
    • Việc áp dụng mô hình an toàn của ngành hàng không cho LLM là quá gượng ép
      Độ tin cậy của phần mềm hàng không và sự bất ổn của LLM là hai thứ thậm chí không thể đem ra so sánh