Quay lại danh sách

Nhà Toán Học Đoạt Fields Giao Java Applet Năm 1999 Cho Claude Code — Và Nó Tìm Ra Những Lỗi Ông Chưa Từng Biết

Đăng ngày 13 thg 7, 20265 phút đọc
AI AgentsDeveloper ToolsGenAI

Một Nhà Toán Học Đoạt Fields Dành Cả Cuối Tuần Debug Cùng Claude Code

Ngày 11/7/2026, Terence Tao — nhà toán học tại UCLA, người giành Huy chương Fields năm 2006 và trong hai năm qua trở thành một trong những gương mặt ủng hộ AI hỗ trợ toán học rõ ràng nhất — đăng một bài blog với tiêu đề khá bình thường: "Old and new apps, via modern coding agents" (Ứng dụng cũ và mới, qua các coding agent hiện đại). Ngay sáng hôm sau, bài viết đã leo lên vị trí #1 trên Hacker News. Điều khiến một bài viết về migrate code cũ trở nên viral không phải là phần toán học — mà là những gì thử nghiệm này hé lộ về việc một coding agent thực sự có thể được tin tưởng đến đâu với đoạn code mà chẳng ai động tới suốt nhiều thập kỷ.

Hai Mươi Bốn Applet, Hai Mươi Bảy Năm, Một Lần Chuyển Ngôn Ngữ

Trang web của Tao lưu giữ khoảng hai chục Java applet tương tác mà ông viết từ năm 1999 — các công cụ trực quan hóa cho giải tích phức, lý thuyết số và nhiều chủ đề khác ông từng dùng trong giảng dạy. Java applet đã "chết" trên mọi trình duyệt hiện đại từ nhiều năm nay, nên các minh họa này âm thầm ngừng hoạt động từ lâu. Dùng Claude Code, Tao dành vài ngày để chuyển toàn bộ tập applet từ Java 1.0 sang JavaScript — công việc mà bình thường sẽ đòi hỏi thuê một contractor am hiểu một phương ngữ Java từ hai mươi lăm năm trước, hoặc đơn giản là bỏ cuộc, coi như mất luôn.

Agent Tạo Ra Một Lỗi Mới — Nhưng Tìm Ra Hai Lỗi Không Ai Từng Biết

Theo chính lời kể của Tao, kết quả gần như huề vốn về độ chính xác. Quá trình port phát sinh đúng một lỗi nhỏ mới: một trình xử lý sự kiện kéo (drag event) trong một applet giải tích phức hoạt động sai khi con trỏ di chuyển ra ngoài vùng applet. Bù lại, agent phát hiện hai lỗi có thật trong chính code gốc năm 1999 của Tao — những lỗi mà ông chưa từng nhận ra suốt hai mươi bảy năm applet được công khai trực tuyến. Đây chính là chi tiết khiến giới kỹ sư chú ý: một bản re-implementation trung thực, thực hiện bởi một agent không có bối cảnh chuyên môn nào ngoài đoạn code nguồn nó đang dịch, lại đóng vai trò như một lượt review code độc lập cho phần toán học đã nằm yên từ trước khi phần lớn sinh viên CNTT hiện nay ra đời.

Từ Bản Phác Thảo Bị Bỏ Dở Năm 1999 Đến Một Spacetime Diagram Được Xuất Bản

Phần đáng chú ý hơn của bài viết không nằm ở việc migrate, mà ở dự án mới Tao xây dựng song song. Năm 1999, ông từng phác thảo ý tưởng một công cụ trực quan hóa thuyết tương đối hẹp, thứ ông mô tả là "Inkscape, nhưng trong không gian Minkowski", rồi gác lại vì cho là quá tham vọng để tự mình làm một mình. Hai mươi bảy năm sau, cùng với Claude Code, ông hoàn thành nó: một applet spacetime-diagram 1+1 chiều hiện đã có mặt trên trang của ông. Tao công bố bản transcript đầy đủ, được chọn lọc, của toàn bộ cuộc hội thoại với Claude Code đã tạo ra công cụ này — từ bản phác thảo thô đầu tiên đến khi xuất bản — một cái nhìn hiếm hoi, không qua chỉnh sửa, về việc một phiên làm việc agentic coding kéo dài với một nhà toán học đang hoạt động thực sự diễn ra như thế nào, từng bước một.

Vì Sao Câu Chuyện Này Khác Với Một Bài Benchmark Thông Thường

Phần lớn các cuộc thảo luận về coding agent năm nay xoay quanh điểm benchmark và đường cong áp dụng doanh nghiệp — tỷ lệ SWE-bench, khảo sát của JetBrains cho thấy tỷ lệ dùng Claude Code trong giới developer tăng từ khoảng 3% giữa năm 2025 lên 18% vào tháng 1/2026, hay các con số doanh thu. Bài viết của Tao cắt ngang tất cả những thứ đó bằng một điều mà benchmark không thể nắm bắt: một chuyên gia trong lĩnh vực, không có động cơ trở thành người truyền giáo cho AI, sử dụng công cụ trên chính đoạn code ông thực sự quan tâm, công khai, kèm theo cả transcript. Nó đọc như một bằng chứng cho một tuyên bố mà ngành công nghiệp vẫn đưa ra với nhiều niềm tin hơn là bằng chứng cụ thể — rằng agent giờ đây đủ tin cậy để giao một codebase xa lạ, không tài liệu, đã hàng chục năm tuổi, và nhận lại kết quả ít nhất cũng chính xác như những gì một con người làm ra khi bắt đầu từ số 0.

Ý Nghĩa Với Các Đội Đang Ôm Code Cũ

Bài học thực tế cho các đội kỹ thuật không phải là "hãy để agent tự viết lại toàn bộ hệ thống legacy mà không giám sát." Nó hẹp hơn và hữu ích hơn nhiều: một bản port trung thực từ ngôn ngữ này sang ngôn ngữ khác của một module được định nghĩa rõ ràng, độc lập, giờ đây là việc đáng giao cho coding agent làm ở lượt đầu tiên — chính vì việc re-implementation buộc agent phải suy luận qua từng dòng thay vì chỉ pattern-match xung quanh nó, và đó chính xác là đặc tính đã giúp lộ ra hai lỗi ngủ quên của Tao. Hãy coi bản port đó như một tài liệu để review, so sánh hành vi với bản gốc, và dành thời gian con người cho việc review, không phải cho việc viết lại.

Kết Luận

Một nhà toán học đoạt Huy chương Fields chỉ mất vài ngày để Claude Code hồi sinh code từ năm 1999 và hoàn thành một dự án đã gác lại từ trước khi Java ra mắt phiên bản thứ hai. Số lỗi phát sinh và số lỗi được tìm ra gần như cân bằng nhau, transcript được công khai, và điều khiến câu chuyện lan tỏa trên Hacker News không phải là việc port thành công — mà là hai lỗi mà một con người bỏ sót suốt hai mươi bảy năm, còn một cỗ máy thì không.