Danh sách kiểm tra từ thử nghiệm đến sản xuất
Khoảng cách giữa một thử nghiệm thành công và một hệ thống sản xuất không nằm ở quy mô. Mà là bảy thứ mà thử nghiệm chưa bao giờ phải có.
Mọi câu chuyện AI đều đi theo cùng một vòng cung. Thử nghiệm hoạt động — ấn tượng, đôi khi kỳ diệu. Bản demo rất tuyệt. Các bên liên quan rất hào hứng. Rồi thử nghiệm kết thúc, và thứ hoạt động trong thử nghiệm phải hoạt động trong sản xuất, nơi dữ liệu lộn xộn hơn, khối lượng cao hơn, người dùng kém kiên nhẫn hơn, và sai lầm phải trả bằng tiền thật.
Hầu hết các thử nghiệm không sống sót qua quá trình chuyển đổi. Không phải vì AI ngừng hoạt động, mà vì thử nghiệm chưa bao giờ được yêu cầu gánh vác những thứ mà sản xuất cần. Thử nghiệm chứng minh mô hình có thể làm được nhiệm vụ. Nó chưa bao giờ chứng minh hệ thống xung quanh nó tồn tại.
Bảy cánh cổng
Cánh cổng một: quyền sở hữu. Thử nghiệm có một người tiên phong — người quan tâm, thúc đẩy và giữ cho nó sống. Sản xuất cần một chủ sở hữu có ngân sách và được ủy quyền. Không phải một nhà tài trợ. Một chủ sở hữu. Sự khác biệt nằm ở chỗ ai chịu trách nhiệm khi nó hỏng. Nếu bạn không thể nêu tên người mà công việc của họ phụ thuộc vào việc hệ thống hoạt động, thì hệ thống mãi mãi chỉ là thử nghiệm.
Cánh cổng hai: đánh giá. Thử nghiệm được đánh giá bằng demo và sự nhiệt tình. Sản xuất cần một phép đo — một bộ kiểm thử, một đường cơ sở, một ngưỡng chất lượng rõ ràng mà phiên bản mô hình mới phải vượt qua trước khi được phát hành. Nếu không có nó, mọi thay đổi đều là canh bạc và mọi sự thoái lui đều là bất ngờ.
Cánh cổng ba: ngân sách. Thử nghiệm chạy bằng tín dụng miễn phí, thời gian rảnh và thiện chí. Sản xuất cần một hạng mục ngân sách thực sự — cho các lần gọi mô hình, hạ tầng, nhân lực xem xét và bảo trì. Thử nghiệm miễn phí là một lời nói dối về chi phí của dịch vụ, và hóa đơn đầu tiên chính là khoảnh khắc lời nói dối bị phát hiện.
Cánh cổng bốn: một SLA có ý nghĩa. Sản xuất cần một mức dịch vụ được xác định — độ chính xác trên những thứ quan trọng, chứ không chỉ uptime, cùng với một lộ trình giám sát và một kế hoạch phản ứng khi bị vi phạm. Thử nghiệm không có lời hứa nào. Sản xuất là một lời hứa có cái giá.
Cánh cổng năm: hỗ trợ. Thử nghiệm có người đã xây dựng nó. Sản xuất có người dùng — những người sẽ gặp vấn đề, thắc mắc và các tình huống biên vào lúc 4 giờ chiều thứ Sáu. Sản xuất cần một lộ trình hỗ trợ: ai trả lời, nhanh đến mức nào, và quy trình nâng cấp xử lý trông ra sao. Không ai lên kế hoạch cho 4 giờ chiều thứ Sáu cho đến khi 4 giờ chiều thứ Sáu xảy ra.
Cánh cổng sáu: đào tạo. Thử nghiệm được sử dụng bởi những người đã xây dựng nó, những người hiểu các chế độ hỏng hóc của nó. Sản xuất được sử dụng bởi những người không xây dựng nó, những người sẽ vừa tin tưởng nó quá mức vừa thiếu tin tưởng ở mức độ ngang nhau. Sản xuất cần đào tạo — người vận hành cần biết nó dùng để làm gì, nó sai ở đâu, và khi nào nên ghi đè.
Cánh cổng bảy: hoàn nguyên. Thử nghiệm có thể bị tắt mà không để lại hậu quả. Sản xuất thì không thể. Nó cần một kế hoạch hoàn nguyên — điều gì xảy ra khi mô hình mới xuống cấp, khi nhà cung cấp thay đổi thứ gì đó, khi ngưỡng chất lượng bị phá vỡ. Hoàn nguyên không phải là thừa nhận thất bại. Nó là thứ khiến bước tiến về phía trước trở nên an toàn.
Thử nghiệm chứng minh mô hình có thể làm nhiệm vụ. Sản xuất là hệ thống xung quanh mô hình. Bảy cánh cổng chính là sự khác biệt, và bỏ qua bất kỳ cánh cổng nào chính là cách thử nghiệm biến thành sự cố.
Vì sao các cánh cổng bị bỏ qua
Việc bỏ qua gần như luôn là cùng một câu chuyện. Thử nghiệm thành công, động lực là thật, và áp lực phải tiến lên là quá lớn. Không ai muốn trở thành người làm chậm một thử nghiệm thành công. Thế là các cánh cổng bị trì hoãn — “chúng ta sẽ bổ sung giám sát sau khi ra mắt”, “chúng ta sẽ viết tài liệu cho lộ trình hỗ trợ vào sprint sau” — và những cánh cổng bị trì hoãn chính là những cánh cổng không bao giờ xảy ra, bởi vì sự cố buộc chúng phải xảy ra chính là sự kiện lẽ ra phải có chúng từ trước.
Lý do còn lại là các cánh cổng này vô hình. Quyền sở hữu, đánh giá, ngân sách, SLA, hỗ trợ, đào tạo, hoàn nguyên — không cái nào xuất hiện trong một bản demo. Thử nghiệm trông có vẻ hoàn chỉnh vì phần nhìn thấy được, mô hình đang hoạt động, là hoàn chỉnh. Hệ thống xung quanh nó thì không nhìn thấy được, nên nó không được xây dựng, cho đến khi nó thất bại một cách hữu hình.
Cách vận hành các cánh cổng mà không giết chết động lực
Các cánh cổng không nhất thiết phải là một chuỗi quy trình khắc nghiệt. Chúng là một danh sách kiểm tra — mười phút với chủ sở hữu của thử nghiệm, đặt bảy câu hỏi, và thành thật với các câu trả lời.
Kỷ luật này giống như bất kỳ buổi rà soát phát hành nào. Cánh cổng không phải là “mô hình có tốt không” — điều đó đã được chứng minh. Cánh cổng là “hệ thống xung quanh mô hình có tồn tại không”. Nếu câu trả lời cho quyền sở hữu là một cái tên và một khoản ngân sách, thì qua. Nếu câu trả lời là một cái nhún vai, thử nghiệm vẫn là thử nghiệm cho đến khi nó được trả lời. Không phải vì quy trình đòi hỏi, mà vì sự cố rồi cũng sẽ đòi hỏi, và đáp ứng cánh cổng thì rẻ hơn là đối mặt với sự cố.
Sự thật thành thật về các cánh cổng: chúng không phải là quan liêu. Chúng là danh sách những cách mà một thử nghiệm thành công trở thành một hệ thống sản xuất thất bại. Thử nghiệm vượt qua được cả bảy cánh cổng là hiếm, và nó hiếm bởi vì hầu hết các tổ chức bỏ qua những cánh cổng nhàm chán và khám phá ra chúng bằng cái giá đắt.
Câu hỏi mở đầu buổi rà soát
Khi thử nghiệm được tuyên bố thành công, hãy hỏi một câu: sản xuất khác gì?
Câu trả lời nên là một danh sách — khối lượng cao hơn, dữ liệu lộn xộn hơn, người dùng thật, hệ quả thật, không có người tiên phong trong phòng. Mỗi mục trong danh sách ánh xạ tới một cánh cổng. Khối lượng ánh xạ tới ngân sách và định tuyến. Dữ liệu lộn xộn ánh xạ tới đánh giá và giám sát. Người dùng thật ánh xạ tới hỗ trợ và đào tạo. Hệ quả ánh xạ tới SLA và hoàn nguyên. Những khác biệt này không trừu tượng. Chúng chính là danh sách kiểm tra.
Nghĩ rằng lập luận này phù hợp với sự kiện của bạn? Hãy kể cho tôi về khán phòng — lịch trình có chọn lọc.
Bắt đầu trò chuyện