Tại Hội nghị Kỹ thuật AI năm nay, nhà nghiên cứu OpenAI Sean Grove đã có một bài thuyết trình gây tranh cãi mang tên The New Code, lập luận rằng các đặc tả rõ ràng, dễ đọc cho con người sẽ thay thế mã truyền thống như là sản phẩm cốt lõi trong phát triển phần mềm. Tầm nhìn của ông đã khơi dậy cuộc tranh luận sôi nổi trong cộng đồng công nghệ, với một số người gọi đây là cách mạng trong khi những người khác bác bỏ nó như một cách đóng gói lại các phương pháp phát triển lỗi thời.
Triết lý cốt lõi: Giao tiếp quan trọng hơn mã nguồn
Luận điểm trung tâm của Grove thách thức sự khôn ngoan lập trình thông thường bằng cách khẳng định rằng mã nguồn chỉ chiếm 10-20% tổng giá trị của phát triển phần mềm. Theo khung lý thuyết của ông, 80-90% còn lại nằm ở giao tiếp có cấu trúc—hiểu nhu cầu người dùng, xác định mục tiêu, lập kế hoạch chiến lược triển khai, và điều phối nỗ lực nhóm. Ông lập luận rằng khi các mô hình AI trở nên tinh vi hơn, nút thắt cổ chai trong phát triển phần mềm chuyển từ viết mã sang viết các đặc tả rõ ràng nắm bắt được ý định của con người.
Nhà nghiên cứu OpenAI đưa ra một sự tương tự giữa các thực hành lập trình hỗ trợ AI hiện tại và quy trình biên dịch. Khi các nhà phát triển sử dụng TypeScript hoặc Rust, họ bảo tồn mã nguồn trong khi loại bỏ các tệp nhị phân sau khi biên dịch. Tuy nhiên, với việc tạo mã AI, Grove quan sát thấy rằng các nhà phát triển thường giữ mã được tạo ra trong khi loại bỏ các lời nhắc đã tạo ra nó—về cơ bản là giữ tệp nhị phân và vứt bỏ mã nguồn.
Các lập luận cốt lõi của Grove:
- Code chỉ chiếm 10-20% giá trị trong phát triển phần mềm
- 80-90% còn lại nằm ở việc giao tiếp có cấu trúc
- Các đặc tả kỹ thuật nên được xem như những tài liệu có thể thực thi và kiểm thử được
- Các mô hình AI khiến cho việc làm rõ đặc tả kỹ thuật trở nên quan trọng hơn kỹ năng lập trình
Đặc tả như tài liệu thực thi được
Tầm nhìn của Grove mở rộng ra ngoài tài liệu đơn giản. Ông hình dung các đặc tả như những tài liệu có thể thực thi, có thể kiểm tra được và phục vụ nhiều chức năng cùng lúc. Sử dụng đặc tả mô hình của OpenAI làm ví dụ—một bộ sưu tập các tài liệu Markdown có sẵn trên GitHub—ông minh họa cách các đặc tả ngôn ngữ tự nhiên có thể bao gồm kiểm soát phiên bản, nhật ký thay đổi, và khả năng kiểm tra tự động.
Đặc tả mô hình giải quyết các thách thức thực tế, chẳng hạn như vấn đề gần đây với các phản hồi quá chiều chuộng của GPT-4. Khi mô hình bắt đầu đồng ý quá mức với người dùng với cái giá của độ chính xác thực tế, đặc tả đã phục vụ như một điểm neo để xác định và sửa chữa hành vi. Grove giải thích rằng đặc tả nêu rõ đừng nịnh nọt, cung cấp một tiêu chuẩn rõ ràng để đo lường và sửa chữa hành vi của mô hình.
Ví dụ về Đặc tả Mô hình OpenAI :
- Có sẵn dưới dạng tài liệu Markdown mã nguồn mở trên GitHub
- Bao gồm khả năng kiểm soát phiên bản và kiểm thử tự động
- Đã thành công trong việc xác định và khắc phục hành vi xu nịnh của GPT-4
- Chứng minh ứng dụng thực tế của phát triển hướng đặc tả
Phản ứng ngành và mối lo ngại về Waterfall
Phản ứng của cộng đồng công nghệ đã rất hoài nghi. Các nhà phê bình lập luận rằng cách tiếp cận của Grove về cơ bản biến các kỹ sư thành những người quản lý sản phẩm duy trì tài liệu yêu cầu. Một người dùng Reddit chỉ ra rằng phương pháp được đề xuất giống với quy trình quản lý sản phẩm truyền thống—thu thập yêu cầu người dùng, soạn thảo tài liệu yêu cầu sản phẩm, và điều phối với các bên liên quan về các chỉ số hiệu suất chính.
Một số nhà phát triển đã rút ra những điểm tương đồng với mô hình phát triển waterfall, gợi ý rằng cộng đồng kỹ thuật phần mềm đang từ từ tái phát minh các phương pháp mà phát triển agile đã cụ thể tìm cách thay thế. Sự phê bình tập trung vào mối lo ngại rằng phát triển hướng đặc tả có thể tái giới thiệu các quy trình cứng nhắc, nặng về tài liệu mà phát triển phần mềm hiện đại đã chuyển khỏi.
Những Phê Bình Từ Cộng Đồng:
- Cách tiếp cận này giống với mô hình phát triển waterfall truyền thống
- Biến các kỹ sư thành "người duy trì tài liệu yêu cầu"
- Bỏ qua thực tế của việc debug và bảo trì
- Có thể tái áp dụng các quy trình cứng nhắc, nặng về tài liệu
Kiểm tra thực tế: Mã nguồn vẫn quan trọng
Có lẽ sự phê bình sâu sắc nhất đến từ các nhà phát triển nhấn mạnh thực tế thực tiễn của bảo trì phần mềm. Như một người bình luận đã lưu ý, Khi ứng dụng của bạn bị sập lúc 3 giờ sáng, bạn đang gỡ lỗi mã thực tế, không phải tài liệu Markdown. Khi AI tạo ra mã có lỗi—và nó sẽ có—bạn nghĩ chúng ta sẽ sửa cái gì? Không phải đặc tả. Mã là sự thật thực thi cuối cùng.
Quan điểm này làm nổi bật một căng thẳng cơ bản trong tầm nhìn của Grove. Trong khi các đặc tả có thể nắm bắt ý định rõ ràng hơn mã, các hệ thống phần mềm thực tế mà người dùng tương tác được xây dựng từ mã có thể thực thi phải hoạt động chính xác bất kể các đặc tả ban đầu được tài liệu hóa tốt như thế nào.
IDE và công cụ phát triển tương lai
Grove hình dung một tương lai nơi các môi trường phát triển tích hợp phát triển thành các bộ làm rõ tư duy tích hợp. Những công cụ này sẽ giúp các nhà phát triển xác định các phần mơ hồ trong đặc tả, giải quyết xung đột ý định, và đảm bảo sự liên kết giữa ý định con người và đầu ra được tạo bởi AI. Thay vì tập trung vào làm nổi bật cú pháp và hoàn thành mã, các IDE tương lai sẽ nhấn mạnh sự rõ ràng của giao tiếp và xác minh ý định.
Những tác động rộng lớn hơn
Bất chấp sự phê bình, bài thuyết trình của Grove chạm đến một sự thay đổi thực sự trong phát triển phần mềm. Khi các mô hình AI trở nên có khả năng tạo mã từ các mô tả ngôn ngữ tự nhiên hơn, đề xuất giá trị cho các nhà phát triển con người ngày càng nằm ở khả năng của họ trong việc diễn đạt rõ ràng các yêu cầu và xác nhận kết quả thay vì chỉ trong kỹ năng lập trình của họ.
Cuộc tranh luận phản ánh những câu hỏi rộng lớn hơn về tương lai của kỹ thuật phần mềm trong bối cảnh bị AI thống trị. Trong khi tầm nhìn cụ thể của Grove có thể đối mặt với những thách thức triển khai, tiền đề cơ bản—rằng giao tiếp rõ ràng về ý định trở nên ngày càng có giá trị khi việc tạo mã trở nên tự động—cộng hưởng với nhiều nhà quan sát ngành.
Cuộc thảo luận cuối cùng tiết lộ một căng thẳng cơ bản giữa lời hứa của phát triển hỗ trợ AI và thực tế thực tiễn của việc xây dựng và duy trì các hệ thống phần mềm phức tạp. Liệu cách tiếp cận hướng đặc tả của Grove có đại diện cho tương lai của lập trình hay một bước lùi về phía các phương pháp bị chứng minh là sai lầm vẫn là một câu hỏi mở mà ngành có thể sẽ tiếp tục tranh luận khi khả năng AI tiếp tục phát triển.