- Gần đây, người dùng máy tính liên tục lặp lại vô số tác vụ vô nghĩa ngoài ý muốn của bản thân, chỉ đơn giản làm theo những gì máy tính yêu cầu
- LLM đang ảnh hưởng đến cách các lập trình viên thiết kế API, và thậm chí đã xuất hiện dự đoán rằng các lập trình viên sẽ chấp nhận những tính năng do AI đề xuất, còn phần lớn mã sẽ sớm do AI viết
- Ví dụ, Soundslice đã thực sự bổ sung một tính năng mà ChatGPT hướng dẫn sai là có
- Điều này là vì LLM phân tích rất nhiều API và đề xuất một thiết kế trực quan mà lập trình viên có khả năng nghĩ đến đầu tiên
- Khi phát triển ý tưởng mới hoặc cách tiếp cận độc đáo, LLM không phù hợp, nhưng trong đa số trường hợp, làm theo thiết kế hiển nhiên nhất có thể lại hiệu quả
- Chúng ta hiện đã bước vào thời đại mà AI không chỉ dẫn dắt việc sử dụng công cụ mà còn cả cách thiết kế công cụ
Gaslight-driven development
Những tác vụ vô nghĩa đã trở thành thường ngày
- Trong 10 năm qua, bất kỳ ai dùng máy tính đều đã liên tục thực hiện những việc vốn không cần thiết về bản chất như đăng ký tài khoản, xác thực email, đồng ý cookie, nhập captcha
- Dù đó không phải điều người dùng mong muốn, họ vẫn phải làm theo những gì máy tính yêu cầu
- Thông qua các tác vụ lặp đi lặp lại này, chúng ta đã phần nào quen với một cuộc sống làm theo những gì máy móc bảo làm
Thực tế phát triển đang bị LLM thay đổi
Ý nghĩa của hiện tượng này
- Rất khó để kết luận liệu sự thay đổi này là tích cực hay tiêu cực
- Mặt khác, vì LLM đã học từ vô số API nên nó có tác dụng đề xuất cách làm 'trực quan nhất' từ góc nhìn của lập trình viên
- Đây cũng là một cách mới để kiểm thử API từ góc nhìn của người mới (newbie’s POV)
- Trước đây, khi lập trình viên mắc lỗi, họ tự tra tài liệu rồi sửa; còn bây giờ, khi LLM liên tục đưa ra ví dụ sử dụng sai, ngay cả phía nhà phát triển cũng có thể nhận ra vấn đề nhanh hơn
Giới hạn và trăn trở
- Cách tiếp cận này không phù hợp với công việc mang tính đổi mới
- LLM không hiểu được các mẫu mà nó chưa quen hoặc những khái niệm hoàn toàn mới
- Cuối cùng, trong những lĩnh vực như API, 'sự bình thường' có thể lại là tốt nhất
- Trong đa số tình huống, thay vì thiết kế quá phức tạp, một hình thức mà cả AI lẫn lập trình viên đều có thể hiểu trực quan sẽ có lợi hơn
Kết luận: khởi đầu của một thời đại mới
- AI giờ đây không chỉ dừng lại ở việc sử dụng công cụ được trao mà còn bắt đầu có quan điểm về việc chính công cụ đó nên được thiết kế như thế nào
- Và những quan điểm đó đôi khi trở thành một kiểu gaslighting đối với lập trình viên và tổ chức, như thể "vốn dĩ từ đầu đã là như vậy"
- Trong tương lai, khả năng cao phát triển phần mềm theo kỳ vọng và lẽ thường của AI sẽ trở thành một tiêu chuẩn tự nhiên
6 bình luận
Thỉnh thoảng tôi có cảm giác vào khái niệm lớn về sự phụ thuộc vào lộ trình đang bị đóng thêm một cái đinh rất mạnh mang tên sự phụ thuộc vào LLM. Cảm giác đang chuyển từ 'vì trước giờ vẫn dùng' sang 'vì LLM thích' thì rốt cuộc sẽ đi đến đâu đây...
Mấy thứ viết từ trước giờ thì LLM đã học rồi..
"Giờ bạn có thể tắt nguồn máy tính rồi."
Ví von quá chuẩn!!
Ý kiến trên Hacker News
Tham khảo wiki mã trạng thái HTTP
Ví dụ GPS is wrong
(cung cấp mã JavaScript)
Liên kết bài báo khoa học, Tham khảo wiki thần kinh học
Ảnh chụp màn hình Chess Royale
Tôi cũng nghĩ rằng việc người dùng xác thực email hay đăng ký tài khoản là kết quả của lựa chọn thiết kế do con người đưa ra, chứ không phải vì máy tính bảo thế
Sau này có lẽ điều quan trọng sẽ không còn là độ dễ đọc của mã, nguyên tắc SOLID hay độ phức tạp nữa, mà là agentic IDE tôi dùng có thể lập chỉ mục ngữ cảnh mã tốt đến mức nào, và mô hình có thể tạo sinh tốt ra sao từ phần mã đó
Khi tốc độ thay đổi mã tăng lên rất nhiều, khả năng bảo trì của mã lại càng trở thành chỉ số cốt lõi, và tôi dự đoán sẽ có một thế giới nơi mức độ khớp giữa prompt và mã, hay tính hữu dụng của những đoạn mã vô tình ăn khớp tốt, sẽ được chú ý nhiều hơn
Ví dụ trong AWS thì có “dev” và “prod”, còn trong Expo lại là “test” và “production”, nên khi chuyển qua lại giữa nhiều dự án, tôi phải tốn khá nhiều công sức suy nghĩ hơn tưởng tượng
Tôi nghĩ LLM chắc cũng phải gặp vấn đề này ở quy mô lớn hơn nhiều
Nếu có thể dành những synapse trong não vốn bị tiêu tốn cho sự hỗn loạn không cần thiết trong cách đặt tên/hành vi của API vào những thứ thực sự có ý nghĩa hơn, thì đó sẽ là điều tốt nhất
Dù LLM có đặt tên thông minh đến đâu thì vấn đề vẫn còn nguyên, vì nó dựa trên một incoherent stochastic process (quá trình xác suất thiếu nhất quán)
Và tôi cũng muốn hỏi liệu bạn đã từng nghiêm túc đặt câu hỏi vì sao việc đặt tên môi trường lại không được thống nhất hay chưa
Với tư cách là một cựu CTO, tôi cho rằng những điều như vậy là tín hiệu cho thấy cần cải thiện giao tiếp trong tổ chức, hoặc còn thiếu chuẩn mực
Vì đây là những chỗ có thể sửa khá dễ để thực sự cải thiện văn hóa và nâng cao nhận thức của thành viên, nên tôi muốn nói rằng thay vì giao cho LLM xử lý, ta nên trực tiếp quan tâm hơn đến chúng
Xem thảo luận Hacker News trước đó
Thành công lan truyền của Soundslice