23 điểm bởi GN⁺ 2026-01-02 | 1 bình luận | Chia sẻ qua WhatsApp
  • Với sự phát triển của các công cụ lập trình AI, việc sản xuất phần mềm đang chuyển từ phương thức thủ công mang tính thủ nghệ sang giai đoạn công nghiệp hóa tự động; nhờ đó có thể giảm chi phí và mở rộng sản xuất ở quy mô lớn
  • Như một tác động bậc hai của công nghiệp hóa, một danh mục mới mang tên phần mềm dùng một lần đang xuất hiện; đây là loại phần mềm được tạo ra mà không có kỳ vọng về quyền sở hữu, bảo trì hay sự thấu hiểu dài hạn
  • Theo nghịch lý Jevons, việc nâng cao hiệu suất lại có thể dẫn đến gia tăng tổng mức tiêu thụ, và hiện tượng tương tự cũng được dự đoán sẽ xảy ra trong sản xuất phần mềm
  • Giống như công nghiệp hóa nông nghiệp không chỉ mang lại sự sung túc mà còn tạo ra thực phẩm siêu chế biến và khủng hoảng béo phì, công nghiệp hóa phần mềm cũng có thể tạo ra áp lực kinh tế thúc đẩy sản xuất hàng loạt chất lượng thấp
  • Tiến bộ công nghệ được hình thành thông qua sự tương tác giữa công nghiệp hóa và đổi mới, và câu hỏi cốt lõi cuối cùng quy về: "Ai sẽ bảo trì phần mềm mà không ai sở hữu?"

Chuyển đổi sang công nghiệp hóa phần mềm

  • Về mặt lịch sử, phần mềm gần với một ngành thủ công hơn, khi chi phí sản xuất chủ yếu được quyết định bởi chi phí lao động của đội ngũ chuyên môn trình độ cao
  • Công nghiệp hóa nhắm đến việc giảm phụ thuộc vào lao động con người thông qua tự động hóa, đồng thời đạt được cả mục tiêu giảm chi phí lẫn khả năng co giãn về quy mô sản xuất
  • Vai trò của con người được thu hẹp còn giám sát, kiểm soát chất lượng và tối ưu hóa quy trình công nghiệp
  • Tác động bậc một và bậc hai của công nghiệp hóa
    • Tác động bậc một: làm xáo trộn chuỗi cung ứng sản phẩm chất lượng cao, phi trung gian hóa lao động, hạ thấp rào cản gia nhập, tăng cạnh tranh và đẩy nhanh tốc độ thay đổi
      • Những tác động này hiện đã bắt đầu xuất hiện trong ngành phần mềm truyền thống
    • Tác động bậc hai: lần đầu tiên cho phép sản xuất đại trà các sản phẩm chất lượng thấp nhưng chi phí thấp
      • Công nghiệp hóa in ấn → tiểu thuyết thể loại bản paperback xuất hiện
      • Công nghiệp hóa nông nghiệp → đồ ăn rác siêu chế biến xuất hiện
      • Công nghiệp hóa cảm biến ảnh số → video do người dùng tạo ra xuất hiện
  • Trong phần mềm, công nghiệp hóa sản xuất làm xuất hiện phần mềm dùng một lần (Disposable Software)
    • Phần mềm dùng một lần: phần mềm được tạo ra mà không có kỳ vọng liên tục về quyền sở hữu, bảo trì hay sự thấu hiểu lâu dài
    • Những người ủng hộ gọi đây là vibe-coded software, còn những người hoài nghi gọi nó là AI slop
    • Do khả năng tái tạo quá dễ dàng, giá trị kinh tế của từng đầu ra phần mềm trở nên thấp hơn
    • Vì thiếu giá trị, người ta dễ xem xu hướng này chỉ là một cơn sốt nhất thời, nhưng đó không phải là nhận định khôn ngoan

