Các lập trình viên phần mềm đang đối mặt với một thách thức mới bất thường: các mô hình trí tuệ nhân tạo về cơ bản đang ra lệnh về cách thức hoạt động của giao diện lập trình của họ. Các công ty hiện đang thiết kế lại API của mình không dựa trên phản hồi của người dùng hay yêu cầu kỹ thuật, mà bởi vì các chatbot AI liên tục cho rằng một số chức năng nhất định tồn tại khi thực tế chúng không có.
Xu hướng này xuất hiện khi các lập trình viên nhận thấy rằng các mô hình AI, được huấn luyện trên hàng triệu ví dụ mã nguồn, liên tục đề xuất những gì chúng cho là thiết kế API hiển nhiên. Khi những đề xuất này không khớp với thực tế, các công ty phải đối mặt với lựa chọn: sửa AI hoặc thay đổi mã nguồn của họ để phù hợp với kỳ vọng của AI.
Sự Trỗi Dậy Của Các Quyết Định Phát Triển Do AI Dẫn Dắt
Một số công ty đã điều chỉnh phần mềm của họ để phù hợp với các giả định của AI. Công ty phần mềm âm nhạc Soundslice đã thêm các tính năng đơn giản chỉ vì ChatGPT liên tục nói với người dùng rằng chúng tồn tại. Tương tự, công ty cơ sở dữ liệu Instant đã thay đổi cấu trúc API của họ sau khi các mô hình AI liên tục viết tx.create
thay vì hàm tx.update
thực tế của họ.
Phản ứng của cộng đồng cho thấy cảm xúc trái chiều về sự phát triển này. Một số lập trình viên coi đây là điều hữu ích, lập luận rằng các mô hình AI đề xuất những thiết kế trực quan nhất mà các lập trình viên con người sẽ tự nhiên mong đợi. Những người khác lo lắng về những tác động của việc để các mô hình AI ảnh hưởng đến các quyết định kiến trúc phần mềm cơ bản.
Ví dụ về những thay đổi API do AI thúc đẩy:
- Soundslice: Đã thêm các tính năng vì ChatGPT nói với người dùng rằng chúng đã tồn tại
- Instant: Đã thêm hàm
tx.create
vì các mô hình AI liên tục viết nó thay vìtx.update
- Xu hướng chung: Các công ty điều chỉnh API để phù hợp với kỳ vọng của mô hình AI thay vì sửa lỗi AI
Thay Đổi Nguyên Tắc Lập Trình Cho Thế Giới AI-First
Sự thay đổi mở rộng ra ngoài các thay đổi API riêng lẻ đến các thực hành lập trình rộng lớn hơn. Các lập trình viên bắt đầu cân nhắc liệu mã nguồn của họ có dễ hiểu đối với các mô hình AI hay không, thay vì chỉ tập trung vào khả năng đọc hiểu của con người hoặc các nguyên tắc kỹ thuật phần mềm truyền thống.
Các nguyên tắc lập trình tương lai sẽ xoay quanh việc liệu IDE đại lý của bạn có thể lập chỉ mục tốt để trở nên nhận thức ngữ cảnh hay không, liệu nó có phù hợp với cửa sổ ngữ cảnh hay không.
Điều này đại diện cho một sự thay đổi cơ bản trong cách thiết kế phần mềm. Thay vì tối ưu hóa cho sự hiểu biết của con người hoặc hiệu suất, các lập trình viên có thể cần tối ưu hóa cho khả năng hiểu và tạo ra của AI.
Nguyên tắc lập trình truyền thống so với kỷ nguyên AI:
Trọng tâm truyền thống | Trọng tâm kỷ nguyên AI |
---|---|
Khả năng đọc hiểu của con người | Khả năng lập chỉ mục của AI |
Nguyên tắc SOLID | Tương thích với cửa sổ ngữ cảnh |
Khả năng bảo trì mã nguồn | Khả năng hiểu của mô hình |
Tối ưu hóa hiệu suất | Hiệu quả tạo sinh AI |
Hiệu Ứng Tiêu Chuẩn Hóa
Một số lập trình viên hoan nghênh xu hướng này như một hình thức tiêu chuẩn hóa tự nhiên. Làm việc với nhiều khách hàng thường có nghĩa là phải đối phó với các quy ước đặt tên không nhất quán và các thiết kế API đặc thù tiêu tốn năng lượng tinh thần mà không tạo ra giá trị gia tăng. Các mô hình AI, sau khi thấy các mẫu trên hàng triệu cơ sở mã nguồn, có xu hướng đề xuất các cách tiếp cận được tiêu chuẩn hóa hơn.
Tuy nhiên, sự tiêu chuẩn hóa này đi kèm với một cái giá. Các thiết kế API sáng tạo hoặc độc đáo có thể trở nên khó thực hiện hơn nếu các mô hình AI không nhận ra hoặc hỗ trợ chúng. Áp lực phải tuân theo kỳ vọng của AI có thể kìm hãm sự sáng tạo trong thiết kế phần mềm.
Sự Kháng Cự và Thích Ứng
Không phải ai cũng chấp nhận cách tiếp cận do AI dẫn dắt này một cách sẵn lòng. Một số lập trình viên đặt câu hỏi liệu các công ty có nên tự động đáp ứng các giả định của AI thay vì duy trì các quyết định thiết kế ban đầu của họ hay không. Cuộc tranh luận phản ánh những lo ngại rộng lớn hơn về mức độ ảnh hưởng mà AI nên có đối với việc ra quyết định của con người trong các lĩnh vực kỹ thuật.
Hiện tượng này làm nổi bật một thực tế mới trong phát triển phần mềm: các công cụ AI không còn chỉ là trợ lý thụ động mà là những người tham gia tích cực định hình cách xây dựng phần mềm. Khi AI trở nên phổ biến hơn trong quy trình làm việc lập trình, ảnh hưởng này có khả năng sẽ mạnh hơn.
Những tác động dài hạn vẫn chưa rõ ràng, nhưng có một điều chắc chắn: mối quan hệ giữa các lập trình viên con người và các công cụ AI đang phát triển từ sự hỗ trợ đơn giản thành một quan hệ đối tác phức tạp hơn, nơi cả hai bên đều ảnh hưởng lẫn nhau.
Tham khảo: Gaslight-driven development