2 điểm bởi GN⁺ 8 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Trải nghiệm đi từ tự động hoàn thành trong IDE đến GitHub Copilot·Claude Code cho thấy AI đã trở thành một công cụ phát triển thực dụng giúp chuyển ý nghĩ thành mã nhanh hơn và phân tích, chỉnh sửa mã hiện có
  • Tác giả từng quay lưng với AI chỉ vì những thất bại ban đầu, nhưng sau khi trực tiếp trải nghiệm hỏi đáp với Claude, đảo ngược kỹ thuật nhị phân và mô hình cục bộ Ollama, đã đi đến kết luận rằng việc khẳng định mọi công nghệ AI đều vô dụng hoặc có hại cũng là một thái độ ngây thơ
  • Trong quá trình tự làm phần mềm cho Macintosh cổ theo cách của 40 năm trước, tác giả nhận được không chỉ thành phẩm mà còn cả giá trị của chính lao động và việc học: học C và nền tảng, đồng thời hình thành cộng đồng
  • Khi AI nhanh chóng tạo ra một sản phẩm tương tự trình duyệt cho máy Mac cổ mà tác giả đã phát triển nhiều năm, với nhiều tính năng hơn và giao diện tinh tế hơn, tác giả cảm thấy bất an rằng công việc của mình có thể bị chìm nghỉm và những nỗ lực bấy lâu trở nên vô nghĩa
  • Nếu các công cụ vibe coding thực sự hữu ích lúc này, có thể chấp nhận việc cộng đồng sử dụng chúng trong khi vẫn tiếp tục tự phát triển phiên bản của mình để công bố khi sẵn sàng; ngay cả kết quả của Claude cũng phụ thuộc vào mã do con người viết từ trước

Tự động hoàn thành bắt kịp tốc độ tư duy của lập trình viên

  • Từ năm 2019, tác giả xem video lập trình của Andreas Kling và theo dõi quá trình live coding SerenityOS
    • Kling dùng Qt Creator, công cụ hiểu toàn bộ mã C++, để tự động hoàn thành lớp, tên biến và chữ ký hàm
    • Khi đó, có cảm giác rằng đoạn mã cần viết đã sẵn trong đầu và chỉ tốc độ gõ mới là thứ giới hạn việc phát triển
  • Bốn năm sau, Kling chuyển sang CLion có hỗ trợ GitHub Copilot thời kỳ đầu

Từ hoài nghi đến sử dụng thực tế

  • Việc tốc độ phát triển của Kling tăng lên rất thú vị, nhưng trong thời gian dài tác giả vẫn không muốn dùng AI cho công việc của mình, thậm chí trong trình soạn thảo còn không dùng cả IDE hay LSP
  • Có thể tác giả đã quay lưng với công nghệ quá sớm sau khi thấy những thất bại ban đầu của AI
  • Sau đó, khi thử Claude trong trình duyệt web, tác giả bắt đầu nhận câu trả lời cho các câu hỏi thay vì dùng công cụ tìm kiếm và Stack Overflow
  • Khi giao thư mục mã trên laptop cho Claude Code để nó tự đọc và sửa file, tác giả đã ngạc nhiên về năng lực của nó
    • Khả năng đảo ngược kỹ thuật một khối nhị phân nhanh chóng và đầy đủ mà gần như không cần ngữ cảnh cũng gây ấn tượng mạnh
  • Sau khi xuất hiện các mô hình cục bộ nhỏ nhưng mạnh, tác giả bắt đầu dùng Ollama trên M4 Mac Mini để làm việc ngoại tuyến

Phân biệt công nghệ AI và ngành công nghiệp AI

  • Có thể yêu thích và sử dụng công nghệ, ngôn ngữ, công cụ, nhưng vẫn từ chối sự thổi phồng, lừa dối và cộng đồng tiêu cực xung quanh chúng; Rails và Rust cũng là những ví dụ tương tự
  • Ngược lại, cũng không có nghĩa vụ phải thích hay dùng công nghệ đó
    • Có thể chọn cưa tay thay vì cưa tròn, hoặc chọn xe số sàn thay vì xe điện tự lái
  • Ở thời điểm hiện tại, cho rằng mọi công nghệ AI đều vô dụng hoặc xấu xa là ngây thơ, nhưng tác giả cho rằng ngành công nghiệp AI lại có những vấn đề riêng

Làm phần mềm Macintosh theo cách của 40 năm trước

  • Năm 2020, được Kling truyền cảm hứng, tác giả bắt đầu chuỗi video lập trình trên Macintosh 512Ke 8MHz và sau đó là Macintosh Plus
  • Vì chưa từng thực sự dùng Macintosh cổ, tác giả muốn lập trình trong THINK C 5 IDE theo đúng cách mà một lập trình viên 40 năm trước có lẽ đã trải nghiệm
    • Mã chỉ được viết trên chính chiếc Macintosh đó
    • Mọi thao tác nhập đều thực hiện bằng bàn phím Apple M0110
    • Tác giả đặt ra quy tắc không dùng máy tính hiện đại để viết, sửa hay biên dịch mã
  • Sau đó, tác giả tự phát triển phần lớn nhiều phần mềm khác nhau
  • Qua quá trình này, tác giả học được rất nhiều về Macintosh và C, đồng thời bắt đầu thú chơi máy tính cổ và gặp nhiều người bạn mới

