Node.js Đề Xuất Tích Hợp Hệ Thống Tệp Ảo (VFS): Cải Tiến Công Năng Hay Rủi Ro Từ AI?

Phần mềm25 tháng 5, 2026·4 phút đọc

Matteo Collina, thành viên Ban điều hướng kỹ thuật của Node.js, đã chính thức đề xuất thêm module Hệ thống tệp ảo (VFS) vào nhân của Node.js. Đề xuất này nhằm giải quyết các bài toán I/O phức tạp như chạy test và sandboxing, nhưng đang vấp phải tranh cãi lớn do phần lớn mã nguồn được xây dựng bởi công cụ AI.

Node.js Đề Xuất Tích Hợp Hệ Thống Tệp Ảo (VFS): Cải Tiến Công Năng Hay Rủi Ro Từ AI?

Matteo Collina, thành viên Ban điều hướng kỹ thuật (Technical Steering Committee) của Node.js và đồng sáng lập Platformatic, đã đề xuất đưa Hệ thống tệp ảo (Virtual File System - VFS) thành một thành phần hạng nhất trong nhân Node.js thông qua module mới có tên node:vfs.

Đề xuất này, được gửi dưới dạng Pull Request (PR) #61478 trên kho lưu trữ GitHub của Node.js, bao gồm khoảng 19.000 dòng mã trải rộng trên 100 tệp. Không chỉ gây tranh luận về tính năng kỹ thuật, dự án còn trở thành tâm điểm của một cuộc tranh luận lớn hơn về vai trò của AI trong phát triển phần mềm nguồn mở.

Giải quyết các thách thức về I/O

Node.js từ lâu đã xây dựng danh tiếng dựa trên khả năng I/O, với các luồng (streams), bộ đệm (buffers), socket và tệp tin forming xương sống của runtime. Tuy nhiên, các luồng công việc phổ biến như chạy mã do AI tạo ra, thực thi kiểm thử mà không cần chạm vào ổ cứng, đóng gói Ứng dụng thực thi đơn lẻ (Single Executable Applications - SEAs) và cô lập quyền truy cập tệp trên các nền tảng đa thuê bao thường đòi hỏi các giải pháp xử lý phức tạp.

Module node:vfs được đề xuất nhằm giải quyết cả bốn vấn đề này bằng cách cung cấp một API tương thích với fs (hệ thống tệp) nhưng hoạt động hoàn toàn trên bộ nhớ (in-memory). Nó hỗ trợ các điểm gắn kết (mount points), chế độ chồng lấp (overlay mode), liên kết tượng trưng (symlinks) và các hook để tải module.

Cùng với đề xuất chính, Platformatic đã phát hành gói @platformatic/vfs dưới dạng thư viện người dùng (userland package) trên npm, sẵn sàng sử dụng cho Node.js phiên bản 22 trở lên hiện nay. Gói này phản chiếu API được đề xuất cho nhân, cho phép việc di chuyển (migration) trong tương lai trở nên cực kỳ đơn giản: chỉ cần thay đổi import từ @platformatic/vfs thành node:vfs. Độc lập với đó, Vercel cũng đã trích xuất cùng một API vào gói node-vfs-polyfill của họ, và LangChain đã áp dụng VFS cho việc sandboxing agent thông qua @langchain/node-vfs.

Sự ủng hộ từ cộng đồng lập trình viên

Tính năng mới này đã thu hút sự ủng hộ từ các nhà phát triển, những người nhìn thấy lợi ích rõ ràng. Trên Hacker News, một người bình luận nhận xét rằng các công cụ như Yarn, pnpm hay webpack đều đã có giải pháp cho vấn đề này, và việc tiêu chuẩn hóa VFS trong Node.js là một tin tuyệt vời. Họ chia sẻ trường hợp dự án của mình chạy 13.000 bài kiểm thử mất tới 40 phút, nhưng với hệ thống tệp ảo tích hợp sẵn, thời gian này có thể giảm xuống còn 3 phút.

Trên Hashnode, nhà phát triển Jake Morrison cũng làm nổi bật trường hợp sử dụng cho AI agent: "Tôi từng viết mã được tạo ra vào các tệp tạm và sau đó dọn dẹp sau đó, điều này luôn cảm thấy sai sai. Việc giữ mã trong bộ nhớ và import trực tiếp thì hợp lý hơn nhiều."

Tranh cãi về mã nguồn do AI tạo ra

Tuy nhiên, PR này đã trở thành nơi tập trung của một cuộc tranh luận rộng hơn. Collina đã công khai thừa nhận rằng việc triển khai được xây dựng với sự hỗ trợ đáng kể từ AI (cụ thể là Claude Code) trong mùa Giáng sinh 2025. Ông stated rằng ông "để AI xử lý các phần tẻ nhạt" trong khi tập trung vào kiến trúc, thiết kế API và xem xét từng dòng mã.

Để phản hồi, Fedor Indutny, một người đóng góp lõi lâu năm của Node.js (người nổi tiếng với việc khởi tạo bản fork io.js), đã tung ra một kiến nghị trên GitHub kêu gọi cấm mã nguồn do AI tạo ra trong nhân Node.js. Kiến nghị lập luận rằng quy mô của PR này (19.000 dòng) gây lo ngại về Chứng chỉ Nguồn gốc Nhà phát triển (Developer Certificate of Origin - DCO) và khả năng của người đánh giá (reviewer) trong việc xác minh mã do máy tạo ra.

Trên Reddit, Indutny viết: "Tôi tin chắc rằng cơ sở hạ tầng quan trọng như Node.js không phải là nơi cho những thay đổi như vậy."

Tuy nhiên, cũng có những ý kiến phản bác. Một số người dùng Hacker News cho rằng "nếu có ai đó tôi tin tưởng để khám phá những hướng đi này, thì đó chính là anh ấy và những người bảo trì đang làm việc chăm chỉ trong kho lưu trữ Node.js trong vài năm qua."

Hiện tại, neither Bun hay Deno chưa cung cấp VFS tích hợp tương đương. Deno đã mở vấn đề #32783 để theo dõi việc thêm tính tương thích node:vfs. Bun, vốn dẫn đầu các điểm chuẩn về thông lượng hệ thống tệp thô, chưa công bố kế hoạch tương tự. Ban điều hướng kỹ thuật của Node.js dự kiến sẽ bỏ phiếu về các chính sách chi phối các đóng góp được hỗ trợ bởi AI, điều này sẽ quyết định số phận của PR này.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