Kiểm tra Cơ Bản
Một trong các bài kiểm tra đơn giản nhất mà bạn có thể thực hiện trên cơ sở dữ liệu là tra cứu khoá chính trên 100 hàng. SQLite mất 0,09 ms, nhưng mã Rust do LLM tạo ra mất 1.815,43 ms.
Sự Khác Biệt Trong Hiệu Suất
Đừng nhầm lẫn, điều này có nghĩa mã viết lại bằng Rust chậm hơn 20.171 lần so với SQLite cho một trong những thao tác cơ bản nhất.
Lưu ý: Nhiều độc giả đã nhầm lẫn dự án này với Turso/libsql. Chúng không liên quan nhau.
Mã Khả Dụng Nhưng Sai Lầm
Mã do LLM tạo ra khi nhìn lần đầu có vẻ là một cơ chế cơ sở dữ liệu hoạt động, nhưng không phải vậy. Bản chất của LLM là tối ưu hóa cho sự hợp lý trên sự chính xác.
Những Quyết Định Cẩn Trọng Sai Lầm
- Cloning AST trên mỗi cache hit. SQL parse được lưu, nhưng AST được
.clone()trên mỗi thực thi, rồi tái biên dịch từ đầu. - Cấp phát heap cho mỗi lần đọc. SQLite trả về pointer trực tiếp trong bộ nhớ cache không cần sao chép.
- Nạp lại schema trên mỗi autocommit. SQLite chỉ nạp lại khi có thay đổi.
Các quyết định trên đều có lý do hợp lý nhưng hệ quả là giảm hiệu năng xuống gần 2.900 lần trong tiêu chuẩn này.
Vấn Đề Với LLM
Mô hình LLM được huấn luyện để tối ưu cho sự hợp lý hơn là kiểm tra sự khác biệt cụ thể giữa mô hình và thực tế. Sự chênh lệch này gây ra vấn đề khi mã không kiểm định kỹ.
Tìm Hiểu Hiện Tượng & Kết Luận
Khả năng LLM tạo ra mã nhìn qua thì đúng nhưng không đủ chính xác là một vấn đề nghiêm trọng. Nhà phát triển cần đặt tiêu chuẩn và kiểm tra mã một cách kỹ lưỡng để đảm bảo chất lượng và tính chính xác.