Truy cập web hiện đại từ máy Mac cổ

  • Ứng dụng email cần một máy chủ proxy để gỡ TLS trên máy chủ hiện đại nhằm chuyển văn bản thuần tới chiếc Macintosh chậm chạp
  • Sau khi thêm khả năng Wi-Fi cho Mac Plus, tác giả đã triển khai thiết bị offload TLS
  • Ngày nay gần như mọi giao tiếp đều được mã hóa, nên xử lý TLS là mảnh ghép lớn cuối cùng cần thiết để tạo một trình duyệt web hiện đại cho Mac OS cổ
  • Mục tiêu là một trình duyệt mới hơn MacWeb và có thể phân tích HTML5
  • Từ năm 2024, tác giả bắt đầu phát triển trình duyệt và cũng thêm giao thức Gopher cùng, miễn cưỡng, cả Gemini

Cảm giác hụt hẫng do vibe coding tạo ra

  • Vài tháng trước, tác giả viết một ghi chú rằng mình đã mất hết hứng thú với việc đọc các dự án phần mềm mới, đặc biệt là các dự án về máy tính cổ
    • Những dự án mà 1~2 năm trước còn thấy đáng kinh ngạc và muốn trò chuyện với nhà phát triển, giờ tác giả lại mặc định là do AI tạo ra nên lướt qua với cảm giác trống rỗng và nhàm chán
  • Trong một ghi chú khác, tác giả than rằng dù mình chậm rãi nhưng đều đặn làm phần mềm mới suốt một năm, ai đó chỉ cần nghe ý tưởng rồi dùng Claude là có thể làm ra sản phẩm có số tính năng gấp 10 lần chỉ trong một tuần
  • Thực tế, tác giả đã từng lướt qua những dự án sau chỉ vì nghĩ rằng tất cả đều do AI viết
    • Trình duyệt web hiện đại cho Mac OS 9 hỗ trợ CSS, ES5 JavaScript và TLS
    • Ứng dụng giám sát máy in 3D cho System 7 có hỗ trợ video
  • Sau đó, tác giả xác nhận rằng ứng dụng Gopher cho Mac OS cổ Geomys được tạo hoàn toàn bằng vibe coding, và Claude thậm chí còn làm cả website bóng bẩy

Tự hỏi lại vì sao vẫn tự viết mã

  • Năm 2026, Andreas Kling đăng rằng việc nói “tôi thực sự thích tự tay viết mã” có lẽ sẽ trở thành một kiểu khoe đức hạnh lớn của lập trình viên
  • Tác giả không hoàn toàn đồng ý, nhưng điều đó khiến ông tự hỏi lại vì sao mình làm phần mềm cho những chiếc máy tính 40 năm tuổi chỉ có rất ít người dùng, và vì sao vibe coding trong lĩnh vực này lại khiến mình khó chịu
  • Nhiều phần mềm được tác giả làm ra vì bản thân cần đến chúng, nhưng việc những người khác trong cộng đồng cũng dùng chúng cũng là điều khiến ông vui
  • Đồng thời, tác giả cho rằng có thể mình cũng có sự hư vinh muốn được cộng đồng mình thuộc về công nhận cho công sức và tình cảm đã bỏ vào công việc
    • Tác giả sợ rằng khi xuất hiện sản phẩm vibe coding nhiều tính năng hơn và giao diện tinh tế hơn, công việc của mình sẽ bị chìm nghỉm
    • Những nỗ lực đã bỏ ra đến giờ có thể trở nên như lãng phí, và tác giả lo Comet của mình sẽ bị Yahoo lấn át

Công cụ hữu ích và công việc cá nhân cùng tồn tại

  • Nếu các công cụ vibe coding thực sự hữu ích và có thể dùng được trước cả sản phẩm mà tác giả đã phát triển nhiều năm, thì tác giả cũng có thể vui mừng vì cộng đồng có thể dùng chúng
  • Phiên bản của riêng mình vẫn có thể tiếp tục được phát triển vì mục đích cá nhân và công bố khi đã sẵn sàng
  • Để Claude có thể tạo mã, rốt cuộc nó vẫn phải dựa vào mã do con người viết từ trước ở đâu đó

1 bình luận

 
Các ý kiến trên Lobste.rs
  • Thật đáng tiếc khi marketing AI đã làm phai nhạt cả ý nghĩa của những công cụ tự động hóa hữu ích. Ngay cả khi muốn trực tiếp thử các tính năng như chuyển giọng nói thành văn bản hay sửa lỗi chính tả, sự thổi phồng quanh LLM đã che khuất giá trị kỹ thuật, khiến cả những thảo luận mang tính xây dựng cũng trở nên khó khăn.
    Tôi không quan tâm đến bầu không khí của vibe coding; vì tôi thích chính niềm vui của việc lập trình nên rất đồng cảm với kết luận của bài viết. Sau đủ mọi tranh cãi quanh các tập đoàn công nghệ khổng lồ, việc lại nuôi lớn thêm hai công ty có ảnh hưởng khổng lồ, rồi dùng một TUI dựa trên bot ngốn hơn 200MB khi nhàn rỗi và gọi đó là đổi mới, khiến tôi trở nên hoài nghi. Ngược lại, tôi thấy vui hơn nhiều trong những cộng đồng nhỏ và chuyên biệt.