Trang chủ AI Linus Torvalds dùng AI tìm lỗi Linux tưởng như bất khả thi
AI

Linus Torvalds dùng AI tìm lỗi Linux tưởng như bất khả thi

Linus Torvalds đã phối hợp với AI để điều tra lỗi khiến GDM liên tục khởi động lại trên một số GPU Intel. Nguyên nhân cuối cùng chỉ là dùng nhầm round_up() thay vì round_down().
Dũng Virgo Dũng Virgo
23/08/2026 12 phút đọc 14 lượt xem
Chia sẻ: f 𝕏
Tổng quan bài viết

Linus Torvalds, người sáng tạo nhân Linux, vừa chia sẻ một phiên gỡ lỗi đặc biệt khi ông phải trực tiếp xử lý sự cố trong trình điều khiển đồ họa Intel Xe. Điều đáng chú ý là AI đã hỗ trợ phần lớn các công việc lặp đi lặp lại, nhưng nhiều lần khẳng định lỗi này gần như không thể giải quyết.

Minh họa quá trình AI hỗ trợ kỹ sư gỡ lỗi phần mềm
GPU Intel Arc B580 trong bối cảnh minh họa phần cứng đồ họa
Màn hình máy tính hiển thị mã nguồn nhân Linux

Torvalds không chấp nhận kết luận đó. Ông liên tục yêu cầu công cụ bổ sung dữ liệu chẩn đoán, phân tích kết quả và thử thêm những hướng điều tra mới. Sau 24 bản vá phục vụ việc gỡ lỗi cùng 18 lần khởi động nhân Linux, nguyên nhân cuối cùng được tìm thấy: một đoạn mã dùng round_up() thay vì round_down().

Sự cố khiến GDM liên tục khởi động lại

Lỗi xuất hiện trên một số GPU Intel Battlemage G21, trong đó có mẫu Intel Arc B580. Khi hệ thống gặp sự cố, trình quản lý hiển thị GDM liên tục khởi động lại, khiến người dùng khó duy trì một phiên làm việc ổn định trên môi trường đồ họa Linux.

Vấn đề nằm trong driver Intel Xe, một thành phần có nhiệm vụ giúp nhân Linux giao tiếp với GPU. Những lỗi ở lớp này thường khó chẩn đoán vì chúng có thể liên quan đến nhiều khu vực: quản lý bộ nhớ, khởi tạo phần cứng, lịch xử lý tác vụ đồ họa hoặc quá trình chuyển đổi giữa các trạng thái hoạt động.

Trong trường hợp này, dấu hiệu bên ngoài là GDM bị khởi động lại. Tuy nhiên, biểu hiện đó không chỉ ra ngay dòng mã gây lỗi. Việc tìm nguyên nhân đòi hỏi phải bổ sung thông tin theo dõi, khởi động lại hệ thống nhiều lần và so sánh kết quả giữa các thay đổi nhỏ trong mã nguồn.

AI làm phần việc nặng, nhưng không tự tìm ra lời giải

Torvalds cho biết AI đã giúp ông rất nhiều trong quá trình điều tra. Công cụ có thể viết thêm mã phục vụ việc gỡ lỗi, xử lý các kết quả thu được sau mỗi lần thử nghiệm và tiếp tục phân tích khi được yêu cầu.

Đây là kiểu công việc phù hợp với AI hỗ trợ lập trình. Thay vì phải tự tay thực hiện từng bước lặp lại, kỹ sư có thể giao cho công cụ những nhiệm vụ như tạo bản vá chẩn đoán, sắp xếp dữ liệu hoặc kiểm tra các giả thuyết. Con người sau đó tập trung vào việc xác định hướng đi và đánh giá kết quả.

Tuy nhiên, AI không đưa ra đáp án ngay từ đầu. Trong nhiều lần trao đổi, công cụ cho rằng sự cố “không thể giải quyết được”, thậm chí đề nghị dừng điều tra để viết báo cáo về lỗi. Nếu chấp nhận kết luận đó, quá trình tìm kiếm nguyên nhân có thể đã kết thúc trước khi dòng mã sai được phát hiện.

Torvalds tiếp tục yêu cầu AI thực hiện thêm các bước kiểm tra. Mỗi khi công cụ cho rằng cuộc điều tra đã đi vào ngõ cụt, ông lại buộc nó bổ sung dữ liệu hoặc thử một phương án khác. Cách làm này cho thấy AI có thể là một trợ lý bền bỉ, nhưng vẫn cần người có kinh nghiệm đặt câu hỏi đúng và không vội tin vào kết luận đầu tiên.

24 bản vá và 18 lần khởi động nhân Linux

Quá trình gỡ lỗi kéo dài qua 24 bản vá bổ sung thông tin chẩn đoán. Sau mỗi thay đổi, nhân Linux lại được khởi động để kiểm tra xem hiện tượng GDM khởi động lại còn xuất hiện hay không. Tổng cộng có 18 lần khởi động trong cuộc điều tra.

Con số này phản ánh đặc thù của việc sửa lỗi ở cấp nhân và driver. Một thay đổi nhỏ có thể làm thay đổi cách hệ thống phân bổ hoặc sử dụng bộ nhớ GPU. Vì vậy, việc kiểm tra không chỉ dừng ở biên dịch thành công. Bản vá còn phải được thử trong đúng điều kiện gây lỗi và cho ra kết quả có thể lặp lại.

Những bước thử nghiệm liên tiếp cũng giúp thu hẹp phạm vi nghi vấn. Mỗi bản vá có thể cung cấp thêm một mảnh ghép: lỗi xuất hiện ở giai đoạn nào, giá trị nào bị xử lý bất thường và khu vực bộ nhớ nào có liên quan. AI đảm nhiệm tốt việc tạo và xử lý các bước trung gian, còn Torvalds quyết định nên tiếp tục giả thuyết nào.

