Quan Niệm Sai Lầm: "Compiler Đang Trở Nên Lỗi Thời"
Khi AI agents bây giờ có khả năng viết mã, một phê phán thú vị đã nổi lên: nếu các mô hình ngôn ngữ lớn có thể tạo ra CUDA kernels, tại sao chúng ta lại cần bộ công cụ compiler tinh vi? Tại sao không đơn giản chỉ hướng dẫn mô hình đến backend của mỗi nhà cung cấp phần cứng và để nó phát ra mã native trực tiếp?
Nhưng lý luận này phạm phải một sai lầm thẻ loại quan trọng.
LLM và Compiler: Những Vấn Đề Về Cơ Bản Khác Nhau
Một compiler là một hàm xác định. Với mã nguồn giống nhau, nó tạo ra mã máy giống nhau, mỗi lần, mãi mãi. Tính chất này không phải tình cờ—nó là nền tảng cho lý do chúng ta có thể tin tưởng hàng tỷ dòng mã sản xuất.
Một LLM là một hàm xác suất. Đầu vào giống nhau, đầu ra khác nhau, thay đổi theo nhiệt độ, chiến lược lấy mẫu, phiên bản mô hình. Tính chất này làm cho LLM vô giá cho tổng hợp ý tưởng. Nó là hoàn toàn sai ở lớp kim loại.
Bạn không muốn độ chính xác ngẫu nhiên trên các hoạt động multiply-accumulate, memory fences, hoặc atomic. Một kernel tạo ra kết quả khác nhau giữa các lần chạy là một thất bại độ chính xác im lặng.
Não quyết định cần tính toán cái gì. Compiler xác định cách nó chạy, xác định.
Các Agent Thực Sự Cần Gì Từ Substrate Của Họ
Khi bạn chấp nhận rằng các agent và compiler hoạt động trong các danh mục khác nhau, một câu hỏi mang tính xây dựng nổi lên: agent cần gì từ substrate của nó để có năng suất tối đa?
Ba điều, chủ yếu:
1. Phản Hồi Nhanh và Có Cấu Trúc
Một agent lặp lại trên một kernel cần các lỗi biên dịch nó có thể phân tích, các chế độ lỗi xác định và các bản dựng có thể tái tạo. Vòng phản hồi càng nhanh, càng ít lần lặp cần thiết để đạt được giải pháp hoạt động. Bộ công cụ phát ra các lỗi mẫu mã khó hiểu gần như vô ích đối với một agent.
2. Một Mô Hình Tinh Thần, Không Phải N
Mỗi phân mảnh của substrate phân mảnh phân bố huấn luyện và nhân lên các bề mặt ảo tưởng. Nếu agent phải nhớ rằng các nội tại được đặt tên khác nhau trên NVIDIA, AMD, Intel—năng lực của nó giảm trên tất cả. Mô hình biết sâu một substrate vượt trội so với mô hình biết N substrate một cách nông cạn.
3. Một Môi Trường Không Nói Dối
Năng suất agent bị giới hạn bởi tốc độ nó có thể lặp lại so với một cái gì đó có hành vi phù hợp với tài liệu. Bộ công cụ có những lỗi im lặng hoặc những bất ngờ thời gian chạy là một rãnh năng suất. Các con người có thể phát triển trực giác rằng điều gì đó có vẻ sai; các agent thì không.
Câu Hỏi Âm Lượng: Tại Sao Quy Mô Thay Đổi Mọi Thứ
Mã GPU do con người viết là một kho nhỏ: hàng chục ngàn kernel nghiêm trọng, chủ yếu được viết và xem xét bởi các chuyên gia. Substrate có thể chịu các cạnh sắc vì con người biết chúng ở đâu.
Mã GPU do agent viết thể hiện khối lượng khác nhau về cơ bản.
Có khả năng hàng triệu kernel, ngày càng được chỉ đạo bởi các kỹ sư không phải là chuyên gia GPU. Một người xây dựng sản phẩm suy nghĩ về các đường dẫn suy luận không nên cần suy luận về các mẫu ghi dữ liệu bộ nhớ. Ngăn xếp nên xử lý điều đó.
Mà không có một compiler mạnh mẽ và runtime, bạn không nhận được đầu ra kỹ thuật 10 lần—bạn tăng gấp 10 lần số lần thất bại. Điều tạo thành "mã được tạo ra" thành "mã chạy được" ở quy mô là bộ công cụ. Loại bỏ nó và năng suất rõ ràng của agent sụp đổ thành các kernel bị hỏng.
CUDA Là Substrate Các Agent Đã Biết
Trong tất cả các substrate lập trình GPU, CUDA có kho lưu trữ công khai lớn nhất: kernel, tài liệu, thông báo lỗi, thập kỷ Stack Overflow, và ngữ nghĩa ổn định trong cửa sổ dài nhất.
Khi các mô hình biên giới được yêu cầu viết mã GPU, chúng xuất sắc ở CUDA bằng một lợi thế đáng kể.
Kế hoạch "phát ra mã native cho mỗi backend" vứt bỏ điều này. Nó yêu cầu mô hình thực hiện nhiệm vụ có hiệu suất tồi tệ nhất của nó trên mỗi backend ngoại trừ NVIDIA, phân mảnh phân phối huấn luyện mà nó có. Agent kết thúc yếu hơn ở tất cả chúng.
Rằng chiến lược tốt hơn: để agent viết substrate mà nó biết tốt (CUDA), và để compiler xử lý targeting. Năng lực của agent vẫn tập trung. Silica vẫn có thể hoán đổi được.
Khối Lượng Công Việc Của Compiler Đang Phát Triển, Không Phải Suy Giảm
Khi AI agents trở thành người tiêu dùng hạng nhất của ngăn xếp compiler, substrate phải phát triển:
- Chẩn đoán có thể phân tích bằng máy: Thông báo lỗi được thiết kế cho tiêu thụ LLM, không phải con người—ổn định lược đồ, dày đặc với thông tin có thể hành động
- Xây dựng tăng dần và các vòng lặp chặt chẽ: Làm cho khám phá rẻ ở quy mô
- Bề mặt autotuning: Mà các agent có thể lái từ đầu đến cuối
- Phản hồi dẫn hướng bằng hồ sơ: Mà các agent có thể hành động
- Nội tro thời gian chạy: Tiếp xúc hành vi thiết bị ở các hình thức mà các agent có thể suy luận
Lập Luận Kết Luận
Agentic AI không làm cho compiler lỗi thời. Nó nâng cao đòn bẩy của họ.
Nhà chiến thắng trong thời đại agent sẽ là các công ty có substrate mà các agent có thể nhắm mục tiêu mà không bao giờ cần suy nghĩ về phần cứng bên dưới. Ngữ nghĩa ổn định, chẩn đoán có cấu trúc, hành vi xác định, một mô hình tinh thần hoạt động ở mọi nơi—đây là những tính chất của compiler.
Não quyết định cần tính toán cái gì. Búa tạo ra mã để làm cho nó chạy. Với những compiler tốt hơn, các agent trở nên hiệu quả hơn, không phải ít hơn.