Nghiên cứu
MirrorCode: Bước tiến mới trong kiểm thử khả năng lập trình độc lập của AI
(giờ Việt Nam)
Tóm tắt AI
MirrorCode là bộ tiêu chuẩn đánh giá AI thực hiện các dự án phần mềm quy mô lớn mà không cần truy cập internet hay mã nguồn. Claude Opus đã chứng minh khả năng vượt trội khi hoàn thành dự án 16.000 dòng code chỉ trong 14 giờ, thay vì hàng tuần như con người.
Bản dịch AI

AI đã đạt được những tiến bộ vượt bậc trong các tiêu chuẩn đánh giá (benchmarks) về kỹ thuật phần mềm trong vài năm qua. Tuy nhiên, hầu hết các tiêu chuẩn này thường tập trung vào những tác vụ ngắn hạn như sửa lỗi hoặc triển khai các tính năng đơn lẻ. MirrorCode là tiêu chuẩn đánh giá của chúng tôi, được đồng phát triển với METR, nhằm kiểm tra các mô hình AI trên những tác vụ lập trình dài hạn. Trong một tác vụ MirrorCode, các mô hình AI được yêu cầu tái triển khai toàn bộ một chương trình từ đầu đến cuối mà không được truy cập vào mã nguồn gốc. Các giải pháp do AI tạo ra phải khớp chính xác với đầu ra của chương trình gốc trong các bài kiểm tra toàn trình (end-to-end), bao gồm cả các bài kiểm tra ẩn (held-out tests). 25 chương trình mục tiêu của MirrorCode bao gồm nhiều lĩnh vực tính toán khác nhau: tiện ích Unix, công cụ tuần tự hóa và truy vấn dữ liệu, tin sinh học, trình thông dịch, phân tích tĩnh, mật mã học và nén dữ liệu.
MirrorCode khác biệt như thế nào
Đánh giá dựa trên quy mô (Scale-aware evaluations)
Quan trọng hơn cả, chúng tôi cung cấp ngân sách suy luận (inference budget) đủ lớn để thực hiện các tác vụ MirrorCode một cách nghiêm túc. Nhiều tiêu chuẩn đánh giá kỹ thuật phần mềm hiện nay giới hạn chi phí suy luận ở mức khoảng 1–10 USD, ngay cả khi tác vụ đó có thể mất hàng tuần để một con người hoàn thành. Ví dụ, một trong những tác vụ lớn nhất của MirrorCode tiêu tốn 2.600 USD cho một lần chạy và đòi hỏi AI làm việc trong 19 ngày mà không có sự can thiệp của con người.
Khó khăn nhưng công bằng
Việc tái triển khai toàn bộ các chương trình là cực kỳ thách thức đối với các kỹ sư phần mềm con người. Chúng tôi tin rằng một kỹ sư con người nếu không có sự hỗ trợ của AI sẽ mất hàng tháng để giải quyết các tác vụ MirrorCode phức tạp nhất. Tuy nhiên, các tác vụ MirrorCode vẫn khả thi; chúng tôi biết rằng có đủ thông tin để đảm bảo tính công bằng cho các tác vụ này.
Thiết kế chống gian lận
Chúng tôi đưa các mô hình AI vào môi trường sandbox, yêu cầu chúng thực hiện công việc mà không được truy cập internet, không được truy cập vào codebase gốc và không có cách nào để gian lận. Có các bài kiểm tra toàn trình mà các mô hình không bao giờ nhìn thấy trong quá trình phát triển mã, vì vậy chúng không thể chỉ đơn giản tạo ra một bảng tra cứu để bắt chước đầu ra của chương trình gốc.
AI đã có thể thực hiện một số tác vụ lập trình dài hạn
AI đã có thể giải quyết các tác vụ MirrorCode dài hạn, bất chấp độ khó của chúng. Ví dụ, Claude Opus 4.7 đã tái triển khai gotree: một bộ công cụ tin sinh học với khoảng 16.000 dòng mã Go và hơn 40 lệnh. Chúng tôi tin rằng tác vụ tương tự này sẽ mất từ 2–17 tuần nếu một kỹ sư con người thực hiện mà không có sự hỗ trợ của AI. Opus 4.7 đã giải quyết nó trong 14 giờ với chi phí 251 USD.
Một lưu ý quan trọng đối với các kết quả này là sự nhiễm bẩn dữ liệu (data contamination). Vì các tác vụ MirrorCode liên quan đến việc tái triển khai các chương trình mã nguồn mở, các mô hình AI có khả năng đã nhìn thấy các codebase gốc trong quá trình tiền huấn luyện. Điều này có thể dẫn đến hiệu suất bị thổi phồng trên tiêu chuẩn đánh giá. Tuy nhiên, AI đã tái triển khai thành công một số chương trình mục tiêu vượt qua bộ lọc ghi nhớ (memorization screen) của chúng tôi, và thất bại trong việc tái triển khai các chương trình mà bộ lọc cho thấy bằng chứng của việc ghi nhớ. Điều này cho thấy kết quả không bị chi phối bởi việc ghi nhớ, nhưng chúng tôi không thể loại trừ khả năng việc ghi nhớ góp phần vào hiệu suất của AI. Nhìn chung, chúng tôi kỳ vọng rằng các năng lực được đo lường bởi MirrorCode sẽ có khả năng tổng quát hóa sang một codebase chưa từng thấy. Chúng tôi thảo luận sâu hơn về vấn đề này, cùng với các kết quả và chi tiết về việc xây dựng tiêu chuẩn đánh giá, trong bài báo.
Bảng xếp hạng (Leaderboard)
MirrorCode vẫn chưa được giải quyết hoàn toàn. Đối với bảng xếp hạng được cập nhật thường xuyên của mình, chúng tôi báo cáo MirrorCode (ML, +Private, 2L). Điều này có nghĩa là chúng tôi chạy 15 chương trình mục tiêu từ các nhóm Medium (Trung bình) và Large (Lớn), và loại bỏ nhóm Small (Nhỏ). Mỗi chương trình mục tiêu được đánh giá bằng hai ngôn ngữ triển khai (thường là Go và Ada), tạo ra 30 tác vụ. Chúng tôi chạy mỗi tác vụ ba lần, với ngân sách 10 tỷ token và 7 ngày cho mỗi lần thử.
Mã nguồn mở
Chúng tôi phát hành khung (scaffold) và 22 trong số 25 chương trình mục tiêu của MirrorCode (tổng cộng 132 trường hợp tác vụ trên sáu ngôn ngữ lập trình được hỗ trợ) dưới dạng mã nguồn mở, với ba mục tiêu còn lại được giữ làm tập kiểm tra riêng (private test set).
Công trình này được đồng phát triển với METR và được hỗ trợ bởi một khoản tài trợ từ METR. Các tác giả của MirrorCode là Tom Adamczewski, David Owen và David Rein. Florian Brand, Giles Edkins, Allen Hart và Daniel O’Connell đã đóng góp thêm các chương trình mục tiêu. Rasmus Faber-Espensen đã thực hiện những cải tiến quan trọng về cơ sở hạ tầng và đưa ra lời khuyên về kỹ thuật.
Ghi chú
Các bản triển khai gotree đạt điểm cao nhất của AI đã vượt qua 2000/2001 bài kiểm tra, nhưng thất bại ở một bài kiểm tra trường hợp biên (edge-case) cho một lệnh chuyên biệt để thao tác với các chú thích ngày tháng. Do đó, chúng không giải quyết triệt để tác vụ đến 100%, nhưng chúng tôi coi việc tái triển khai này là gần như hoàn hảo, bao phủ về cơ bản tất cả các chức năng trong phạm vi.
Xem các định nghĩa trong phần “Quy ước đặt tên đề xuất” của bài báo. “+Private” cho biết tập kiểm tra riêng đã được bao gồm: ở đây là private_M và private_L, các mục tiêu riêng trong nhóm Medium và Large. Theo ánh xạ 2L, các chương trình mục tiêu thường sử dụng Go và Ada (một ngôn ngữ phổ biến và một ngôn ngữ ít tài nguyên), với hai ngoại lệ. Các điểm số này không thể so sánh trực tiếp với bài báo, vốn đã đánh giá tất cả 25 chương trình mục tiêu, sử dụng tất cả 6 ngôn ngữ triển khai tác nhân trên các nhóm Small và Medium, và cấp cho mỗi lần thử ngân sách 1 tỷ token ngoại trừ các mục tiêu Large, không giới hạn thời gian.
Bài viết được AI dịch và tổng hợp tự động từ Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung). Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.