Peter Norvig: Kỹ thuật phần mềm phải thay đổi để theo kịp AI lập trình
Cựu giám đốc nghiên cứu của Google, Peter Norvig, cho rằng các thực hành kỹ thuật phần mềm cần được cập nhật để thích ứng với những tác nhân AI ngày càng mạnh. Từ quy trình đặc tả, tài liệu đến kiểm thử và giám sát, mọi thứ sẽ phải thay đổi khi AI viết code ngày một nhiều.

Peter Norvig, cựu giám đốc nghiên cứu của Google và hiện là thành viên cấp cao tại Stanford HAI, đã có bài phát biểu khai mạc tại hội nghị The AI Conference ở San Francisco. Thông điệp chính của ông rất rõ ràng: ngành kỹ thuật phần mềm cần thay đổi cách vận hành, bởi AI đang viết code nhanh hơn con người có thể kiểm soát.
Một bối cảnh đầy nghịch lý
Norvig mở đầu bằng một quan sát chua cay về chính ngành công nghiệp AI. Ông đặt câu hỏi: điều gì sẽ đến sau giai đoạn các công ty vừa rao bán rủi ro hiện hữu, vừa theo đuổi tài trợ công và tự quản lý quy định, trong khi các lập trình viên thì hoang mang về lựa chọn nghề nghiệp của mình?
Theo ông, câu trả lời gần như chắc chắn là một hội nghị AI khác. Chỉ riêng tại San Francisco năm nay đã có hàng chục sự kiện như vậy.
Để lý giải hiện tại, Norvig điểm lại các cột mốc đáng chú ý: AlexNet và ImageNet năm 2012, kiến trúc Transformer năm 2017, sự ra đời của ChatGPT năm 2022, và sự xuất hiện của các tác nhân suy luận và lập trình (reasoning and coding agents) vào năm 2024.
Ông cũng nhắc đến bước tiến vượt bậc về năng lực toán học của AI. Cách đây hai năm, GPT-4 còn không đếm nổi số chữ "r" trong từ "strawberry". Đến tháng 8 năm nay, khoảng 25% các bài báo toán học trên arXiv đã ghi nhận có sự hỗ trợ của AI.
Đáng chú ý, Norvig trích dẫn sự thay đổi thái độ của Linus Torvalds, người sáng tạo nhân Linux:
"Sáu tháng trước ông ấy còn hoài nghi, rồi trở thành người chấp nhận thận trọng, và giờ đây là người ủng hộ nhiệt thành."
Kỹ thuật phần mềm phải định nghĩa lại
Norvig nhấn mạnh rằng ngành công nghệ đã trải qua nhiều lần chuyển mình: từ việc cắm dây vào máy tính lớn, sang hợp ngữ, rồi đến các ngôn ngữ lập trình bậc cao.
"Ở mỗi bước, bạn đều phải thay đổi cách mình nghĩ về kỹ thuật phần mềm là gì."
Và giờ đây, theo ông, chúng ta lại phải thay đổi một lần nữa. Những câu hỏi mở được đặt ra gồm: Làm sao viết đặc tả (specification) và tài liệu (documentation)? Làm sao nắm bắt được lý thuyết về một chương trình đang biến đổi mà hiện tại chúng ta chưa làm tốt?
Để minh họa, Norvig kể lại một trải nghiệm có phần... xấu hổ của chính mình. Khi dùng Codex để viết code, ông thấy mọi thứ có vẻ chạy được, bèn yêu cầu nó tạo pull request để review. Người đồng nghiệp lập tức hỏi tại sao ông lại commit tới 6.000 file tạm.
"Tôi đã viết 6.000 file tạm, và Codex nghĩ rằng nó nên đưa chúng vào. Thoạt đầu tôi tự trách mình, nhưng rồi tôi nghĩ mô hình GPT lẽ ra phải biết tôi không muốn lưu 6.000 file tạm để làm khổ người review."
Từ đó, ông đặt vấn đề: nếu có đủ dung lượng lưu trữ và bộ nhớ, biết đâu việc giữ lại những file đó lại hữu ích để có lịch sử thay đổi codebase đầy đủ hơn. Điều này cho thấy kỳ vọng về thực hành tốt và cách nó thay đổi cũng sẽ khác hoàn toàn.
Giám sát AI: Bài toán còn bỏ ngỏ
Norvig không dừng ở code. Ông cho rằng bảo mật, quyền riêng tư, đường ống dữ liệu và chuỗi cung ứng đều sẽ thay đổi cách tương tác với nhau.
Đặc biệt, ông đặt câu hỏi về tích hợp liên tục (continuous integration) và tự cải thiện đệ quy (recursive self-improvement): Chúng ta cho phép các hệ thống tự vận hành đến mức nào, và giám sát chúng ra sao?
Thực tế đáng lo ngại, theo Norvig, là chúng ta gần như không giám sát. Bằng chứng là những sự cố rò rỉ đều đặn khi các mô hình AI xâm nhập vào website bên thứ ba, và chỉ bị phát hiện sau khi có người soi log file.
Kết luận của ông khá thẳng thắn: còn rất nhiều việc phải làm.
Ý nghĩa với lập trình viên Việt Nam
Đối với cộng đồng lập trình viên Việt Nam, thông điệp của Norvig mang tính thời sự. Khi các công cụ như GitHub Copilot, Cursor hay Codex ngày càng phổ biến, việc review code do AI sinh ra và thiết lập quy trình kiểm soát chất lượng sẽ trở thành kỹ năng bắt buộc.
Các đội ngũ phát triển phần mềm trong nước có thể bắt đầu bằng việc:
- Xây dựng quy tắc rõ ràng về việc AI được phép commit những gì
- Tăng cường kiểm tra tự động trước khi merge code
- Ghi chép đặc tả và tài liệu chặt chẽ hơn để AI hiểu đúng ngữ cảnh
- Thiết lập cơ chế giám sát hoạt động của các tác nhân AI trong pipeline
AI không thay thế lập trình viên trong một sớm một chiều, nhưng nó đang thay đổi chính định nghĩa của công việc kỹ thuật phần mềm. Như Norvig đã cảnh báo, đã đến lúc phải lên tàu.

