Bống chỉ nói đúng một câu «dọn phòng giúp em với» rồi chạy biến mất. Minh đứng giữa cả đống bừa bộn, chẳng biết bắt đầu từ đâu — và không ngờ chuyện đó lại dẫn thẳng tới bí mật lớn nhất bên trong mọi cái máy tính.
Nghe tưởng dễ lắm. Ai ngờ đứng vào đúng chỗ Minh mới thấy không hề dễ.
Chiều thứ Bảy, Bống vội đi học thêm, ngoái đầu lại nói với Minh đúng một câu: «Dọn phòng giúp em với, tí em về!» — rồi chạy mất, cửa còn chưa kịp khép hẳn.
Minh đứng ở cửa phòng Bống, nhìn quanh một lượt: sách vở nằm chỏng chơ trên bàn, áo khoác vắt trên lưng ghế, một chiếc dép ở góc này, chiếc kia ở góc khác, cái cốc uống dở còn để trên kệ sách.
Xếp gọn sách lại thôi, hay phải lau cả bàn? Áo treo lên móc hay gấp vào tủ? Cái cốc mang xuống bếp, hay cứ để đó? Bống không nói tới cái nào trong số này cả.
Chỉ một câu ngắn gọn «dọn phòng giúp em» — nghe đơn giản đến mức chẳng ai nghĩ phải hỏi lại. Vậy sao Minh lại đứng khựng ngay tại cửa, không biết bắt tay vào đâu trước?
Tối hôm sau, ở CLB Rô-bốt, Minh thử đúng câu ấy — lần này với một cái máy.
CLB Rô-bốt do thầy Huy phụ trách, họp vào tối thứ Ba trong phòng Tin của trường. Hôm đó cả nhóm đang tập cho con robot nhỏ của CLB nghe lệnh bằng giọng nói. Đến lượt mình, Minh nghịch ngợm, nói đúng-y câu tối qua Bống vừa nói với mình: «Dọn phòng giúp em với!»
Con robot đứng im. Đèn báo trên ngực nó chớp đỏ liên tục. Nó không xoay đầu, không chạy tới cái hộp đồ chơi để ngay cạnh, không làm bất cứ điều gì.
Bống đứng cạnh, cũng ngơ ngác: «Ơ, sao nó không chịu làm gì thế? Bình thường bảo nó đi tới, quay trái, nó làm được mà?»
Thầy Huy nhìn qua bảng đèn báo, cười: «Nó không hỏng đâu. Dòng lỗi ghi là «không nhận diện được lệnh» — không phải lỗi pin, không phải lỗi mạch.»
Cùng một câu, tối qua Minh còn đoán mò được để dọn gọn cái gối cái chăn. Giờ con robot này — mạnh hơn, nhanh hơn Minh gấp nhiều lần — lại chịu thua hoàn toàn, không làm nổi một bước nào. Rốt cuộc bên trong nó khác gì so với đầu óc của một con người?
Minh vẫn đoán được một phần. Nhưng đoán được bằng cái gì?
Ngồi nghĩ lại, Minh nhận ra mình không hoàn toàn mù tịt. Có vài thứ giúp Minh đoán mò được: nhớ lại lúc Bống chỉ tay vào góc giường, nhớ Bống hay cằn nhằn chuyện gối chăn lộn xộn, nghe được cả giọng hơi gấp gáp trong câu nói — như thể việc quan trọng nhất, Bống đã lỡ nhấn mạnh rồi.
Tất cả những thứ đó gộp lại, Minh gọi là «đoán bừa có cơ sở» — không chắc trăm phần trăm, nhưng cũng không phải đoán mù.
Nó không có mặt hôm qua nên chẳng thấy Bống chỉ tay vào góc giường. Nó cũng không phân biệt được giọng ai đang gấp gáp hay không — với nó, câu nói chỉ là một chuỗi âm thanh cần khớp đúng-y một mẫu lệnh đã học sẵn, không hơn không kém.
Con người, dù chỉ nghe một câu mơ hồ, vẫn còn đoán bừa được đôi chút nhờ bao nhiêu thứ xung quanh câu nói đó. Vậy tại sao con robot ở CLB thì hoàn toàn không đoán được gì cả, dù chỉ một chút?
Đây là chỗ mọi thứ bỗng dưng sáng ra.
Bộ phận đứng bên trong máy tính, cái thật sự "làm việc" khi máy chạy, không hiểu công việc theo kiểu con người hiểu. Nó không suy luận, không đoán, không tự bù thêm bất cứ điều gì ngoài đúng-y những gì nó nhận được.
Nó chỉ làm được những lệnh cực kỳ nhỏ, cực kỳ rõ ràng — kiểu như: «lấy số ở ô này» — «cộng nó với số ở ô kia» — «ghi kết quả vào ô nọ». Chỉ vậy thôi. Nhưng nó làm liên tục, hàng tỷ lần trong một giây, không nghỉ, không lơ đễnh, không tự thêm bớt gì ngoài đúng-y lệnh nhận vào.
Nếu câu nói của Bống mà được viết lại theo đúng kiểu CPU cần — từng bước nhỏ xíu, rõ từng chữ, không thiếu gì — thì Minh còn phải đứng khựng lại đoán không?
Cái bộ phận vừa nói tới có một cái tên hẳn hoi.
Nó được gọi là CPU — viết tắt của Central Processing Unit, tiếng Việt hay gọi là bộ xử lý trung tâm. Đây chính là nơi mọi lệnh cực nhỏ được thực hiện, hàng tỷ lệnh mỗi giây, bên trong máy tính, điện thoại, và rất nhiều món đồ khác quanh nhà.
Không chỉ máy tính để bàn mới có CPU. Điện thoại có một CPU nhỏ xíu. Máy tính bảng, tivi thông minh, thậm chí một số đồ chơi điều khiển được — tất cả đều có một «người thợ» kiểu này nằm bên trong.
Nếu CPU chỉ là «người thợ làm đúng lệnh», không tự ý thêm bớt gì cả — vậy ai mới thật sự là người chịu trách nhiệm khi lệnh đưa ra bị sai hoặc thiếu?
Không lười, cũng không thông minh kiểu đoán ý — chỉ trung thực tuyệt đối.
CPU giống một người thợ cực kỳ nhanh, nhưng chỉ làm đúng-y việc được chỉ rõ từng bước một. Nó không «lười biếng làm tắt» — không bỏ bớt bước nào cho nhanh. Nó cũng không «thông minh đoán ý» — không tự thêm bước nào cho hợp lý hơn. Nó trung thực tuyệt đối với đúng-y lệnh nhận vào, dù lệnh đó đúng hay sai.
Nhưng vì mỗi lệnh CPU hiểu được đều phải chia nhỏ tới mức cực kỳ đơn giản — «lấy số», «cộng», «ghi» — nên một việc đời thường như «dọn phòng» không thể đưa thẳng vào CPU được. Phải có cả một tầng phần mềm khác đứng ở giữa: hệ điều hành, ngôn ngữ lập trình — chuyên dịch việc của con người thành hàng triệu lệnh nhỏ xíu mà CPU mới hiểu nổi.
Nếu không có tầng phần mềm đứng giữa để dịch lại, một câu tưởng chừng đơn giản như «dọn phòng giúp em» — phải chia nhỏ tới mức nào mới đủ để CPU làm được?
Lần này thử với một cái máy tính bỏ túi, thứ ai cũng có ở nhà.
Máy tính bỏ túi cộng đúng phép cộng hàng triệu lần liên tiếp, không bao giờ mỏi, không bao giờ lơ đễnh. Nhưng nếu người bấm nhầm phím trừ thành phím cộng, CPU bên trong nó vẫn cứ cộng — nó không «biết» người dùng định làm gì khác, nó chỉ làm đúng-y phím vừa được bấm.
Máy tính bỏ túi không hề mỏi, chưa bao giờ lơ đễnh một giây nào — vậy vì sao đôi lúc phép tính lại ra kết quả sai?
Thử tưởng tượng một CPU biết «đoán ý» giống hệt con người.
Nghe có vẻ tiện hơn hẳn — máy sẽ hiểu ngay cả khi mình gõ nhầm, nói thiếu. Nhưng nếu CPU cứ tự đoán ý thay vì làm đúng-y lệnh, thì hai lần bấm cùng một phép tính có chắc ra cùng một kết quả không?
Không hề chắc — vì mỗi lần «đoán» có thể mỗi khác. Mà nếu vậy, không có gì đảm bảo hai lần chạy cùng một chương trình sẽ cho ra cùng một đáp số. Máy tính sẽ không dùng được cho bất cứ việc gì cần chính xác tuyệt đối: tính điểm thi, tính tiền trong tài khoản ngân hàng, tính đường bay của máy bay.
Nếu CPU cũng «linh động đoán ý» như con người, mỗi lần một khác — em có dám để nó tính điểm thi hay tính tiền trong tài khoản của mình không?
CPU không chỉ nằm trong máy tính để bàn — nó ở khắp quanh nhà.
Điện thoại «giật lag» chính là lúc CPU phải chạy quá nhiều lệnh cùng một lúc, làm không kịp. Trên hộp máy tính chơi game, dòng chữ «CPU / GPU» ghi rõ hai loại chip đang cùng làm việc bên trong. Ngay cả lò vi sóng hay máy giặt ở nhà cũng có một CPU nhỏ xíu, đang thực thi đúng-y một chuỗi lệnh đã lập trình sẵn — bấm nút nào, chạy đúng-y chương trình đó, không hơn không kém.
Bấm vào đáp án em nghĩ là đúng — không chấm điểm, chỉ để em tự soi lại.
1. Nếu ra lệnh sai một chữ cho máy tính, CPU có tự sửa lại cho đúng ý mình không?
2. CPU «nhanh» và CPU «thông minh» có phải là một chuyện không?
3. Nếu một ngày CPU cũng «đoán bừa» như con người, hai lần bấm cùng một phép tính có chắc ra cùng một kết quả không?
Bấm một đáp án bất kỳ để bắt đầu.
Cuộn nốt xuống dưới nhé — sắp xong trang này rồi!
Nếu chỉ được nhớ một câu từ cả bài này, hãy nhớ đúng câu này.
Lần sau thấy máy tính hay điện thoại «làm sai» điều gì đó, thử hỏi lại: nó đang thật sự làm sai, hay nó chỉ đang làm đúng-y một lệnh mà con người đã ra chưa đủ rõ?
Từ hôm đó, mỗi lần nhờ ai việc gì, Minh cố nói rõ hơn một chút — không phải vì sợ người kia không hiểu, mà vì Minh nhận ra: nói rõ ràng vốn dĩ luôn là một kỹ năng đáng học, dù là nói với người hay là "nói" với máy.