Một nghiên cứu mới giới thiệu benchmark SWE-Explore đã hé lộ một điểm nghẽn nghiêm trọng ở các tác nhân lập trình AI: mặc dù chúng có khả năng cao trong việc định vị các file chính xác trong kho lưu trữ, nhưng lại vật lộn để xác định những dòng mã chính xác cần thiết để giải quyết lỗi. Điều này đặt ra câu hỏi lớn về hiệu quả thực sự của AI trong việc sửa lỗi tự động. 🧐
Những Điểm Mấu Chốt 💡
* Khoảng cách Cấp độ Dòng: Mặc dù các tác nhân AI thành công trong việc định vị các file chính xác, nhưng chúng chỉ nắm bắt được trung bình 14% đến 19% mã liên quan ở cấp độ dòng. * Ngưỡng 50%: Việc sửa lỗi thường chỉ thành công khi một tác nhân xác định được ít nhất 50% đến 75% các dòng mã cần thiết. Dưới 50%, việc sửa chữa gần như luôn thất bại. * "Đọc Nhiều Hơn, Lọc Ít Hơn": Việc thiếu ngữ cảnh gây hại đến hiệu suất nhiều hơn là việc bao gồm mã không liên quan. Các hệ thống lập trình AI trong tương lai nên ưu tiên đọc rộng hơn thay vì lọc quá mạnh tay. * Tìm kiếm Từ khóa Không Hiệu quả: Tìm kiếm từ khóa truyền thống hầu như không hiệu quả hơn so với việc đoán mò, vì mô tả lỗi thường chứa các thuật ngữ xuất hiện thường xuyên hơn trong tài liệu và mẫu hơn là trong mã nguồn thực tế.
Vấn Đề Cốt Lõi: Tách Biệt Tìm Kiếm và Sửa Chữa 🛠️
Các benchmark thông thường (như SWE-bench gốc) chỉ đo lường đầu ra cuối cùng: Tác nhân có sửa được lỗi hay không? Chỉ số nhị phân này không thể chẩn đoán tại sao một tác nhân thất bại.
Quy trình thông thường: [Khám phá -> Vá lỗi -> Xác minh] ──> Tỷ lệ giải quyết duy nhất (Che giấu lỗi tìm kiếm) Quy trình SWE-Explore: [Khám phá Kho lưu trữ] ──> Chỉ số chất lượng độc lập (Phân lập tìm kiếm) SWE-Explore tách biệt giai đoạn tìm kiếm ban đầu. Nó đánh giá khả năng của một tác nhân nhận mô tả lỗi và một dự án phần mềm, sau đó trả về danh sách các phần mã liên quan được xếp hạng.
Phương Pháp Luận Benchmark SWE-Explore 🔬
* Kích thước Bộ dữ liệu: 848 vấn đề kỹ thuật phần mềm trên 203 dự án mã nguồn mở. * Phân bố Ngôn ngữ: 10 ngôn ngữ lập trình, chủ yếu là Python (547 tác vụ), tiếp theo là Go, JavaScript và Rust. * Xác lập Dữ liệu Chuẩn (Ground Truth): Để xác định những dòng nào thực sự quan trọng, các nhà nghiên cứu đã phân tích các đường dẫn giải pháp thành công từ các mô hình tiên tiến (bao gồm GPT-5.4, Gemini 3 Pro, Claude Sonnet 4.6 và Kimi K2.6). Các đoạn mà nhiều lần chạy thành công độc lập hội tụ được đánh dấu là "khu vực cốt lõi".
Phát Hiện Chính & Chỉ Số Hiệu Suất 📈
#### 1. Độ chính xác Cấp độ Dòng Giảm Sốc Trong khi các tác nhân lập trình đa năng (như Claude Code, Codex, OpenHands, Mini-SWE-Agent và AweAgent) hoạt động tốt trong việc xác định và xếp hạng các file chính xác, độ chính xác của chúng giảm mạnh ở cấp độ dòng: * Các tác nhân tổng quát chỉ bao phủ 14% đến 19% các dòng quan trọng. * Nâng cấp lên các LLM cơ bản mạnh hơn không giải quyết được vấn đề này; tỷ lệ truy cập cấp độ file vẫn cao trong khi độ bao phủ cấp độ dòng vẫn chắp vá. * Hầu hết các kiến trúc tác nhân tiêu chuẩn đạt điểm gần như giống hệt nhau trên các chỉ số này.
#### 2. Các Hệ thống Chuyên biệt & Ngoại lệ * CoSIL: Hệ thống nghiên cứu này là tác nhân nổi bật nhất. Bằng cách quét mã như một mạng lưới các khối xây dựng được kết nối thay vì văn bản phẳng, nó đạt được độ bao phủ dòng cao hơn đáng kể. * AutoCodeRover: Rất chính xác nhưng quá thận trọng. * OrcaLoca: Tạo ra rất ít nhiễu (mã không liên quan) nhưng lại bỏ lỡ quá nhiều điểm quan trọng.
"Hiệu Ứng Ngưỡng" Trong Sửa Lỗi 📉➡️📈
Thông qua các thí nghiệm kiểm soát, các nhà nghiên cứu đã thay đổi lượng ngữ cảnh cốt lõi được hiển thị cho các mô hình sửa chữa (0%, 25%, 50%, 75% và 100%), đôi khi kèm theo mã không liên quan.
Họ đã phát hiện ra một hiệu ứng ngưỡng rõ rệt: * Dưới 50% Độ bao phủ: Việc sửa chữa gần như luôn thất bại. Các bản sửa lỗi không cải thiện dần dần với nhiều ngữ cảnh hơn; chúng yêu cầu một lượng thông tin tới hạn trước khi mô hình có thể giải quyết vấn đề. * 50% đến 75% Độ bao phủ: Đây là điểm bùng phát nơi tỷ lệ thành công tăng vọt đáng kể đối với các tác vụ dễ dàng hơn. * Tác động của "Nhiễu": Khi các dòng quan trọng đã có mặt, việc thêm mã "nhiễu" không liên quan hầu như không có tác động tiêu cực đến hiệu suất của tác nhân.
> Thông tin Chi tiết Hữu ích cho Nhà phát triển AI: 🎯 > "Một tác nhân đọc quá ít sẽ hoạt động kém hơn một tác nhân đọc quá nhiều. Bài học rút ra cho những cải tiến trong tương lai rất rõ ràng: Lọc ít hơn, đọc nhiều hơn." 📚
Tài Nguyên Dự Án 🔗
Bộ dữ liệu, mã nguồn và công cụ đánh giá được cung cấp công khai: * Bài báo: arXiv:2606.07297 * Mã nguồn: GitHub - SWE-Explore-Bench * Bộ dữ liệu: Hugging Face - SWE-Explore-Bench