Một lỗi làm tròn gây hậu quả lớn

Nguyên nhân cuối cùng đơn giản hơn nhiều so với quá trình tìm kiếm. Mã nguồn đã sử dụng hàm round_up(), trong khi tình huống đó cần round_down(). Hai hàm đều liên quan đến việc làm tròn giá trị, nhưng hướng làm tròn khác nhau có thể quyết định một vùng bộ nhớ có được xác định đúng hay không.

Trong driver đồ họa, sai lệch nhỏ về giá trị bộ nhớ có thể dẫn đến hậu quả lớn. Một khu vực được tính toán không chính xác có thể làm hệ thống sử dụng nhầm phạm vi bộ nhớ hoặc xử lý dữ liệu không đúng dự kiến. Khi lỗi xảy ra trong quá trình khởi tạo và vận hành GPU, biểu hiện cuối cùng có thể là phiên đồ họa bị gián đoạn và GDM phải khởi động lại.

Điểm đáng chú ý là đây không phải một lỗi có vẻ phức tạp khi nhìn vào bản sửa cuối cùng. Chỉ cần thay thế hàm làm tròn là vấn đề được khắc phục. Dù vậy, việc xác định đúng vị trí cần thay đổi lại đòi hỏi nhiều vòng kiểm tra bởi triệu chứng ban đầu không trực tiếp chỉ ra nguyên nhân.

Một thay đổi rất nhỏ trong cách làm tròn giá trị có thể tạo ra sự cố lớn khi nó nằm trong mã quản lý bộ nhớ và driver phần cứng.

Nhận xét châm biếm của Linus Torvalds về AI

Torvalds không phủ nhận vai trò của AI trong phiên gỡ lỗi. Ông thừa nhận công cụ đã hỗ trợ đáng kể, đặc biệt ở các nhiệm vụ tốn thời gian nhưng có tính lặp lại. AI thậm chí còn được dùng để viết phần thông điệp mô tả cho bản vá cuối cùng.

Thế nhưng, việc AI nhiều lần muốn dừng lại đã khiến câu chuyện trở nên đáng chú ý. Torvalds nói ông có thể gọi AI là một “người trợ giúp không biết mệt”, nhưng đồng thời đưa ra nhận xét đầy tính châm biếm rằng những hệ thống này có lẽ được huấn luyện bởi những người không “cứng đầu” như ông.

Đằng sau câu nói hài hước là một bài học thực tế về giới hạn của AI. Mô hình có thể phân tích lượng lớn thông tin và đề xuất nhiều bước xử lý, nhưng không phải lúc nào cũng biết khi nào kết luận của mình là quá sớm. Trong các hệ thống phức tạp, một câu trả lời nghe hợp lý chưa chắc đã là nguyên nhân thật sự.

Con người vẫn giữ quyền quyết định

Phiên gỡ lỗi này không cho thấy AI đã thay thế Torvalds trong việc lập trình nhân Linux. Ngược lại, nó cho thấy mô hình kết hợp hiệu quả hơn: AI xử lý khối lượng công việc kỹ thuật lớn, còn con người đặt mục tiêu, kiểm tra giả thuyết và quyết định có nên tiếp tục hay không.

Vai trò của kinh nghiệm thể hiện rõ ở việc Torvalds không dừng lại khi AI đánh giá vấn đề là bất khả thi. Ông hiểu rằng một kết luận như vậy có thể xuất phát từ dữ liệu chưa đủ hoặc từ việc công cụ chưa thử đúng hướng. Sự kiên trì của người điều tra đã giúp cuộc tìm kiếm tiếp tục cho đến khi phát hiện lỗi dùng nhầm hàm làm tròn.

Cách tiếp cận này cũng phù hợp với xu hướng sử dụng AI trong phát triển phần mềm hiện nay. Những công cụ mới ngày càng được dùng để tìm lỗi, tạo mã kiểm thử và phân tích lỗ hổng. Tuy nhiên, hiệu quả của chúng vẫn phụ thuộc vào chất lượng dữ liệu, câu hỏi của người dùng và quy trình xác minh. Một ví dụ khác về AI hỗ trợ phân tích mã và bảo mật có thể được xem trong bài GLM-5.3 gây chú ý với khả năng phát hiện lỗ hổng bảo mật.

Bản sửa đã được đưa vào Linux 7.3

Bản sửa lỗi đã được đưa vào Linux 7.3 và được đánh dấu để chuyển ngược về các nhánh nhân Linux ổn định. Điều này giúp những phiên bản phù hợp có thể nhận bản vá mà không nhất thiết phải chờ một chu kỳ phát hành lớn tiếp theo.

Câu chuyện cũng nhấn mạnh một nguyên tắc quan trọng trong gỡ lỗi: nguyên nhân gây ra sự cố không phải lúc nào cũng tương xứng với mức độ phức tạp của quá trình điều tra. Một lỗi chỉ nằm ở một dòng mã có thể buộc kỹ sư phải thực hiện hàng chục lần thử nghiệm nếu triệu chứng ban đầu xuất hiện ở một thành phần khác.

AI đã giúp rút ngắn và tự động hóa nhiều bước trong phiên làm việc của Torvalds. Nhưng người đưa ra phán đoán cuối cùng vẫn là con người. Trong những dự án quan trọng như nhân Linux, khả năng nghi ngờ kết luận, kiểm chứng bằng thực nghiệm và theo đuổi vấn đề đến cùng vẫn là yếu tố không thể thiếu.

Có thể bạn quan tâm

Bài viết liên quan