- Khi 'slop' — nội dung chất lượng thấp do AI tạo ra — lan rộng trên toàn Internet, hiện tượng tương tự cũng đang xuất hiện trong lĩnh vực phần mềm, không chỉ ở âm nhạc, video hay văn bản
- Việc sản xuất nội dung đang được tối ưu hóa chỉ nhằm tối đa hóa tương tác và doanh thu, còn tay nghề thủ công và tính sáng tạo thì dần biến mất
- Sự suy giảm chất lượng và thoái hóa kỹ thuật ở các tập đoàn công nghệ lớn đã diễn ra từ trước khi AI xuất hiện, và sự phân công lao động theo vai trò hẹp làm suy yếu kỹ năng cùng năng lực tư duy của kỹ sư
- Tác nhân AI hữu ích với các công việc lặp lại được định nghĩa rõ ràng, nhưng có những giới hạn căn bản: bịa đặt, không thực sự hiểu mã nguồn và tạo ra mã tệ
- Cũng như phong trào Arts and Crafts của thế kỷ 19, đây là lúc phần mềm cần khôi phục lại các ý tưởng của thời kỳ điện toán sơ khai và hồi sinh tinh thần thủ công lấy con người làm trung tâm
Sự lan rộng của AI slop và khái niệm kỹ thuật (technique)
- Sau khi các mô hình AI được công bố, nội dung AI chất lượng thấp được gọi là ‘slop’ đã tăng vọt trên toàn bộ audio, video và văn bản
- Nội dung rác vốn luôn tồn tại, nhưng với AI, lượng lao động cần thiết để tạo ra nó đã giảm đi hàng chục lần hoặc hơn
- Trong những công việc thiếu khả năng phân biệt, hoặc nơi khả năng phân biệt không quan trọng, AI đã đạt đến mức đủ để thay thế bàn tay con người
- Khái niệm 'technique' của Jacques Ellul: một lối tư duy quy mọi hoạt động thành tập hợp các phương tiện hiệu quả hướng tới những mục tiêu có thể đo lường và được xác định sẵn
- Instagram Reels, video YouTube, bài blog được xem là kết quả “tốt” nếu chúng kéo được mức tương tác cao nhất với nỗ lực thấp nhất
- Sự ám ảnh với chỉ số và hiệu suất đang bào mòn những giá trị vô hình như tinh thần thủ công, vẻ đẹp và niềm vui
So sánh nền tảng âm nhạc: Bandcamp vs Spotify
- Bandcamp: tập trung vào album trọn vẹn và tuyển chọn mang tính cá nhân
- Đã hậu thuẫn cho làn sóng nhạc indie những năm 2010–2020, giúp các nghệ sĩ như Car Seat Headrest, Mitski, Alex G, Phoebe Bridgers vươn lên
- Với tư cách là một nền tảng lấy chính âm nhạc làm mục tiêu, Bandcamp cấm nhạc do AI tạo ra
- Spotify: mô hình dựa trên playlist và gợi ý bằng thuật toán
- Tập trung vào tối ưu chỉ số hơn là chính âm nhạc
- Sự lan rộng của thứ âm nhạc nhạt nhẽo được chỉnh cho hợp thuật toán
- Trong môi trường không coi trọng tinh thần thủ công, AI có thể sản xuất hàng loạt nội dung vượt xa âm nhạc do con người tạo ra về mặt ‘tối đa hóa doanh thu’
Hiện tượng suy giảm chất lượng trong ngành phần mềm
- Ngay cả trước khi AI xuất hiện, rất nhiều phần mềm đã ở trong tình trạng chất lượng nhìn chung thấp
- Kỹ nghệ phần mềm ở các công ty công nghệ lớn đã bị biến dạng thành thứ gần với ‘plumbing’
- Chỉ dừng ở vai trò kết nối nhiều hệ thống để dữ liệu có thể chảy qua
- Khái niệm ‘công việc vĩ đại’ mà Richard Hamming nói tới — tức tạo ra một món quà cho nhân loại — ngày nay trong ngành công nghệ bị xem là quá lý tưởng
- Nhiều hệ thống phần mềm lớn đang ở trạng thái cồng kềnh, thiết kế thô kệch và thiếu tài liệu
- Người dùng liên tục phải ở thế phòng thủ để không bị lợi dụng trong quá trình ‘enshittification’ (suy thoái chất lượng) khi các nền tảng ngày càng tệ đi
- Đồng cảm với quan điểm được nêu trong bài nói chuyện của Jonathan Blow, Preventing the Collapse of Software Civilization
- Các kỹ sư chuyên nghiệp và các công ty phần mềm lớn đã quên cả cách làm việc cho đúng nghĩa
- Do cấu trúc độc quyền phi cạnh tranh nên họ được bảo vệ khỏi áp lực thị trường
- thực hành phần mềm trở nên lỏng lẻo hơn
- tổ chức ngày càng phình to
- chất lượng tổng thể giảm mạnh
- Kỹ sư ở Big Tech chỉ đảm nhận vai trò cực kỳ giới hạn trong những tổ chức khổng lồ
- năng lực kỹ thuật toàn diện và tinh thần thủ công theo đó tự nhiên mai một
Vốn con người và vấn đề phân công lao động
- Việc doanh nghiệp hay xã hội có thể làm được gì với máy tính phụ thuộc vào vốn con người, tức họ đào tạo được bao nhiêu kỹ sư có kỹ năng rộng
- Cấu trúc phân công lao động cực đoan ở các tập đoàn công nghệ lớn
- sản sinh ra lực lượng kỹ thuật có kỹ năng hẹp chỉ quen với một mảng nhất định
- và khiến họ bị cố định thành những con người chỉ có thể vận hành trong chính cấu trúc tổ chức Big Tech hiện tại
Hai hiện tượng cho thấy AI là mối đe dọa với kỹ nghệ phần mềm
- 1. Nhận thức thực tế rằng tác nhân AI đe dọa công việc kỹ nghệ phần mềm chuyên nghiệp
- Với những kỹ sư mà công việc đã bị thu hẹp thành sản xuất phần mềm chất lượng thấp, lặp đi lặp lại và phạm vi hẹp
- AI thực sự hoạt động như một phương án thay thế khá hiệu quả
- 2. Sự khái quát hóa quá mức về năng lực của tác nhân AI
Những giới hạn căn bản của tác nhân AI
- Để những lập luận trên成立, phải chấp nhận một cách nhìn cực kỳ phiến diện về việc phần mềm là gì
- Điều này cũng giống như âm nhạc do AI tạo ra đòi hỏi ta nhìn âm nhạc đơn thuần như các chỉ số tiêu thụ
- Coi phần mềm chỉ là công cụ để đạt mục đích, với thái độ “đủ tốt là được”
- Khi trực tiếp thử nghiệm các tác nhân AI, có thể thấy chúng quả thật hữu ích ở vài mặt, nhưng tồn tại những giới hạn rất rõ ràng
- Chúng trình bày điều sai như thể đúng, không hiểu đúng ngữ cảnh và thường xuyên tạo ra mã chất lượng thấp
- Một số mảng có thể còn tiếp tục cải thiện, nhưng cũng như âm nhạc hay văn bản, giới hạn mang tính cấu trúc là rất rõ
- Tác nhân AI không có tư duy tự chủ, và không thể tự mình hiểu người dùng thật sự muốn gì
- Chúng hoạt động tốt nhất khi bài toán được định nghĩa thật rõ
- Ví dụ: “viết unit test”, “triển khai hàm DB theo dạng này”
- Những nỗ lực muốn khái quát hóa năng lực đó phần lớn đều thất bại
- Chúng thường tạo ra thứ mã quái vật mới lạ nhưng rất khó bảo trì, khó hiểu và khó mở rộng
Vấn đề của “Vibe Coding”
- Ban đầu nó trông có vẻ ấn tượng, nhưng theo thời gian những khiếm khuyết cố hữu ngày càng lộ rõ
- Mã dài dòng không cần thiết và phong cách cẩu thả
- Cấu trúc đơn giản nhưng thiết kế phẳng, nghèo nàn về thẩm mỹ
- Những dấu vết đặc trưng lặp đi lặp lại dần trở nên khó chịu
- Khi có vấn đề, quá trình debug biến thành chuỗi lặp gây bực bội
- Vừa xem video khác hay lướt SNS vừa hờ hững lập trình
- rồi cứ lặp đi lặp lại việc yêu cầu tác nhân “có bug rồi, sửa lại đi”
- Những đặc điểm thường thấy trong mã do AI tạo ra
- button có
padding quá mức
- khoảng cách và màu sắc thiếu nhất quán
- tổng thể thẩm mỹ phẳng và nhạt
- các thành phần UI có lý do tồn tại không rõ ràng
- xu hướng thêm nhãn và phần mô tả không cần thiết vào mọi thành phần
Vấn đề hệ thống của ngành phần mềm và nhu cầu về tinh thần thủ công
- Khó có thể phủ nhận rằng phần lớn mã nguồn không thực sự tốt, đặc biệt là trong môi trường doanh nghiệp lớn
- Với AI, phần mềm chất lượng thấp có thể tiếp tục được sản xuất nhanh hơn và hiệu quả hơn
- Nhưng AI không giải quyết được vấn đề hệ thống cốt lõi mà ngành phần mềm đang gánh chịu
- Vấn đề căn bản là ta vẫn chưa thiết lập được cách làm ra phần mềm tốt trong môi trường quy mô lớn
- Để giải được bài toán này, điều cần đến không phải tự động hóa mà là tinh thần thủ công và tư duy phản biện của con người
Phong trào Arts and Crafts và sự tương đồng với phần mềm
- Đáng chú ý là phong trào Arts and Crafts trong thời kỳ Cách mạng Công nghiệp lần thứ hai
- John Ruskin và William Morris đã phản ứng trước thời đại mà máy móc và sản xuất công nghiệp với năng lực đáng kinh ngạc đang đẩy cá nhân làm nghề thủ công ra ngoài lề
- Họ không xem sản xuất công nghiệp là tiến bộ một cách vô điều kiện, mà nhận ra rằng kết quả nó tạo ra và điều kiện lao động đi kèm đều mang một ‘phong cách’ riêng
- Họ phê phán việc người lao động ngày càng bị hạ xuống thành bộ phận phụ thuộc của cỗ máy công nghiệp khổng lồ
- Họ chỉ ra rằng có những lĩnh vực máy móc không thể làm được, và điều đó khi ấy cũng như bây giờ đều không thay đổi
- Nguồn cảm hứng của họ là khôi phục tinh thần thủ công thời trung cổ
Một chuyển hướng tương tự mà phần mềm cần có
- Lĩnh vực phần mềm cũng cần một sự chuyển hướng và phong trào tương tự
- Cần nghiên cứu lại và phục dựng những phương thức cùng lối tư duy của điện toán thời kỳ đầu
- Có một kho báu phong phú gồm những ý tưởng từng bị dòng chính phớt lờ nhưng chưa bao giờ biến mất
- những dự án từng ấn tượng và đẹp đẽ theo những cách khác với phần mềm ngày nay
- Hiện tại chúng ta đang mắc kẹt trên một nhánh phát triển rất hẹp của công nghệ, tức con đường từ C/Unix tới Javascript/web
- trong khi những vùng đất khác để khám phá còn rộng lớn hơn nhiều
- Chỉ cần đi theo hướng hơi phi truyền thống một chút thì sự trợ giúp của AI gần như biến mất
- Tác giả từng thử để Claude viết Forth nhưng nhận lại kết quả gần như chỉ gây cản trở
- Permacomputing wiki được đề xuất như một điểm khởi đầu
Triển vọng trong thời đại mã AI
- Mã AI có thể khiến phần mềm sản xuất hàng loạt chất lượng thấp trở nên còn phổ biến hơn
- Đồng thời, nó cũng có thể mở ra không gian mới cho những kỹ sư muốn khôi phục tinh thần thủ công và biểu đạt sáng tạo
- Không bi quan: tinh thần thủ công càng hiếm thì bản thân nó càng có giá trị hơn
- Khi phần mềm dòng chính bắt đầu bộc lộ giới hạn, chất lượng tiếp tục đi xuống và ý thức chính trị khiến giá trị của các cấu trúc tập trung bị xem xét lại
- đây là thời điểm thuận lợi để phần mềm mang tính thử nghiệm, do con người tạo ra và được vận hành ở quy mô con người tỏa sáng từ bên rìa
1 bình luận
Ý kiến trên Hacker News
Tôi thích đoạn nhắc đến tư tưởng của Jacques Ellul
Nó khiến tôi nghĩ lại rằng bản chất của “tiến bộ” công nghệ nằm ở việc nâng hiệu suất lên thành giá trị tối cao
Điều thú vị là giá trị này gần như được chấp nhận mà không bị chất vấn. Nhưng tôi vẫn tin những lựa chọn khác vẫn khả thi
Về bản chất, hiệu suất có đặc tính đánh đổi bằng khả năng thích nghi và khả năng phục hồi
Trong khi đó tay nghề thủ công, sự tỉ mỉ, cảm giác kỳ diệu lại khó đo hơn nhiều. Chỉ số tôi dùng là email từ người dùng thực, mà thứ đó thì thất thường và không thể đoán trước
Tôi nghĩ vẫn có thể tạo ra mã chất lượng cao thông qua coding agent
Nó không kết thúc bằng một prompt duy nhất, mà cần một quy trình phối hợp gồm lập kế hoạch – triển khai – kiểm chứng – review
Cuối cùng thì đây vẫn là công việc kỹ thuật, chỉ là công cụ đã thay đổi. Giống như khác biệt giữa cưa tay và cưa máy, kết quả có thể giống nhau nhưng quy trình thì khác
Phần mềm enterprise đặc biệt tệ vì nó được bán cho các quản lý không trực tiếp dùng sản phẩm
Ngược lại, phần mềm tiêu dùng thân thiện hơn vì người dùng tự mình lựa chọn
Khi viết code cho chính mình, ta chỉ triển khai những gì thật sự cần nên có thể hơi thô nhưng chạy tốt
Có thể dùng coding agent như một máy rửa áp lực cao để xịt sạch dự án. Không phải nghệ thuật, nhưng khá thỏa mãn
Chỉ là không nên dùng nó cho những phần code tinh vi. Nhưng đa số web app đều có test khá tốt, và giờ gần như không còn lý do phải làm tay nữa
Kết quả là tràn ngập tính năng thừa và các toggle
Quản lý muốn dữ liệu chính xác, còn nhân viên lại phàn nàn rằng việc nhập liệu quá phiền
Nhiều nơi còn không có ngân sách tích hợp hoặc chỉ ký hợp đồng ngắn hạn nên thậm chí không tích hợp được CRM
Trong khi đó phần mềm enterprise bị bóp méo thành các workflow kỳ quặc do động lực của người trả tiền và người sử dụng không khớp nhau
Phần lớn kỹ sư phần mềm vốn đã tập trung vào lương và hiệu suất hơn là tay nghề, ngay cả trước thời AI
Vì vậy thứ code mà AI tạo ra cũng chỉ là loại code làng nhàng đó thôi
Tôi nghĩ AI sẽ không hồi sinh tay nghề, mà ngược lại xóa nốt những dấu vết cuối cùng của nó
Cũng như dụng cụ điện không xóa bỏ nghề mộc thủ công, AI cũng sẽ vậy
Trong tương lai sẽ có cả “những người của IDE” lẫn “những người của prompt cho agent” cùng tồn tại
Thật vui khi thấy Forth được nhắc đến. Tôi dùng nó khá thường xuyên
Mã Forth do LLM sinh ra có phong cách tệ như thể dịch từ C sang
Forth chuẩn vốn phải ngắn gọn và rõ ràng, nhưng LLM lại tạo ra những đoạn code dài đầy điều kiện lồng nhau
Dạo này tôi đang đọc Turing’s Cathedral
Nó khiến tôi một lần nữa nhận ra tay nghề kỹ thuật của giới kỹ sư Mỹ thời hậu chiến
Bây giờ có cảm giác chúng ta xem mọi thứ là hiển nhiên và đã quên mất kỹ thuật thực sự từng là như thế nào
Phần lớn code vốn dĩ đã rất tệ từ trước
Trong một nền văn hóa chỉ chú trọng kết quả, chất lượng bị đẩy xuống hàng sau, còn bug trở thành một phần của chi phí kinh doanh
AI khớp hoàn hảo với môi trường đó. Nó đang phát triển mạnh trong một nền văn hóa code vốn đã ở mức thấp
Tôi nghĩ có thể dùng AI để tạo ra phần mềm tốt hơn
Ngay cả trong code do AI sinh ra vẫn có thể phản ánh thiết kế, pattern và best practice
Điều này giống với khác biệt giữa làm đàn guitar thủ công truyền thống và chế tác guitar hiện đại dựa trên CNC
Xem video về chế tác guitar của Ulrich Teuffel sẽ thấy công nghệ và nghệ thuật có thể cùng tồn tại
Tất nhiên, vì tay nghề thủ công rất đắt nên đa số sẽ chọn sản phẩm công nghiệp
Nó đang được áp dụng vào các dự án lớn, nhưng hệ quả dài hạn vẫn còn chưa rõ
Những thuật toán trước đây tự viết thì giờ tôi giao cho agent
Giống như dùng CNC thay cho phay thủ công, tôi nâng cấp stack công nghệ để tạo ra tác phẩm chất lượng cao hơn
Nếu có thể dùng AI để làm phần mềm tệ với chi phí rẻ hơn thì cũng không sao
Điều quan trọng là tỷ lệ phần mềm tốt có tăng lên hay không. AI làm tăng khả năng đó
AI phát triển mạnh trong môi trường tối ưu phần mềm đến mức “đủ ổn”
Thay vì thay thế các kỹ sư xuất sắc, nó đang phơi bày thực trạng công nghiệp vốn đã cơ giới hóa và chạy theo chỉ số
Khi code sản xuất hàng loạt trở nên phổ biến hơn, khả năng phán đoán và cảm quan thẩm mỹ của con người sẽ trở thành tài nguyên thực sự khan hiếm