Chương 1: Dữ Liệu Không Biết Nói Dối
Ủng hộ Lăng Kính Truyện
Mở ưu đãi một lần để tiếp tục đọc. Thông báo này chỉ hiện lại sau 4 giờ.
Mở ưu đãi và tiếp tục đọcChương 1: Dữ Liệu Không Biết Nói Dối
Tin bê bối Thiên Bình nổ ra lúc tám giờ mười bảy phút sáng, đúng vào lúc tôi vừa đặt ly cà phê đen xuống cạnh bàn phím. Màn hình lớn giữa tầng ba mươi hai của Kính Vân vẫn đang chiếu bảng giám sát vận hành màu xanh quen thuộc, nhưng điện thoại của tất cả mọi người đã đồng loạt sáng lên. Tin nóng từ tài khoản tài chính lớn nhất Thượng Hải chạy thành một hàng chữ đỏ: mô hình đánh giá rủi ro Thiên Bình bị tố làm lộ dữ liệu khách hàng và thao túng kết quả chấm điểm doanh nghiệp. Bên dưới là ảnh chụp hợp đồng, danh sách vài công ty bị đánh tụt xếp hạng, và một câu kết đủ làm cổ phiếu của Kính Vân rung lên trước cả khi sàn mở cửa: “Dữ liệu của chúng ta có còn đáng tin không?”
Trong bộ phận Quản trị rủi ro dữ liệu, sự im lặng xuất hiện nhanh hơn tiếng hoảng loạn. Những người thật sự làm việc với hệ thống đều hiểu một điều: khi truyền thông dùng chữ “dữ liệu” như một con dao, không ai ở gần máy chủ là vô can tuyệt đối. Trưởng nhóm Đỗ đứng ở đầu khu làm việc, áo sơ mi chưa kịp cài ngay cổ tay, giọng cố giữ bình tĩnh: “Tất cả dừng các tác vụ không cần thiết. Không ai xuất báo cáo riêng. Không ai trả lời phóng viên. Đội log rà lại Thiên Bình trong bốn mươi tám giờ gần nhất.” Ông ta nhìn quanh một vòng rồi dừng ở tôi. “Tri Ý, cô phụ trách kiểm tra luồng dữ liệu đầu vào bản chạy đêm qua.”
Tôi gật đầu, kéo ghế ngồi xuống. Bên cạnh, đồng nghiệp thấp giọng hỏi tôi có thấy bài đăng trên diễn đàn nội bộ chưa. Tôi không trả lời ngay. Ngón tay tôi mở màn hình truy vấn, đăng nhập vào cụm lưu log chỉ đọc, rồi nhập mã dự án TB-RISK-77. Người ta thường nghĩ dữ liệu biết nói, nhưng thật ra dữ liệu chỉ nằm đó. Người đọc nó muốn nghe thấy gì, muốn che đi gì, mới là phần nguy hiểm. Cha tôi từng nói với tôi như vậy vào năm tôi mười chín tuổi, trước khi tên ông biến thành một vết bẩn không ai trong Kính Vân muốn nhắc lại.
Lâm Thừa Viễn. Cái tên ấy ở công ty này giống như một biến bị xóa khỏi công thức nhưng dấu ngoặc vẫn còn treo lại. Tám năm trước, ông là kiến trúc sư dữ liệu của Kính Vân. Tám năm sau, tôi là một chuyên viên nhỏ ở tầng ba mươi hai, dùng họ Lâm của ông để ký vào biên bản bảo mật mỗi ngày và giả vờ không nghe thấy những khoảng lặng khi có người nhận ra tôi là con gái ai. Tôi vào Kính Vân không phải để làm anh hùng. Tôi chỉ muốn giữ công việc, trả tiền viện phí cho mẹ, và tìm một câu trả lời đủ thật để tôi thôi thức giấc giữa đêm vì cùng một câu hỏi: nếu cha tôi trong sạch, tại sao tất cả chứng cứ năm đó đều chống lại ông?
Bảng log đầu tiên hiện ra rất sạch. Quá sạch. Những request quan trọng của Thiên Bình trong đêm trước bê bối đều có đủ ba mốc: thời điểm dữ liệu gốc được khóa, thời điểm mô hình bắt đầu chạy, thời điểm kết quả được đẩy sang nền tảng khách hàng. Tất cả đều khớp với quy trình chuẩn. Một hệ thống chuẩn đến mức không có vết xước nào thường khiến người kiểm tra yên tâm. Còn tôi chỉ thấy sống lưng mình hơi lạnh. Hệ thống lớn chưa bao giờ sạch như một bài trình chiếu. Máy chủ có độ trễ, tác vụ có thử lại, quyền truy cập có dấu vết phụ. Nếu một chuỗi log đẹp đến mức có thể đem dán lên báo cáo, hoặc là đội vận hành quá hoàn hảo, hoặc là có người đã muốn nó trông hoàn hảo.
Tôi chuyển sang bảng dữ liệu thô của luồng nhập, bỏ qua giao diện báo cáo nội bộ mà mọi quản lý thích dùng. Đó là một thói quen không được lòng cấp trên: đừng tin màn hình đã được dọn sạch, hãy nhìn nơi rác còn chưa kịp quét. Dòng đầu tiên không có gì lạ. Dòng thứ hai cũng vậy. Đến bản ghi lúc 02:14:37, con trỏ của tôi dừng lại. Trường event_time hiển thị 02:14:37, nhưng ingestion_time lại là 02:12:09. Về lý thuyết, dữ liệu không thể được hệ thống nhận vào trước khi sự kiện sinh ra. Trừ khi đồng hồ nguồn lệch, máy trung gian sai múi giờ, hoặc có người nạp lại dữ liệu cũ dưới một thời điểm mới. Tôi kiểm tra tiếp vài dòng gần đó. Chênh lệch không đều, lúc một trăm hai mươi giây, lúc một trăm bốn mươi ba giây, nhưng chỉ xuất hiện trong nhóm khách hàng đang bị truyền thông nêu tên.
“Tri Ý.” Trưởng nhóm Đỗ gọi từ phía sau. Tôi đóng lớp truy vấn sâu lại, để trên màn hình chỉ còn bảng tổng hợp bình thường. Ông ta cúi xuống nhìn, ánh mắt lướt rất nhanh. “Có gì không?” Tôi đáp: “Có vài mốc thời gian lệch. Tôi cần đối chiếu đồng hồ nguồn và lịch chạy lại.” Ông ta nhíu mày. “Đừng viết chữ ‘lệch’ vào báo cáo lúc này. Dùng ‘cần xác minh’. Hội đồng đang họp khẩn. Một câu của cô bây giờ có thể biến thành tiêu đề báo chiều nay.”
Tôi nhìn ông ta thêm hai giây. Người làm quản trị rủi ro ghét nhất không phải sự cố, mà là cách người ta bắt đầu chọn từ trước khi chọn sự thật. Nhưng tôi chỉ gật đầu. “Tôi hiểu.” Ông ta vỗ nhẹ lên lưng ghế tôi, giọng hạ thấp hơn: “Cô cũng đừng tự đưa mình vào chỗ rắc rối. Thiên Bình là dự án của cấp chiến lược, không phải báo cáo tháng của phòng cô.” Ông ta nói không sai. Tôi chỉ là nhân viên cấp chuyên viên. Trên thẻ ra vào của tôi không có quyền bước vào tầng họp hội đồng. Trong sơ đồ tổ chức, tôi là một điểm nhỏ dưới nhiều lớp quản lý. Nhưng log hệ thống không biết sơ đồ tổ chức. Nó chỉ ghi lại ai đã chạm vào dữ liệu, lúc nào, bằng quyền gì.
Đến mười giờ, Kính Vân phát thông báo nội bộ đầu tiên. Tất cả nhân viên không được rời vị trí nếu chưa được cấp trên phê duyệt. Bộ phận truyền thông phong tỏa thang máy khu khách. Đội an ninh dữ liệu tiếp quản quyền truy vấn sâu. Từ vách kính khu làm việc, tôi thấy hành lang điều hành phía đối diện sáng đèn hơn thường lệ. Một nhóm người mặc vest đi rất nhanh qua cửa an ninh, ở giữa là Tạ Hoài Châu. Tôi từng thấy anh trên màn hình đại hội nhân viên, trong các cuộc phỏng vấn tài chính và ảnh bìa tạp chí công nghệ. Ngoài đời, anh không cần nói gì vẫn khiến không khí quanh mình như bị nén lại. Gương mặt anh không có vẻ tức giận, cũng không có vẻ hoảng. Chính sự không hoảng đó làm tôi khó chịu. Người quá quen kiểm soát thường không chấp nhận bất cứ biến số nào chưa được đặt tên.
Đi bên cạnh anh là Tạ Chấn Đông, phó chủ tịch hội đồng quản trị, chú ruột của anh. Ông ta cười với vài quản lý đang cúi chào, nụ cười ôn hòa đến mức nếu không phải cổ phiếu Kính Vân đang bị kéo xuống bởi một bê bối dữ liệu, người ta có thể tưởng đây chỉ là một buổi thị sát bình thường. Tôi không nghe thấy họ nói gì, chỉ thấy Tạ Chấn Đông nghiêng đầu nói với Hoài Châu một câu. Hoài Châu dừng nửa nhịp, ánh mắt lạnh lướt qua khu kỹ thuật phía chúng tôi. Khoảnh khắc ấy rất ngắn. Đến mức không ai có thể chắc anh đã nhìn thấy tôi. Nhưng tôi vẫn vô thức xoay màn hình laptop lệch đi một chút.
Tin nhắn của Hứa Nghiên đến đúng lúc ấy. “Cậu đang ở Kính Vân? Đừng ký gì, đừng nhận lỗi thay ai, đừng tin câu ‘chỉ là quy trình nội bộ’. Nhớ kỹ, công ty càng lớn thì biên bản càng biết ăn thịt người.” Tôi đọc xong, khóe môi hơi giật. Hứa Nghiên là luật sư, bạn thân của tôi, và cũng là người duy nhất có thể mắng cả tập đoàn công nghệ bằng giọng như đang gọi đồ ăn khuya. Tôi trả lời ngắn: “Mình chỉ kiểm tra log.” Cô ấy gửi lại gần như lập tức: “Log cũng là dao. Cầm chắc tay.”
Tôi đặt điện thoại xuống, mở lại bảng truy vấn bằng quyền chỉ đọc của mình. Từ mười giờ mười lăm, một phần log chi tiết đã bị chuyển sang chế độ hạn chế. Tôi không thể xem toàn bộ payload, nhưng vẫn còn quyền xem metadata: tài khoản, thời điểm, IP nội bộ, mã tác vụ. Tôi lọc các bản ghi quanh 02:12 đến 02:15, rồi xuất ra bảng tạm cục bộ theo đúng quy trình bảo mật, không sao chép dữ liệu khách hàng, chỉ giữ chỉ số kỹ thuật. Những dòng thời gian lệch hiện ra rõ hơn khi đứng cạnh nhau. Một cụm dữ liệu bị nhận vào trước thời điểm sinh ra, rồi được đưa vào mô hình đúng trong bản chạy tạo ra kết quả đang bị khiếu nại. Nếu đây là lỗi đồng hồ, nó phải ảnh hưởng cả cụm. Nếu đây là lỗi pipeline, nó phải có retry log. Nhưng tôi không thấy retry. Tôi chỉ thấy một khoảng trắng quá gọn giữa hai thao tác đáng lẽ phải liền nhau.
Tôi đặt câu lệnh truy vấn cuối cùng vào bảng audit_access. Đây là nơi ghi lại lịch sử truy cập vào log, không phải nội dung dữ liệu. Ai vào xem, ai xuất, ai sửa quyền, ai xóa bản ghi phụ. Quyền của tôi chỉ đủ đọc trong vòng bảy ngày, nhưng như vậy đã đủ cho bản chạy đêm qua. Màn hình tải mất ba giây. Rồi thêm ba giây nữa. Trong công việc của tôi, sáu giây chờ dữ liệu có thể dài hơn một cuộc họp hai tiếng, bởi vì mỗi giây đều cho người ta thời gian tưởng tượng điều mình không muốn thấy.
Kết quả hiện ra. Tôi rà từ trên xuống, chậm đến mức nghe rõ tiếng điều hòa trên trần. 01:58, tài khoản vận hành tự động khóa dữ liệu gốc. 02:03, mô hình Thiên Bình bắt đầu đọc snapshot. 02:12, một tài khoản cấp quản trị mở quyền truy xuất tạm thời. 02:13, quyền được thu hồi. 02:14, bản ghi kết quả được gửi sang nền tảng khách hàng. Đến đây, mọi thứ đã đủ bất thường. Nhưng khi tôi kéo xuống bản ghi chi tiết, mã truy cập ở dòng 02:12 chỉ còn một ô trống. Không phải null hệ thống. Không phải lỗi hiển thị. Dòng trước và dòng sau đều có request_id đầy đủ, chỉ riêng dòng đó để lại một khoảng rỗng như có người dùng dao khoét đi phần quan trọng nhất rồi khâu mép lại cho đẹp.
Tôi kiểm tra checksum của bảng audit. Tim tôi đập mạnh hơn khi giá trị xác thực phụ không khớp với bản snapshot lưu ngoài cụm chính. Một dòng truy cập đã từng tồn tại, rồi bị xóa khỏi hệ thống hiển thị. Người xóa nó hiểu quy trình đủ rõ để không động vào dữ liệu khách hàng, cũng đủ tự tin rằng không ai ở tầng chuyên viên sẽ kiểm tra đến bảng phụ. Tôi nhìn chằm chằm vào ô trống đó, bỗng nhớ tới câu cha tôi từng nói trong căn bếp nhỏ ở Hàng Châu: dữ liệu không biết nói dối, nhưng người có quyền có thể khiến dữ liệu bị câm.
Tôi chưa kịp lưu ghi chú thì màn hình nhấp một cái. Phiên truy vấn của tôi bị buộc đăng xuất. Một hộp thông báo màu xám hiện lên giữa màn hình: “Quyền truy cập của bạn đã được điều chỉnh theo yêu cầu kiểm soát khẩn cấp.” Gần như cùng lúc, điện thoại bàn trên góc bàn đổ chuông. Tôi nhìn số nội bộ từ tầng ba mươi tám, nơi đặt văn phòng thư ký CEO, và bàn tay đang đặt trên chuột chậm rãi siết lại. Ở đầu dây bên kia, một giọng nữ lịch sự nói: “Cô Lâm Tri Ý, Tạ tổng muốn gặp cô ngay bây giờ.”