Nghịch lý Jevons và sức gây nghiện của slop

  • Nghịch lý Jevons (Jevons paradox): một lý thuyết kinh tế từ thế kỷ 19 cho rằng việc nâng cao hiệu suất tiêu thụ than đá đã làm giảm chi phí → tăng nhu cầu → và cuối cùng tăng tổng mức tiêu thụ
    • Hiện nay có thể quan sát hiện tượng tương tự trong điện toán AI: hiệu suất dự đoán token của mô hình càng cao thì nhu cầu càng tăng mạnh, khiến tổng mức tiêu thụ tăng theo
  • Trong phát triển phần mềm, lịch sử cũng ủng hộ khả năng rằng chi phí nỗ lực giảm đi sẽ dẫn đến mức tiêu thụ và sản lượng cao hơn
  • Bài học từ công nghiệp hóa nông nghiệp
    • Đầu thế kỷ 20, người ta kỳ vọng tiến bộ khoa học sẽ xóa đói và mở ra thời đại lương thực dồi dào, nhưng đến năm 2025 vẫn còn 318 triệu người trong tình trạng đói cấp tính
    • Tỷ lệ béo phì ở người trưởng thành tại Mỹ đạt 40%, và khủng hoảng tiểu đường đang ngày càng trầm trọng
    • Dù thực phẩm siêu chế biến được công nhận rộng rãi là có hại, đa số người Mỹ vẫn tiêu thụ chúng mỗi ngày
    • Hệ thống công nghiệp liên tục tạo ra áp lực kinh tế hướng về dư thừa và hàng hóa chất lượng thấp
      • Khi chi phí sản xuất xuống đủ thấp, sản phẩm rác trở thành cách tối đa hóa sản lượng, biên lợi nhuận và độ phủ
  • Dự đoán rằng nhu cầu đối với AI slop cũng sẽ khó được thỏa mãn theo cách tương tự
  • Giống như smartphone đã dân chủ hóa việc chụp ảnh, quay video và ghi âm, nếu việc tạo phần mềm cũng được dân chủ hóa thì phần mềm do người dùng tạo ra ở quy mô mạng xã hội có thể sẽ được tạo ra, chia sẻ và vứt bỏ
  • Vòng lặp phản hồi giữa tính mới lạ và phần thưởng có thể gây ra một vụ bùng nổ đầu ra phần mềm khiến cả nửa thế kỷ phát triển trước đó trông như lỗi thời

