Chương 84: Căn Nguyên
Độ Trễ
Mục lục
89 chươngCuộn, vuốt hoặc dùng hai nút để xem thêm Đã tải 89/89 chương
Tuần đầu tiên trôi qua trong êm đềm. Bảng giám sát hiển thị những con số đẹp như mơ.
Độ lệch trạng thái: 0,1%. Rồi 0,18%. Rồi 0,27%. Thỉnh thoảng có một nhịp nhảy chạm ngưỡng cảnh báo, thoáng cái lại âm thầm lùi về vùng an toàn. Bản báo cáo tuần gửi về trụ sở trong Thành phố Hồ Chí Minh nhận được dòng đánh giá "Vận hành ổn định". Không ai bận tâm đến con số chưa bằng một phần ba ngưỡng nguy hiểm.
Rồi kỳ nghỉ lễ đến.
Sóng hàng hoàn trả của cả bốn hệ thống lớn đổ ngược về kho trong cùng những ngày nghỉ, chen ngang vào vô số lệnh điều chuyển, đơn nhập kho và đơn bán lẻ. Những khoảng lệch nhỏ xíu, tích tụ dần qua từng giao dịch. Chúng không hề biến mất, chỉ im lìm nằm chờ ở một góc khuất của thuật toán.
Hai giờ sáng thứ Ba, hệ thống quét lô đặt hàng tự động theo đúng lịch trình hằng đêm. Lúc ấy, chỉ số độ lệch vẫn dưới ngưỡng ranh giới.
Nhưng đến sáu giờ mười hai phút sáng, con số ấy bất ngờ vọt lên 4,7%. Hàng rào phòng thủ tự động lập tức bật mở. Hệ thống ngắt luồng tự động, chuyển toàn bộ sang chế độ duyệt tay đúng như thiết kế ban đầu.
Có điều, lô hàng đặt lúc hai giờ sáng đã được gửi đi mất rồi.
"Anh xem cái này đi."
Mười giờ mười bảy phút sáng. Trưởng nhóm vận hành mặt xám xịt, đặt chiếc máy tính bảng xuống giữa bàn họp.
"Mười hai cửa hàng khu vực Hải Châu của Thuận Phát. Đêm qua hệ thống vừa tự động phát lệnh đặt thêm ba trăm hai mươi thùng nước giải khát. Trong khi kho trung tâm của họ vẫn còn tồn hơn bảy trăm thùng, sức bán thực tế tại điểm lẻ chẳng hề tăng."
Giám đốc chi nhánh nhìn chằm chằm vào dòng số liệu trên màn hình:
"Hàng rào cảnh báo không hoạt động à?"
"Có chạy. Nhưng bị chậm mất bốn tiếng!"
"Tại sao lại chậm?"
"Vì thuật toán hàng rào được thiết kế để chặn một chỉ số tăng dần từ từ!"
Trưởng nhóm kỹ thuật tháo kính, mệt mỏi dụi mắt:
"Nó không được lập trình để ứng phó một con số nhảy vọt chỉ sau một đêm."
Thực tế, họ đã đưa ra ba giả thuyết và cả ba lần đều đoán sai.
Lần đầu tiên, họ tin rằng hạ tầng bị nghẽn tải sau kỳ nghỉ lễ. Lập tức nâng công suất máy chủ, con số sai lệch vẫn trơ trơ ra đó.
Lần thứ hai, họ nghi ngờ cổng tích hợp API có lỗi, cả đội thức trắng đêm viết lại mã kết nối, kết quả vẫn chệch khỏi đường ray.
Lần thứ ba, họ cho rằng dữ liệu đầu vào từ cửa hàng quá bẩn, bèn tung toàn bộ đội ngũ nhân sự mới tuyển xuống ba mươi điểm bán để rà soát từng phiếu hàng hoàn trả.
Gần trưa ngày hôm sau, bản báo cáo hiện trường gửi về vỏn vẹn một dòng:
Không phát hiện bất kỳ dữ liệu bất thường nào đủ lớn, để giải thích mức độ sai lệch hiện tại.
"Hệ thống đang dùng những dữ liệu hoàn toàn đúng để tính ra một kết quả sai!"
Trưởng nhóm kỹ thuật thốt lên cay đắng.
Quốc nhìn chằm chằm dòng chữ đó trên laptop. Thứ mà anh ta tin là đã kiểm chứng kỹ càng, hóa ra chỉ chưa từng vấp trúng điều kiện để lỗ hổng bùng nổ.
Tiếng điện thoại trên bàn vang lên chói tai, xé tan không khí ngột ngạt đang bao trùm. Trưởng phòng kinh doanh nhấc máy. Sau vài giây lắng nghe, anh ta biến sắc mặt:
"Mười tám cửa hàng?... Vâng, chúng tôi kiểm tra ngay."
Đặt điện thoại xuống, giọng anh ta lạc đi:
"Chuỗi miền Tây gọi. Cùng một kịch bản sai lệch."
Chuông điện thoại ré lên lần nữa. Tiếp tục là khách hàng thứ ba.
Khi hệ thống bị đẩy về chế độ khuyến nghị, mọi đề xuất nhập hàng đều phải chờ con người duyệt tay. Nhưng khi các đề xuất sai lệch xuất hiện nhiều hơn đúng, những người quản lý chuỗi bán lẻ bắt đầu mất kiên nhẫn. Họ gạch bỏ toàn bộ gợi ý của máy tính, bất mãn quay lại cách đặt hàng bằng cảm tính và kinh nghiệm cũ.
Trên tấm bảng trắng trong phòng họp tầng mười hai, một cái tên khách hàng được khoanh tròn bằng bút dạ đỏ. Rất nhanh đến cái thứ hai, rồi thứ ba.
Ngoài sảnh, hình ảnh cô nàng hotgirl trên tấm băng rôn quảng cáo vẫn nở nụ cười quyến rũ. Dưới ánh đèn hành lang nhập nhoạng lúc chiều muộn, nụ cười ấy bỗng lạc lõng và mỉa mai kỳ lạ.
"Cho hệ thống quay về cấu hình cũ đi!"
Một quản lý cấp cao lên tiếng, giọng khản đi:
"Mất một giờ, đúng như phương án chúng ta đã duyệt."
"Chúng ta có quyền bấm dừng!"
Giám đốc chi nhánh đáp, vẻ mặt nặng nề:
"Về mặt kỹ thuật, bấm dừng là xong chuyện. Nhưng dừng vào lúc này nghĩa là ba khách hàng lớn vừa lên vận hành phải rút về quy trình thủ công, hai hợp đồng mới ký phải làm văn bản giải trình, đồng nghĩa toàn bộ đội ngũ triển khai vừa tuyển về ngồi chơi xơi nước. Quan trọng nhất, Trụ sở trong Nam sẽ hỏi tại sao cái case study tự hào nhất của chúng ta, lại là thứ đổ vỡ đầu tiên."
Thoáng ngừng lời, ông ta đưa mắt nhìn xoáy vào tấm bảng trắng:
"Còn một điều nữa. Cấu hình cũ vẫn sử dụng chính lớp tổng hợp đó. Quay về cấu hình cũ chỉ là bắt hệ thống chạy chậm lại, chứ không phải là làm cho nó chạy đúng."
Cả phòng họp rơi vào im lặng. Chẳng ai dám hé lời.
Không ai biết rằng trước lúc đó, tại một căn phòng bốn mươi mét vuông ở Hòa Khánh, có một người đã dứt khoát nói chữ "Dừng", ngay cả khi màn hình chưa xuất hiện bất cứ sắc đỏ nào.
Hải Đăng không hề thiếu phanh, thậm chí còn cẩn thận lắp sẵn một hệ thống phanh tự động vô cùng đắt đỏ. Chỉ là họ luôn tự thuyết phục bản thân rằng chưa đến lúc. Đến khi nhận ra, cỗ xe đã lao tới vực thẳm quá gần rồi.
Tối thứ Tư, giám đốc chi nhánh gọi Quốc vào phòng, chốt chặt cửa. Trong phòng còn có một người của bộ phận nhân sự, trước mặt là cuốn sổ ghi chép mở sẵn.
Không nhiều lời, Giám đốc chi nhánh hỏi:
"Anh lấy kiến trúc lõi này từ đâu ra?"
Giọng ông ta lạnh tanh vô cảm, như hỏi một chuyện không liên quan đến mình.
Quốc ngẩng lên, sững sờ nhìn đối phương. Tám tháng trước, trong chính căn phòng này, ông ta đã đẩy sang cho anh một mẩu giấy đánh máy ghi địa chỉ một căn phòng bốn mươi mét vuông ở Hòa Khánh, kèm câu: "Tìm hiểu đối thủ đi. Làm cho gọn."
Dĩ nhiên không qua email. Càng không có chữ ký.
Người của bộ phận nhân sự cầm bút, kiên nhẫn chờ.
Một loạt suy nghĩ quay cuồng trong đầu Quốc khiến anh ta không ngừng cân nhắc thiệt hơn.
"Tôi phụ trách mảng này từ những ngày đầu!" - Quốc khó nhọc đáp.
Cây bút bắt đầu sột soạt ghi chép.
Quốc biết rõ những gì mình đã làm. Tung hê tất cả thì được gì? Ai tin anh ta chứ?
Trên màn hình laptop, dòng thông báo tự động lại nhấp nháy:
Độ lệch trạng thái tồn kho vượt ngưỡng.
Ở mức 0,3%, hệ thống xem đó là sự chênh lệch tự điều chỉnh. Nhưng con số hiện tại đã vọt lên 4,7%. Nó không còn tự biến mất mà đang không ngừng gặm nhấm toàn bộ hệ thống từ bên trong.
***
Phải mất đúng ba đêm trắng, Khoa mới lần ra tận gốc rễ của con quái vật ẩn nấp trong dữ liệu.
Mặt bảng trắng xóa đi vẽ lại không biết bao nhiêu lần, lem luốc đầy mực bút dạ. Duyên và Ngọc Ánh chúi đầu vào rà soát từng nhật ký giao dịch của từng kho bãi, xếp chồng chúng lên nhau sát tới từng tích tắc. Huy dựng lại thứ tự của hàng loạt sự kiện: đơn bán lẻ phát sinh trước, đơn hàng hoàn trả ghi nhận sau, các lệnh điều chuyển đan cài ở giữa.
Một giờ sáng của đêm thứ ba, Mai Phương chạy xe ra đầu hẻm mua năm hộp cháo. Lúc về thấy Trọng Khoa vẫn đứng trước bảng trắng, khóe miệng kẹp cây bút dạ.
Anh vẽ một ô vuông, tiếp đó vẽ thêm một ô vuông khác ở góc bên kia bảng. Hai ô cùng mang một mã định danh sản phẩm.
"Nó ở đây!"
Anh lẩm bẩm, gõ đầu bút vào ô thứ nhất.
"Và ở đây!"
Hệ thống bán lẻ (POS) tại các cửa hàng của Cozon ghi nhận hàng hoàn trả là "hàng khả dụng" ngay lập tức khi nhân viên quét mã tại quầy. Nhưng hệ thống quản lý kho (WMS) lại coi đó là "hàng đang trên đường vận chuyển", chỉ chính thức ghi nhận tồn kho khi hàng thực sự vào kho trung tâm, một tiến trình trễ trung bình tới ba ngày. Hai hệ thống độc lập cùng dùng chung một thuật ngữ "Tồn kho", nhưng mỗi bên hiểu theo nghĩa hoàn toàn trái ngược. Dĩ nhiên, cả hai bên đều đúng theo quy chuẩn riêng của mình.
Còn lớp tổng hợp tồn khả dụng của Mạch Labs, thứ mà Khoa đã viết từ những ngày đầu khởi nghiệp, hồn nhiên cộng cả hai nguồn dữ liệu ấy lại. Kết quả là trong ba ngày trễ đó, cùng một lô hàng hoàn trả đã bị hệ thống vô tình tính hai lần dưới hai trạng thái hoàn toàn khác nhau.
Sự sai lệch về mặt định nghĩa này không hề mới. Nó lẳng lặng nằm sâu trong lòng Cozon nhiều năm trời, kể từ ngày họ tách đôi hai hệ thống quản lý, âm thầm làm biến dạng mọi thuật toán dự báo của chính tập đoàn. Nhưng trước đây, nó được nuốt chửng bởi tầng tầng lớp lớp "tồn kho an toàn" và những lần điều chỉnh cảm tính của các thủ kho.
Áp dụng vào từng điểm bán đơn lẻ, khoảng lệch ấy quá nhỏ để tạo thành một sự cố. Chỉ đến khi số lượng điểm bán bùng nổ, thời gian tính bằng thời gian thực và tần suất quét dữ liệu dày đặc, phần sai lệch tích tụ qua từng giờ mới phá bung lớp đệm an toàn.
"Sao hồi làm dự án Thuận Phát mình không phát hiện lỗi này anh nhỉ?"
Huy đỡ lấy hộp cháo Mai Phương đưa, mắt đỏ ngầu vì thiếu ngủ.
"Hồi đó chạy thử có mười hai cửa hàng, dữ liệu đồng bộ mỗi ngày một lần. Trạng thái giữa hai bên thừa thời gian để rượt và đuổi kịp nhau."
Khoa xoay xoay cây bút trong tay:
"Việt Hưng thì chúng ta dừng quá sớm. Lớp tổng hợp của mình chưa từng phải đối mặt với nguồn dữ liệu nào vừa khổng lồ, vừa có mật độ dày, lại vừa lệch nghĩa sâu sắc đến mức này. Nên thuật toán chẳng có hàng rào phòng thủ để chặn nó lại."
Thảo luận
Bình luận chương
0 bình luận
Chưa có bình luận nào. Hãy là người đầu tiên bình luận chương này.