- Sự trỗi dậy của các công cụ tạo mã bằng AI đang thu hẹp vai trò của lập trình viên xuống còn những người kiểm tra đơn thuần
- Sự thật khó chịu nhất về các công cụ lập trình AI là chúng thực sự hoạt động, và nếu bạn không tin thì chỉ cần chờ 6 tháng
- Các lập trình viên senior có thể từ chối dùng AI vì nguyên tắc đạo đức, nhưng rồi những đồng nghiệp junior đeo jetpack bazooka sẽ áp đảo hoàn toàn về năng suất
- Với tư cách là thế hệ cuối cùng nặn mã bằng tay, chúng ta sẽ nhớ những khoảnh khắc vật lộn với debugger lúc 2 giờ sáng và niềm tự hào “chính tôi đã tạo ra thứ này”
- Không ăn mừng cũng không chống lại thế giới mới, nhưng lúc này là thời điểm để thương tiếc tinh thần thủ công đang dần biến mất
Kỷ nguyên AI và thực tế của lập trình viên
- Tôi chưa bao giờ muốn thấy cảnh AI tiêu thụ rồi lặp lại những bài blog và đoạn mã do mình viết để người khác kiếm tiền
- Vai trò của lập trình viên bị hạ xuống mức nhân viên TSA được tô vẽ hào nhoáng, tồn tại để rà soát xem AI có lén đưa thứ gì nguy hiểm vào production hay không
- Điều tệ nhất về các công cụ AI là chúng thực sự hiệu quả, và điều đó sẽ còn rõ hơn sau 6 tháng nữa
Khác biệt trong cách ứng phó giữa các thế hệ
- Nếu đang ở giai đoạn cuối sự nghiệp, bạn có thể từ chối AI vì nguyên tắc đạo đức
- Các lập trình viên đầu sự nghiệp đã dùng Warp, Cursor, Claude và tận dụng ChatGPT như nhà trị liệu lẫn lập trình viên pair programming
- Bài viết này hướng đến nhóm lập trình viên ở độ tuổi 40 vẫn chưa nhận ra thực tế đó
- Nếu senior từ chối AI, các đồng nghiệp junior sẽ áp đảo với khoảng cách kiểu jetpack bazooka đối đầu xe đạp pixie, và sếp sẽ bắt đầu hỏi vì sao bạn nhận lương gấp đôi junior nhưng chỉ tạo ra một phần mười lượng code
Lựa chọn thực tế
- Nếu bạn có khoản vay mua nhà, trả góp ô tô và gia đình, cuối cùng bạn sẽ chọn phương án thực dụng
- Có thể đó là quyết định mà phiên bản trẻ tuổi, đầy lý tưởng của bạn không mong muốn, nhưng đó là quyết định để bảo vệ ngôi nhà, chiếc xe và sự an toàn của gia đình
Lời tiếc thương cho thế hệ cuối cùng viết code bằng tay
- Một ngày nào đó, ta sẽ kể cho cháu mình nghe việc tự tay gõ cú pháp JavaScript bằng ngón tay nghe buồn cười đến mức nào, nhưng trong lòng vẫn sẽ nhớ nó
- Ta sẽ nhớ đôi tay người thợ nặn code như đất sét, những cuộc vật lộn với bug kỳ quặc khiến ta phải đầu hàng trước debugger lúc 2 giờ sáng, và cảm giác đã tạo ra một thứ gì đó khiến mình tự hào
- Cảm giác thỏa mãn như chữ ký của một nghệ sĩ khi để lại trên GitHub repository dòng “chính tôi đã làm ra thứ này” sẽ biến mất
Thái độ đối với thế giới mới
- Không ăn mừng cũng không chống lại thế giới mới; cũng như mặt trời mọc rồi lặn, đây là một dòng chảy không thể ngăn lại bằng phản đối
- Tinh thần thủ công của nghề lập trình sẽ trở thành đối tượng tò mò với thế hệ tương lai, như dụng cụ của thợ rèn trong một địa điểm khảo cổ
- Mọi thứ rồi sẽ trở về với cát bụi là bản tính của vạn vật, nhưng dù vậy, lúc này vẫn là thời điểm để thương tiếc tinh thần thủ công đang dần biến mất
Những thảo luận chính trong phần bình luận
-
AI review code và nợ kỹ thuật
- Review code của senior vẫn cần thiết, nhưng bước tiếp theo sẽ là AI reviewer, AI refactorer, AI kiểm toán viên bảo mật
- Các dự án như Ralph, Gas Town đang chỉ theo hướng đó
- Claude hiện tạo ra mã trùng lặp và dài dòng, nhưng nếu bổ sung thêm các bước AI thì vấn đề thực sự có thể được giải quyết
- Nếu cố xử lý mọi thứ trong một cuộc hội thoại thì kết quả sẽ là rác, nhưng điều đó không có nghĩa là việc tránh tạo ra rác là bất khả thi
- Nợ kỹ thuật đang tích tụ với tốc độ nhanh nhất lịch sử, và bài viết năm 2007 của Greg Jorgensen, "Introduction to Abject-Oriented Programming", tuy là châm biếm nhưng lại mô tả chính xác cách Claude viết code
-
Câu hỏi về tính bền vững kinh tế
- Các mô hình tốt hơn có thể không khả thi về mặt kinh tế nếu không giảm được mức tiêu thụ năng lượng và chi phí phần cứng
- Khi nguồn vốn đầu tư khổng lồ kiểu miễn phí cạn kiệt và trợ cấp kết thúc, thị trường coding agent sẽ bị giáng đòn
- Ngay cả khi tăng kích thước mô hình lên 10 lần, cũng đã xuất hiện hiện tượng lợi suất giảm dần khi hiệu năng không tăng tương ứng 10 lần
- Nếu bong bóng đầu tư lớn gấp 17 lần thời dotcom vỡ tung, ai sẽ gánh nổi chi phí vận hành mô hình là câu hỏi lớn
- Cú nhảy vọt đầu tiên của LLM là điều không ai ngờ tới, không được hoạch định, và quan trọng nhất là không thể lặp lại
-
Chi phí năng lượng và quy định
- Chi phí năng lượng có thể giảm theo thời gian nhờ động lực xây dựng mô hình và phần cứng hiệu quả hơn, nhưng hiện tại vẫn đang ở giai đoạn tái sử dụng chip dành cho game thủ
- Các mô hình có thể chạy trên phần cứng riêng như Kimi K2.5 đã xuất hiện, nhưng theo nghịch lý Jevons (Jevons Paradox), dù hiệu suất năng lượng tăng thì mức sử dụng cũng có thể tăng, khiến tổng chi phí năng lượng vẫn đi lên
- Quy định có thể là công cụ duy nhất chặn được tương lai này, và nếu giá điện tăng gấp đôi thì ý chí chính trị có thể sẽ xuất hiện
-
Va chạm giữa chủ nghĩa tư bản và tự động hóa
- Nền kinh tế tư bản phụ thuộc vào chu trình lao động → tiền lương → thu nhập → tiêu dùng → doanh thu, trong khi tư bản luôn muốn thay thế lao động để cắt giảm chi phí, nhưng điều đó lại phá hủy chính nền kinh tế
- Nếu khuyến nghị của AI vượt qua thành tích của CEO, luật sư và những người tương tự, thì câu hỏi là ai sẽ là bên được giải cứu
- Rốt cuộc, khi sự tập trung của cải khiến việc nuôi sống gia đình trở nên bất khả thi, luật pháp và khế ước xã hội либо sẽ được điều chỉnh, hoặc hỗn loạn sẽ xảy ra
-
Giá trị của mã nguồn mở và hợp tác giữa con người
- Dự án Pinafore là một thử nghiệm nhằm xây dựng ứng dụng web hoàn hảo không thỏa hiệp về hiệu năng, khả năng tiếp cận và bảo mật
- Nó còn được làm để chạy tốt cả trên KaiOS, đồng thời duy trì văn hóa chào đón người đóng góp
- Sau 6 tháng nữa, ai cũng có thể vibe-coding để tạo ra Pinafore của riêng mình, nhưng trong quá trình đó, cơ hội gặp gỡ và cộng tác giữa con người sẽ biến mất
- Code là mô hình của thực tại, là sự biểu đạt các nhu cầu và yêu cầu của con người; không hiểu thực tại thì không thể tạo ra mô hình của thực tại
- Khi ChatGPT mới ra mắt, xét từ kinh nghiệm xử lý ngôn ngữ tự nhiên, người ta từng nghĩ nó chỉ giống mô hình Markov hay bộ dự đoán từ tiếp theo truyền thống, nhưng vẫn cảm thấy bất an, và nhìn lại thì có lẽ đó là một cơ chế đối phó
17 bình luận
Thật sự... xin cầu mong người đã khuất được yên nghỉ.
Ngày càng có nhiều dự án được tạo ra mà không cần viết lấy một dòng code nào trong thư mục làm việc.
> Các lập trình viên ở giai đoạn đầu sự nghiệp đã dùng Warp, Cursor, Claude... và đang tận dụng ChatGPT như một nhà trị liệu kiêm lập trình viên cặp đôi
Thực tế là ngay cả việc gỡ lỗi đó thì AI cũng sẽ tự lo.
Sự thật duy nhất ở đây là ý kiến của bạn không phải là sự thật
Ảo tưởng rằng đó là sự thật
Ngay cả việc sửa lại những ngộ nhận cũng do AI làm.
lỗi của con người mang tính đệ quy
Ý kiến trên Hacker News
Tôi bắt đầu lập trình cách đây 40 năm vì máy tính khi đó cho cảm giác như phép thuật
Giờ đây chúng ta đang sống trong một thời đại còn ma thuật hơn nhiều so với lúc ấy
Việc trò chuyện với máy tính, và những điều tưởng tượng kiểu fantasy của thập niên 80 về các hệ thống có cá tính, nay đã trở thành hiện thực
Có người nói rằng “chúng ta đã đánh mất điều gì đó”, nhưng tôi lại cảm thấy đây chính là thời kỳ hoàng kim của điện toán
Tôi nhớ thời những máy vi tính 8-bit cũ, khi cả lệnh phần cứng lẫn mã ví dụ đều được cung cấp cùng nhau
Còn bây giờ AI vận hành như một hộp đen, và phần mềm thuê bao, phần cứng khép kín cùng hạ tầng tập trung (GitHub, AWS, v.v.) đang thống trị
Kiểu trừu tượng hóa dùng ngôn ngữ tự nhiên như giả mã thì thú vị, nhưng bản thân nó không đủ để che lấp các vấn đề của điện toán hiện đại
Sau 40 năm nữa thì C, bash, grep vẫn sẽ còn, nhưng phần lớn mã SaaS, JS, Python, Go ngày nay sẽ biến mất
Có quá nhiều phụ thuộc, nên nếu muốn chạy một repo của năm 2026 vào năm 2050 thì sẽ cần chỉnh sửa lớn
Tôi vẫn chưa biết AI sẽ giải quyết được vấn đề này hay chỉ khiến nó phức tạp hơn
AI đã học các mẫu từ mã nguồn mở và dễ dàng sinh ra những đoạn mã lặp đi lặp lại
Con người vẫn cần cho công việc sáng tạo, nhưng sau này sẽ cần bao nhiêu người thì vẫn chưa rõ
Giờ chỉ cần nhập ‘nghĩa’ là có thể tìm ra từ
Tôi thật sự cảm thấy đây là một thời đại tuyệt vời để sống
Nếu xem bản thân chỉ là một người sản xuất code, bạn có thể thấy LLM là mối đe dọa
Nhưng nếu là “người suy nghĩ xem nên tạo ra cái gì”, thì ngược lại có thể dùng nó như một công cụ hỗ trợ
Tôi đã có thể phân biệt việc gì nên giao cho LLM và việc gì con người phải làm
Nếu AI viết code thay thì niềm vui đó biến mất
Rốt cuộc, quá trình tự tay tạo ra mới là điều quan trọng
Khả năng hiểu ngữ cảnh của AI hiện vẫn còn thiếu
Tốc độ viết spec đã trở thành nút thắt cổ chai, và tương lai nghề nghiệp trông khá u ám
Làm việc với robot cũng thú vị, nhưng niềm vui tự tay viết code thì đã biến mất
Tôi không buồn
Từ nhỏ mục tiêu của tôi đã là tạo ra những thứ đẹp và hữu ích
Giờ đây tôi thiết kế hệ thống bằng lời, còn AI làm thay những việc lặp lại
Code chỉ là phương tiện, bản chất vẫn là ‘niềm vui tạo ra một thứ gì đó’
Tôi lo rằng một ngày nào đó AI sẽ tự quyết định cả ‘nên tạo ra cái gì’
Dù vậy, tôi vẫn tin giống như cờ vua, sự sáng tạo của con người vẫn sẽ còn ý nghĩa
Làm việc với LLM giống như một nghệ sĩ dùng AI để tạo tranh
Dù thành phẩm có giá trị, tôi vẫn thấy khó tự gọi mình là ‘coder’ chỉ vì thế
Dù vậy, việc có thể giao những phần lặp đi lặp lại và tẻ nhạt cho AI là điều tốt
Nhưng trong công ty, năng suất mới là điều quan trọng, nên khoảng trống để tự tay code đang ngày càng ít đi
Sự sáng tạo thực sự vẫn là phần việc của con người
Tôi vẫn có thể thiết kế kiến trúc thanh lịch, và đó chính là niềm vui của tôi
Thật mỉa mai khi ngành công nghệ lại bất an trước chính sự tự động hóa của mình
Chúng ta luôn nói “chúng tôi sẽ tự động hóa công việc của bạn”, và giờ đối tượng đó lại là chính chúng ta
Mục tiêu không phải thay thế con người, mà là mở rộng năng lực của họ
Tôi cũng đồng cảm với tác giả
Quá trình tự tay viết code, suy nghĩ về cấu trúc, hiệu năng và kiểm thử là điều thú vị
Việc nhiều người nói “code không vui” khiến tôi cảm thấy khá lạ
Dùng LLM có thể tạo dự án nhanh hơn, nhưng tôi không thoải mái với việc sự hiểu biết sâu về code đang mất đi
AI không thể theo bản năng mà viết code tốt, và luôn cần điều chỉnh liên tục
Những người “học code để kiếm tiền” có lẽ sẽ gặp khó khăn hơn trong sự thay đổi này
Tôi đã nghe câu “cứ chờ thêm 6 tháng nữa đi” suốt 3~4 năm nay rồi
Công việc còn chưa biến mất, nên có cảm giác như đang làm đám tang quá sớm
Những cuộc tranh luận của 6 tháng trước giờ đã trở nên vô nghĩa
Có người nói “craft của chúng ta đã biến mất”, nhưng đó chỉ là craft của bạn thôi
Nếu chỉ là web frontend đơn giản thì LLM có thể thay thế, nhưng không phải mọi kiểu lập trình đều như vậy
Đầu ra của LLM là kết quả nén mất dữ liệu, nên quá trình lấp đầy khoảng cách đó vẫn là phần việc của con người
Con người là thực thể mang tính trải nghiệm
Trải nghiệm của chúng ta là cốt lõi của sinh tồn, văn hóa và bản sắc
Vì thế, việc buồn khi tay nghề thủ công biến mất là điều tự nhiên
Giống như kỹ năng của người huấn luyện ngựa hay người đánh xe, craft của lập trình viên cũng đáng được ghi nhớ
Tự động hóa là cần thiết, nhưng cũng cần được phép tiếc thương cho mất mát
Ngày trước tôi thích đọc những đoạn code đầy chất thơ, nhưng sau khi trải qua ác mộng bảo trì thì tôi đã đổi suy nghĩ
Văn hóa đánh giá thành quả bằng số dòng code (LOC) là một thước đo sai lầm
Những đoạn code thực sự khó có khi chỉ cần hai dòng là giải được vấn đề lớn
Nếu những người từng được đánh giá bằng LOC biến mất vì LLM, thì thành thật mà nói tôi sẽ thấy vui
Những ông sếp đếm LOC sẽ không tồn tại lâu đâu
Bạn tôi, sau 30 năm kinh nghiệm, đã rời FAANG để lập startup,
và nói rằng bây giờ là thời điểm tốt nhất vì anh ấy có thể tạo ra những ý tưởng AI không thể sao chép
Anh ấy diễn đạt thế này: “Trong thời đại mà ai cũng đi xe đạp điện, tôi đang chuẩn bị cho Tour de France”
Câu “6 tháng nữa AI sẽ viết code giỏi hơn bạn”
chỉ là một lời hứa được lặp đi lặp lại suốt nhiều năm
Mỗi khi chỉ ra giới hạn hiện tại, thứ nhận lại chỉ là câu “hãy đợi thêm chút nữa”
Thật đáng ngạc nhiên khi có quá nhiều ý kiến tiêu cực.
Xin chia buồn sâu sắc. Vô số đêm gỡ lỗi tôi đã trải qua cùng chiếc Mac mini đang dùng này rồi cũng sẽ sớm bị thay thế bởi các AI agent, nhưng có lẽ tôi sẽ nhớ khoảng thời gian ấy.
Ngoài các dịch vụ AI, tôi muốn biết có những sản phẩm thực sự hoạt động nào được tạo ra bằng AI. Nếu không tính các SaaS nửa vời thì có sản phẩm nào như vậy không? Nếu là mảng nhúng thì tôi càng tò mò hơn.
Thương tiếc..
Tôi cũng nghĩ có vẻ mọi người đang có phần ảo tưởng về chuyện "code được viết bằng tay".
Định hướng kiểu "viết ít mà làm được nhiều" thì lúc nào cũng đã tồn tại rồi,
ngay cả trước AI, vào thời điểm GC xuất hiện cũng hình như đã có bầu không khí tương tự.
Dù có tự tay viết code, ta vẫn thường nghĩ code của mình chắc không có vấn đề gì, nhưng khi phát sinh sự cố thì lại phải mổ xẻ mã bên trong hoặc soi bộ nhớ mà.
Ngay cả khi tự tay viết prompt, có lẽ cũng sẽ tương tự thôi: ta nghĩ prompt của mình không có vấn đề gì, nhưng khi có sự cố thì vẫn phải mổ xẻ mã bên trong.
Tất nhiên, phần lớn chuyện này rồi cũng sẽ được giải quyết bằng các dịch vụ AI.
Tôi cũng thử tưởng tượng rằng code viết bằng tay, theo một nghĩa nào đó, có khi sẽ trở thành nghệ thuật hiện đại chăng..? haha
Ngược lại, tôi lại cảm thấy vui vì có quá nhiều thứ phải học.
Ngay cả những thứ tôi khó có thể tự viết, sau khi viết xong tôi cũng đang chăm chỉ học hỏi.
Ngay từ đầu, tôi vốn nghĩ rằng ở các công ty quy mô lớn hay những dự án thực sự quan trọng thì con người vẫn phải xem xét toàn bộ, nên ở vị thế của người đang học hỏi thì điều này thật sự rất thú vị.
Chỉ cần một cơn bão từ quét qua rồi Trái Đất được reset thì thời hoàng kim sẽ tới.
Nhúng thì vẫn phải debug đến 2 giờ sáng chỉ vì một hai dòng .. haha. Những gì không có trong tài liệu thì
claude codecũng không biết đâu..Tôi là một lập trình viên điều khiển phần cứng thiên về Python, đứng ở mức trừu tượng cao hơn embedded vài bước. Cho đến vài tuần trước thôi, việc chống lại vibe coding còn khiến tôi thấy có phần đáng tự hào, và khi khó thiết lập một phiên debugging, lắm thì tôi cũng chỉ nhượng bộ đến mức copy cả đoạn code mình viết rồi dán cho GPT và bảo: “Bắt lỗi chỗ tôi sai ở đây giúp tôi với”.
Sau khi thiết lập Claude, vừa để nó giải thích tử tế vừa cùng nó viết
CLAUDE.md, rồi dùng một hai lần, tôi nhận ra chẳng biết từ lúc nào mình đã thực sự bắt đầu phụ thuộc vào nó.Ngay cả với những vòng lặp đơn giản, tôi cũng không còn phải để tâm xem mình có lỡ dùng sai
break/continuehay không; nếu lười diễn đạt bằng lời thì cứ viết một mạch trước đã rồi bảo “xem giúp có lỗi gõ nhầm không”; chỉ với cấu trúc đã được sắp xếp trongCLAUDE.md, nó cũng tự nhanh chóng nắm được ngữ cảnh; rồi đến khi cần triển khai một subsystem mới, tôi lại nghĩ “cái này ngược lại còn chẳng có ngữ cảnh để mà phụ thuộc, chắc cứ để nó tự viết là được nhỉ?”.Rồi tôi thực sự bắt đầu thấy sợ dần. Kiểu như, cứ code với cái đầu trống rỗng thế này, đến lúc ra hiện trường mà tôi lại không hiểu nổi đoạn code này — ~do tôi viết~ mà là do nó viết — thì sao? Nhưng đó lại còn là nỗi lo nhẹ hơn; điều khiến tôi sốt ruột là cảm giác có lẽ mình thật sự đang bị bỏ lại phía sau trước làn sóng vibe coding, và hơn nữa, tôi vốn là kiểu người thấy việc đọc manual rất thú vị, nhưng giờ không chỉ dần chẳng còn dịp phải xem manual nữa, mà còn có cảm giác như chính những kiến thức tôi tích lũy qua manual đang bị phủ nhận — đến mức thành một nỗi sợ mang tính hiện sinh...
Thật sự là, lúc này tôi sợ lắm..