Phần mềm truyền thống có thể sống sót không?

  • Cũng như thực phẩm siêu chế biến không phải là lựa chọn duy nhất, nhu cầu đối với thực phẩm lành mạnh và bền vững vẫn tồn tại và đang tăng lên
  • Một phong trào "phần mềm hữu cơ" có thể xuất hiện
  • Ví dụ từ ngành may mặc: trước công nghiệp hóa, quần áo được làm bởi thợ thủ công, phường hội, lao động thủ công, nguồn lực địa phương và chuyên môn tích lũy qua nhiều năm
    • Sau công nghiệp hóa: nguyên liệu thô được vận chuyển xuyên lục địa, sản xuất hàng loạt trong nhà máy, lắp ráp bằng máy móc, thời trang nhanh, dùng một lần và mang tính bóc lột
    • Tuy vậy, quần áo thủ công vẫn tồn tại, từ vest may đo đến khăn len đan tay
    • Vì nhiều lý do khác nhau như độ vừa vặn theo cá nhân, thể hiện sự giàu có, độ bền sản phẩm hay niềm vui thủ công như một sở thích
  • Tính đặc thù của phần mềm: hàng hóa vô hình và đổi mới

    • Nếu phần mềm là một sản phẩm vật lý, phần mềm do con người viết có thể đã bị đẩy vào một thị trường ngách như thời trang cao cấp hay đồ len thủ công
    • Nhưng phần mềm là hàng hóa vô hình (intangible good), và khác với các lĩnh vực đã công nghiệp hóa khác, nó vốn có lịch sử lâu dài về tái sử dụng thành phần
    • Đổi mới không chỉ giới hạn ở việc tạo ra phiên bản tốt hơn/rẻ hơn của sản phẩm hiện có, mà còn bao gồm sự mở rộng của chính không gian lời giải
      • Tương tự như động cơ hơi nước giúp tạo ra các bộ phận máy có thể tái sử dụng, rồi chính các bộ phận đó tạo điều kiện cho dây chuyền sản xuất, và dây chuyền sản xuất lại mở đường cho ô tô
    • Cơ chế tiến bộ kỹ thuật trong phát triển phần mềm không chỉ gồm công nghiệp hóa mà còn có cả đổi mới
    • Nghiên cứu và phát triển tốn kém, nhưng là con đường duy nhất để tạo ra giá trị lớn hơn theo thời gian
  • Khác biệt giữa đổi mới và công nghiệp hóa

    • Đổi mới: không tập trung vào việc sao chép hiệu quả hơn những gì đang tồn tại hôm nay
    • Nó tìm kiếm và giải quyết các vấn đề mới, xây dựng trên những gì có trước đó và cung cấp các chức năng trước đây không thể tồn tại
    • Công nghiệp hóa sau đó mang lại quy mô và tính hàng hóa hóa, tạo nền tảng cho vòng đổi mới tiếp theo được xây dựng lên
    • Sự tương tác giữa hai lực này chính là "tiến bộ (progress)"
  • Mô hình ngôn ngữ lớn: khoảnh khắc động cơ hơi nước của phần mềm

    • LLM là khoảnh khắc động cơ hơi nước của phần mềm
    • Chúng làm giảm mạnh chi phí của một lớp công việc vốn trước đây hoàn toàn phụ thuộc vào lao động con người khan hiếm, và cho phép tăng tốc đầu ra ở mức phi thường
    • Động cơ hơi nước cũng không xuất hiện trong chân không: cối xay gió và cối xay nước đã có trước turbine nhiều thế kỷ
    • Cơ giới hóa không bắt đầu từ than đá và thép; nó đạt đến điểm uốn khi tự động hóa, quy mô và vốn kết hợp với nhau để dẫn dắt một cuộc chuyển hóa kinh tế
    • Phần mềm cũng đã được công nghiệp hóa từ lâu:
      • thành phần tái sử dụng (mã nguồn mở)
      • tính di động (container hóa, đám mây)
      • dân chủ hóa (công cụ low-code/no-code)
      • khả năng tương tác (tiêu chuẩn API, trình quản lý gói)

Vòng tuần hoàn vô tận của tiến bộ

  • Chúng ta đang bước vào cuộc cách mạng công nghiệp của phần mềm, nhưng đây không phải khoảnh khắc đứt gãy mà là một sự tăng tốc khổng lồ
  • Công nghiệp hóa không thay thế tiến bộ kỹ thuật, nhưng đẩy nhanh đáng kể cả việc hấp thụ ý tưởng mới lẫn việc hàng hóa hóa các chức năng mới
  • Khi chi phí xây dựng trên nền các công nghệ mới giảm nhanh hơn, đổi mới cũng được giải phóng nhanh hơn
  • Vòng tuần hoàn của tiến bộ vẫn tiếp diễn, nhưng trong thời đại tự động hóa đại trà, bánh xe quay nhanh hơn bao giờ hết

Câu hỏi cốt lõi: hệ sinh thái và bảo trì

  • Câu hỏi còn bỏ ngỏ không phải là liệu phần mềm công nghiệp có thống trị hay không, mà là sự thống trị đó sẽ tác động gì đến hệ sinh thái xung quanh
  • Các cuộc cách mạng công nghiệp trước đây từng ngoại hóa chi phí sang những môi trường tưởng như vô hạn, nhưng rốt cuộc những môi trường đó không hề vô hạn
  • Hệ sinh thái phần mềm cũng không khác: chuỗi phụ thuộc, gánh nặng bảo trì và bề mặt tấn công bảo mật phình to theo quy mô đầu ra
  • Nợ kỹ thuật là ô nhiễm của thế giới số, và nó vô hình cho đến khi làm nghẹt thở các hệ thống phụ thuộc vào nó
  • Trong thời đại tự động hóa đại trà, bài toán khó nhất có thể không phải là sản xuất mà là quản trị (stewardship)
  • Câu hỏi cốt lõi: "Ai bảo trì phần mềm mà không ai sở hữu?"

