Một công cụ gỡ lỗi dùng AI với cách tiếp cận khác lạ vừa được giới thiệu: thay vì đưa ngay cách sửa, hệ thống sẽ liên tục đặt câu hỏi để lập trình viên tự lần ra nguyên nhân lỗi. Mục tiêu của công cụ này là giảm sự phụ thuộc vào AI trong quá trình gỡ lỗi và buộc người dùng phải tự phân tích vấn đề.
Theo Gigazine (Nhật Bản) ngày 27/10, dự án mã nguồn mở Nietzschian Debugger đã được công bố trên GitHub. Công cụ được thiết kế nhằm giúp lập trình viên rèn luyện năng lực tự xử lý lỗi thay vì chỉ nhận đáp án từ AI.
Dự án xuất phát từ lo ngại rằng việc phụ thuộc vào mã do AI gợi ý có thể làm suy giảm kỹ năng giải quyết vấn đề của lập trình viên. Tên gọi Nietzschian Debugger được lấy cảm hứng từ triết gia Đức Friedrich Nietzsche, phản ánh quan điểm con người trưởng thành thông qua quá trình vượt qua khó khăn.
Trong một nghiên cứu do Anthropic công bố hồi tháng 1, nhóm lập trình viên có sử dụng AI để hỗ trợ viết mã đạt mức điểm đánh giá độ hiểu thấp hơn nhóm tự viết. Cụ thể, điểm trung bình của nhóm dùng AI là 50%, trong khi nhóm không dùng AI đạt 67%. Tuy vậy, đây chỉ là một thử nghiệm ngắn hạn với 52 người tham gia, nên chưa đủ cơ sở để kết luận AI làm suy giảm năng lực phát triển phần mềm trong dài hạn.
Cách hoạt động của Nietzschian Debugger khá đơn giản. Khi lập trình viên nhập lỗi hoặc mô tả sự cố, AI sẽ không đưa ra đoạn mã sửa trực tiếp mà đặt câu hỏi để người dùng tự truy vết nguyên nhân.
Chẳng hạn, nếu người dùng nêu tình huống một số tài khoản gặp lỗi đăng nhập, công cụ sẽ hỏi điểm khác biệt giữa nhóm đăng nhập bình thường và nhóm gặp lỗi. Nếu lập trình viên trả lời rằng lỗi xảy ra ngẫu nhiên, hệ thống sẽ tiếp tục hướng người dùng kiểm tra log máy chủ, thông tin xác thực và các yếu tố liên quan. Dựa trên từng câu trả lời, AI sẽ đặt thêm câu hỏi để giúp người dùng tự tìm ra căn nguyên của sự cố.
Cơ chế đặt câu hỏi của công cụ được chia thành ba phong cách gồm Socrates, Nietzsche và Zarathustra. Ba phong cách này lần lượt tập trung vào việc làm rõ các mô tả còn mơ hồ, kiểm tra những giả định có thể sai của lập trình viên và khuyến khích người dùng không bỏ cuộc khi xử lý sự cố.
Nietzschian Debugger cũng có thể đọc mã nguồn thực tế để đưa ra câu hỏi phù hợp, đồng thời đánh giá khả năng kiểm chứng giả định và thu thập bằng chứng của lập trình viên. Lịch sử hội thoại được lưu cục bộ.
Dù vậy, đây không phải là công cụ loại bỏ hoàn toàn AI. Hệ thống mặc định sử dụng Claude của Anthropic, và ở phiên bản mới nhất đã hỗ trợ thêm nhiều mô hình AI khác, bao gồm cả các mô hình chạy cục bộ.
Theo nhà phát triển, mục tiêu của dự án là “không để AI tìm đáp án thay lập trình viên, mà buộc lập trình viên phải tự suy nghĩ”.