1 bình luận

 
GN⁺ 2026-01-02
Ý kiến trên Hacker News
  • Bài viết này đang nhầm lẫn giữa việc build phần mềm và viết phần mềm
    Trên thế giới đã có sẵn phần mềm sản xuất đại trà giá rẻ có thể làm gần như mọi việc
    Vai trò của lập trình viên là tạo ra bản thiết kế mới, giống như kiến trúc sư hay kỹ sư thiết kế
    Những thiết kế như vậy đòi hỏi cảm quan thẩm mỹ và sự thấu hiểu bối cảnh, và LLM không giúp tốt ở phần này
    Học tiếng Nga không có nghĩa là sẽ trở thành Tolstoy

    • Như câu nói của Jeff Bonwick được Bryan Cantrill trích dẫn, code vừa là thông tin vừa là cỗ máy
      Khi kiến trúc sư tạo bản vẽ, nó sẽ được hiện thực thành một công trình vật lý, nhưng khi lập trình viên viết code thì bản thân nó đã là một cỗ máy hoạt động
      Video YouTube cũng giải thích khái niệm này
      Vẽ kiến trúc bằng UML không có nghĩa là đã tạo ra cỗ máy thật
    • Có vẻ mọi người đang quá bám vào ý nghĩa kỹ thuật của thuật ngữ
      Ý chính của bài là phần lớn phần mềm sẽ không còn là sản phẩm của tay nghề thủ công nữa mà trở thành hàng công nghiệp sản xuất đại trà
      Nhưng phần mềm xuất sắc vẫn sẽ tiếp tục tồn tại
    • Từ góc nhìn của người làm trong ngành xây dựng, kỹ sư thiết kế có thể giao chi tiết cho nhà thầu thi công, nhưng phần mềm thì không thể như vậy
      Phần mềm bao gồm cả thiết kế, tìm kiếm edge case và hiện thực hóa thực tế
      Nói cách khác, thiết kế chỉ chiếm 1/3 toàn bộ quá trình
    • Trên thực tế, nhiều dự án biến thành spaghetti code vì sự thiếu hiểu biết của những người ra quyết định kinh doanh
      Kỹ sư giỏi có thể giảm bớt điều đó nhưng cũng có giới hạn
      Cuối cùng, trong một quy trình thiếu suy nghĩ, code kiểu ‘chất thải công nghiệp’ là điều khó tránh
    • Phép so sánh trong bài đang bị diễn giải sai
      Thứ LLM tạo ra không phải là ‘kiệt tác văn học Nga’ mà là mã ở mức bình luận trên mạng xã hội Nga
      LLM cực giỏi trong việc tạo phần mềm chất lượng thấp với chi phí rẻ
      Nhờ vậy, giờ có thể dễ dàng tạo ra các script đơn giản trước đây không đáng để làm,
      nhưng đồng thời cũng có tác dụng phụ là nội dung rác tràn lan
  • Tư duy bằng phép ẩn dụ nghe có vẻ hợp lý nhưng thực tế lại yếu
    Hàng hóa vật lý và phần mềm có cấu trúc chi phí cận biên hoàn toàn khác nhau
    Hàng hóa vật lý có chi phí trên mỗi đơn vị lớn hơn 0, còn hàng hóa số thì chi phí cận biên bằng 0
    Phần lớn phần mềm vốn đã miễn phí hoặc rất rẻ, nên khái niệm ‘công nghiệp hóa giá rẻ’ không thực sự đúng
    Dù AI có làm giảm chi phí phát triển thì cấu trúc thị trường cũng sẽ không thay đổi nhiều

    • Phép ẩn dụ hữu ích khi khám phá những khả năng mới, nhưng không nên dùng nó như lập luận để loại trừ điều gì đó
    • Trong bài cũng đã nói rõ đây không phải so sánh 1:1 hoàn toàn
    • Ngay cả hàng hóa số cũng có yếu tố chi phí như dung lượng lưu trữ, băng thông, điện năng
      Ngoài ra người tiêu dùng nhạy cảm với giá hơn là chất lượng
      Việc game mobile miễn phí áp đảo game trả phí là một ví dụ
  • Gần đây tôi đã làm một dự án cá nhân gần như hoàn thiện bằng LLM
    Tôi tạo một website về lịch sử ngôi làng, nhưng rất khó kiểm soát việc mô hình ngày càng đi chệch hướng
    Tốc độ nhanh hơn thật, nhưng vẫn cần vai trò ‘thuyền trưởng’

    • Vấn đề là vai trò của những ‘người chèo thuyền’ đang biến mất
      Nếu từ mô hình một thuyền trưởng và 100 người chèo chuyển sang một thuyền trưởng và động cơ hơi nước, thì câu hỏi là những người còn lại sẽ đi đâu
  • Nhận thức rằng công nghiệp hóa làm giảm chất lượng là sai
    Hệ thống sản xuất hàng loạt thậm chí có thể cải thiện kiểm soát chất lượng lên mức cực cao
    Nhiều chiếc xe sản xuất hàng loạt tầm trung còn tốt hơn xe do thợ thủ công làm

    • Công nghiệp hóa đảm bảo mức sàn chất lượng thấp nhất, nhưng đồng thời cũng có trần chất lượng
      Giống như bánh mì thủ công hay đồ nội thất thủ công, vẫn có những sản phẩm thủ công vượt xa hàng sản xuất hàng loạt
      Nhưng tính thị trường của chúng thấp
    • Siêu xe thủ công hay sản phẩm từ tiệm bánh thủ công vẫn vượt trội hơn hàng sản xuất hàng loạt
      Nghĩa là công nghiệp hóa không thay thế được mọi phân khúc chất lượng
    • Tôi nghi ngờ liệu AI có thể cải thiện kiểm soát chất lượng hay không
    • Trước hết phải làm rõ tiêu chí của ‘chất lượng’ là gì
      Phần lớn xe sang vẫn được làm theo kiểu thủ công
    • Vậy thì những trường hợp như đồ nội thất Amish nên được giải thích thế nào?
  • Với tư cách là lập trình viên có 30 năm kinh nghiệm, phần lớn code tôi viết cuối cùng đều đi vào sọt rác
    Tôi vẫn tiếp tục xử lý dữ liệu, phân tích log, mô hình hóa, và bản chất đó không thay đổi dù AI xuất hiện
    Chỉ là kết quả đầu ra có thêm chút ‘màu sắc sặc sỡ’ hơn

    • Tôi đã làm việc 25 năm nhưng thực sự có rất ít code được triển khai lên production
      Phần lớn bị hủy hoặc dừng ở mức prototype
    • Cũng như thợ may rồi quần áo họ làm ra cuối cùng cũng bị bỏ đi, phần mềm cũng có vòng đời
      Giống như mối quan hệ giữa quần áo may thủ công và fast fashion, quan hệ giữa phát triển truyền thống và code do AI tạo ra cũng tương tự
    • Tôi thấy thực tế này thật đáng sợ
      Vì vậy tôi nghĩ cần tìm ý nghĩa cảm xúc ngoài công việc, từ du lịch, gia đình, nghệ thuật...
  • Dạo này ngày càng nhiều phần mềm cá nhân kiểu ‘vibe-coded’
    Các side project của Simon Willison là ví dụ điển hình
    Có lẽ sắp tới sẽ xuất hiện nhiều ‘fork dành cho một người dùng’ hơn

    • Gần đây tôi cũng bắt đầu đóng góp cho open source bằng cách thêm những tính năng nhỏ
      Nhưng để được upstream chấp nhận thì mất rất nhiều thời gian
      Tự động hóa môi trường build bằng Nix khiến mọi thứ thuận tiện hơn hẳn
      Tôi muốn Nix được dùng rộng rãi hơn, nhưng cũng lo ngại về monoculture
  • Một khía cạnh quan trọng của phần mềm là chi phí học cách sử dụng của người dùng
    Phần mềm độc quyền buộc người dùng phải thích nghi với phiên bản mới, còn
    open source cung cấp giao diện ổn định giúp giảm chi phí học lại
    Ví dụ: mutt, vim, talon

    • Ranh giới không chỉ được chia theo việc có phải open source hay không
      Windows trái lại còn cung cấp API ổn định, và ngay cả trong open source cũng có nhiều trường hợp thay đổi phá vỡ tương thích
    • Tôi gọi khái niệm này là ‘Knowledge Pool’
      Đây là kho tri thức tập thể mà tổ chức chia sẻ về một công cụ hay phương pháp cụ thể
      Những thay đổi giao diện không cần thiết sẽ làm cạn kiệt kho tri thức này, nên việc duy trì nó trở thành năng lực cạnh tranh trên thị trường
  • Cuộc cách mạng công nghiệp của phần mềm thực ra đã bắt đầu từ sự xuất hiện của ngôn ngữ bậc cao
    Thời điểm có thể dùng ngôn ngữ bậc cao thay cho assembly chính là lúc đó

    • Bài viết cũng thừa nhận điểm này
      Open source, cloud, low-code/no-code, tiêu chuẩn hóa API... đều đã thúc đẩy công nghiệp hóa từ trước
    • Nhưng terminal, keyboard, môi trường chỉnh sửa thời gian thực cũng là một cuộc đổi mới khác
      Sự chuyển đổi từ nhập bằng bộ thẻ đục lỗ sang môi trường phát triển tương tác mới là cuộc cách mạng thực sự
    • Nhìn vào các mô hình như Codex hay Claude Code, hiện tại mới chỉ là khởi đầu
      Những tiến bộ cho đến nay chỉ là tăng tốc độ, và sẽ còn thay đổi lớn hơn trong tương lai
  • Tôi cũng đồng cảm với tầm nhìn của tác giả
    Phần lớn phần mềm ngày nay phức tạp một cách không cần thiết, còn tôi chỉ muốn một công cụ để giải quyết vấn đề của mình
    Chẳng hạn tôi đã dùng LLM để tạo một công cụ tải file âm thanh lên, cắt theo từng cảnh rồi đồng bộ với hình ảnh để làm video
    Nó vẫn có bug và còn thiếu tính năng, nhưng đủ để giải quyết vấn đề của tôi
    Cuối cùng, thứ tôi cần không phải là phần mềm mà là kết quả đầu ra (video)
    Ở dự án tiếp theo, có lẽ tôi sẽ làm được một phiên bản tốt hơn
    Kỷ nguyên phần mềm công nghiệp hóa đã bắt đầu, và chúng ta phải thích nghi với nó

    • Nhưng những phần mềm gắn với thế giới thực như ngân hàng, thuế, lương thì khác
      Những hệ thống như vậy không thể đơn giản thay thế chỉ bằng code, và thực ra đã có sẵn các lựa chọn miễn phí
  • Assembler, compiler, garbage collection, ngôn ngữ bậc cao... rốt cuộc cũng chỉ là những công cụ nâng cao ngọn núi phức tạp
    LLM cũng vậy, nó chỉ giúp chất núi đó nhanh hơn chứ không làm giảm độ phức tạp

    • Theo kinh nghiệm của tôi, LLM không giúp gì nhiều trong quản lý độ phức tạp
      Nó chỉ đơn giản là tăng tốc phát triển mà thôi