1 điểm bởi GN⁺ 4 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Đã dùng AI coding agent hiện đại để chuyển khoảng 24 applet toán học Java 1.0 đã ngừng được hỗ trợ sang JavaScript, đồng thời hoàn thiện cả các công cụ trực quan hóa trước đây chưa thể triển khai
  • Các applet cũ được khôi phục chỉ trong vài giờ; cũng có các cải tiến đồ họa như hiển thị màu cho tập Besicovitch và tái triển khai applet honeycomb từng được tạo cùng Allen Knutson năm 1999
  • Trong quá trình chuyển đổi, bug do agent tạo ra chỉ là 1 vấn đề nhỏ liên quan đến xử lý thao tác kéo; ngược lại, agent phát hiện 2 bug chưa được xác nhận trong mã cũ, nên chất lượng mã tổng thể vẫn ở mức tương đương
  • Ý tưởng “Inkscape cho không gian Minkowski” từng bị bỏ dở năm 1999 vì độ phức tạp đã được hiện thực hóa thành phiên bản alpha của ứng dụng trực quan hóa thuyết tương đối hẹp chỉ sau vài giờ vibe coding; công cụ trực quan hóa giả thuyết Gilbreath cũng được tạo mới
  • Với các trực quan hóa phụ trợ không phải phần cốt lõi của lập luận toán học, rủi ro do bug trong mã do LLM sinh ra tương đối thấp, nên có thể dùng làm tài liệu bổ sung tương tác cho các bài báo trong tương lai

Khởi đầu và sự gián đoạn của các applet Java 1.0

  • Từ năm 1999, tác giả quan tâm đến cách dùng máy tính để nghiên cứu và giảng dạy toán học, và đã phát triển nhiều applet bằng Java 1.0 cho các bài giảng giải tích phức và đại số tuyến tính
  • Ngoài giảng dạy, các applet cũng được dùng để trực quan hóa nhiều đối tượng toán học, bao gồm honeycomb và tập Besicovitch
  • Dù đạt được một số kết quả, việc tự lập trình đòi hỏi nhiều thời gian; khi các chuẩn web không còn hỗ trợ phiên bản Java đó, các applet ngừng hoạt động

Chuyển sang JavaScript bằng AI

  • Khi chuyển các trang web và dữ liệu blog cũ sang một kho lưu trữ dễ bảo trì hơn, tác giả tận dụng hỗ trợ AI hiện đại
  • Như một thử nghiệm, tác giả yêu cầu agent chuyển các applet hiện có sang một ngôn ngữ hiện được hỗ trợ, và cuối cùng chọn JavaScript
  • Khoảng 24 applet cũ đã hoạt động trở lại chỉ trong vài giờ, và một số phần đồ họa cũng được cải thiện

Bug mới và phát hiện lỗi trong mã cũ

  • Coding agent dựa trên LLM có thể tạo ra các bug rõ ràng hoặc tinh vi, nhưng vấn đề mới được phát hiện trong lần chuyển đổi này chỉ là 1 bug nhỏ
    • Ở một applet giải tích phức, hành vi không mong muốn xảy ra khi kéo ra ngoài vùng chính
  • Ngược lại, agent đã tìm ra 2 bug chưa được xác nhận ẩn trong mã cũ; nếu xét cùng các điểm này, chất lượng mã tổng thể ở mức tương đương
  • Các applet này là tư liệu trực quan phụ trợ, không phải thành phần cốt lõi của lập luận toán học, nên ngay cả khi có bug, rủi ro đi kèm cũng tương đối thấp

Công cụ thuyết tương đối hẹp từng bị bỏ dở năm 1999

  • Khi việc chuyển đổi các ứng dụng cũ diễn ra không quá khó khăn, tác giả cũng thử tạo ứng dụng mới
  • Năm 1999, tác giả từng hình dung một công cụ trực quan hóa thuyết tương đối hẹp giống “Inkscape cho không gian Minkowski”, nhưng khi đó Inkscape thậm chí còn chưa ra mắt
  • Tác giả đã bắt đầu viết mã Java nhưng phải bỏ dự án vì khó kiểm soát độ phức tạp
  • Sau vài giờ vibe coding với AI agent, tác giả đã triển khai applet biểu đồ không-thời gian khớp với ý tưởng khi đó
  • Tóm tắt cuộc trò chuyện khi tạo ứng dụng cũng được công khai; nhiều báo cáo triển khai kỹ thuật lặp lại đã bị loại bỏ trong quá trình biên tập
  • Ứng dụng hiện là phiên bản alpha mới chỉ qua một số playtest, nên do đặc thù mã do LLM sinh ra, có thể vẫn còn bug chưa được xử lý và các phần thô cần thêm phản hồi

Trực quan hóa giả thuyết Gilbreath

Dùng làm tài liệu bổ sung tương tác cho bài báo

  • Tác giả cân nhắc bổ sung trực quan hóa tương tác làm tài liệu bổ sung cho các bài báo trong tương lai
  • Vì các trực quan hóa này không thiết yếu đối với phần cốt lõi của bài báo, rủi ro do lỗi có thể chấp nhận được ngay cả khi chúng được tạo thông qua tương tác có hướng dẫn với LLM agent

1 bình luận

 
Ý kiến trên Hacker News
  • Tài liệu trực quan hóa bằng LLM đã giúp cải thiện đáng kể các lớp khoa học máy tính: https://htmx.org/essays/universities-and-ai/#demos-visualiza...
    Giờ đây đã có thể làm được những tài liệu vốn luôn muốn tạo nhưng không có thời gian, và với sự trợ giúp của Claude, còn thiết kế được một máy tính 8-bit đơn giản để bổ sung cho máy tính giáo dục 16-bit hiện có chỉ trong vài ngày: https://bdp.cs.montana.edu/

    • Việc triển khai các tính năng bổ sung mà trước đây luôn muốn làm nhưng không có thời gian là một cách dùng LLM rất hiệu quả. Đặc biệt, mã trực quan hóa không nhất thiết phải có cấu trúc hoàn hảo hay dễ bảo trì, miễn là cho ra kết quả trực quan đúng, và LLM rất giỏi trong việc lặp đi lặp lại để chỉnh cho đến khi đạt hình dạng mong muốn
    • Khi đọc các bài báo toán học, có thể dùng LLM để tạo trực quan hóa. Nếu yêu cầu “hãy trực quan hóa từng phần của bài viết này theo phong cách video 3Blue1Brown bằng manim”, kết quả thu được khá ấn tượng
      Nhờ vậy có thể tiếp thu nội dung nhanh hơn và đọc được nhiều bài báo hơn trước
    • Việc viết và chỉnh sửa các lệnh và tham số của PIL bằng LLM giúp tiết kiệm hàng giờ
    • Nhìn vào bài viết về việc thay đổi tỷ trọng điểm số https://acbart.github.io/2026/04/19/proctored-grades/ thì có vẻ là phân bổ khoảng 50-50. Vậy có nghĩa là sinh viên chỉ đạt 40% ở tất cả các bài quiz vẫn có thể qua môn với điểm C- sao?
    • Trong một lớp vi điều khiển, giảng viên đã trực tiếp vẽ lên bảng các thanh ghi, bộ nhớ và lệnh của máy tính 8-bit để giải thích, và việc hiểu được cơ chế hoạt động bên trong rất thú vị
      Khi đó đã nghĩ rằng sẽ thật tốt nếu có thể mô phỏng nhiều hơn những gì được dạy. Giáo dục là quá trình phân rã đối tượng thành các thành phần và xem cách chúng tương tác, nên một mô phỏng được vibe coding có thể là công cụ rất tốt
  • Nếu Terry Tao tạo ứng dụng bằng coding agent, thì giờ chỉ còn cách ngày các nhà đoạt Fields Medal cũng như chúng ta đi hỏi LLM tại sao container Docker không khởi động một bước nữa thôi

    • Ngay cả trước thời LLM cũng đã có Martin Hairer, một người đoạt Fields Medal làm phần mềm chuyên nghiệp: https://en.wikipedia.org/wiki/Martin_Hairer, https://www.hairersoft.com/
    • Cứ tưởng AI sẽ kéo mọi người lên đỉnh cao, nhưng hóa ra lại là đưa những người giỏi nhất xuống tầm với của chúng ta
    • Ngược lại, đang chờ đến ngày coding agent hỏi Terry Tao rằng chứng minh mà nó định làm có xứng đáng nhận Fields Medal hay không
  • Đặc biệt là ngoài các lĩnh vực phần mềm truyền thống, nhu cầu phần mềm tiềm năng gần như vô hạn. Ngay cả khi tiến bộ của LLM dừng lại từ hôm nay, cũng sẽ mất 10 năm để tận dụng hết năng lực viết phần mềm mới xuất hiện, và trường hợp này cho thấy điều đó rất rõ

  • Kết luận rằng “các tài liệu bổ trợ tương tác tạo bằng LLM không phải yếu tố cốt lõi thiết yếu của bài báo, nên có thể chấp nhận rủi ro khi tạo các trực quan hóa như vậy thông qua tương tác được dẫn dắt với agent” nghe khá cân bằng
    LLM là công cụ, có việc phù hợp và có việc không phù hợp, và nhìn chung không nên tin nguyên xi kết quả của nó

    • Kết quả từ agent LLM luôn cần được kiểm chứng, nhưng cũng hơi buồn cười khi vừa bảo đừng nhân cách hóa AI lại vừa dùng từ mang tính nhân cách hóa như niềm tin. Khi mô hình và công cụ thực thi được cải thiện, đồng thời quy trình làm việc hiệu quả được hình thành, mức độ tin cậy vào AI đang tăng rất nhanh
      Người ta tin dùng búa với đinh nhưng không dùng cho vít, nhưng cũng không vì thế mà nói búa nói chung là không đáng tin. Khó khăn với AI là ta vẫn chưa biết cái gì là đinh và cái gì là vít
      Thay vì chỉ nói đừng tin, sẽ hữu ích hơn nếu hướng dẫn rằng cần dành nhiều thời gian hơn trước cho việc lập kế hoạch, lặp lại và rà soát; học cách tận dụng kỹ thuật, ngữ cảnh và các sub-agent; và trước hết hãy luyện tập với các dự án phi sản xuất, rủi ro thấp. Mục tiêu nên là xây dựng độ tin cậy trong khi hiểu rõ quy trình tốt và các trường hợp sử dụng phù hợp
    • Trong ngữ cảnh này tôi không rõ “niềm tin” là gì. Kể cả có thuê Donald Knuth viết toàn bộ mã thì cũng không thể tin rằng nó sẽ không có lỗi hoặc hoàn toàn phù hợp với yêu cầu của tôi
    • Trong số những người lạc quan về AI, có nhiều người dựa vào phát biểu của Tao về việc dùng LLM trong chứng minh toán học để cho rằng hệ thống đã rất tiến bộ và hoạt động một cách tự chủ
    • LLM tạo ra mã tệ hại khó bảo trì và không đáng tin cậy. Dùng vibe coding cho các dự án rủi ro thấp như đồ chơi cá nhân thì ổn, nhưng rõ ràng không phù hợp với mã có mức độ rủi ro cao
  • Cảnh Terry Tao dùng coding agent giống hệt một đầu bếp đạt sao Michelin phát hiện ra đồ ăn chế biến sẵn bằng lò vi sóng và thực sự hào hứng với nó

    • Bài viết bàn về việc sẽ ra sao nếu nhìn lại những sách dạy nấu ăn cũ và nghiêm túc phát triển cách nấu bằng lò vi sóng thì rất thú vị: https://malmesbury.substack.com/p/my-journey-to-the-microwav...
    • Ngay cả đầu bếp sao Michelin cũng thực sự đánh giá cao lò vi sóng. Marco Pierre White gọi nó là “một thứ tuyệt vời” và nói rằng với món cá trích thì nó còn tốt hơn luộc hay nướng: https://www.independent.co.uk/life-style/marco-pierre-white-...
      José Andrés cũng gọi món trứng omelet bằng lò vi sóng là món khó thất bại nhất, đồng thời nói đó là “món omelet mềm xốp tuyệt nhất trong lịch sử loài người”: https://www.tasteofhome.com/article/jose-andres-microwave-om...
    • Một phép so sánh chính xác hơn là hình ảnh Charles và Henry Greene chế tạo bằng kỹ thuật một đồ gá chuyên dụng tinh xảo để cố định các mối ghép của chiếc hộp trang sức tinh tế đặt trong Gamble House. Có thể làm bằng tay, nhưng với người có quá nhiều thứ phải làm thì thời gian là vô cùng quý giá
      Những bậc thầy như Tao cho thấy công nghệ có thể tạo ra đồ gá đó, còn các nhà chế tạo máy thì đang từng bước chứng minh rằng họ có thể làm không chỉ đồ gá cho hộp trang sức mà cả đồ gá để chế tạo máy làm đồ gá
    • Tò mò không biết có bài viết hay phản ứng nào của các đầu bếp vĩ đại đương thời khi lần đầu tiếp xúc với đồ ăn chế biến sẵn bằng lò vi sóng hay không
    • Có cảm giác khi lò vi sóng mới ra đời, các đầu bếp hẳn cũng đã thực sự phấn khích. Ít nhất thì lần đầu nhìn thấy nó gần như mang cảm giác phép thuật
  • Việc chạy các Java applet giáo dục cũ trong lĩnh vực toán học và vật lý từng là một trường hợp sử dụng phổ biến suốt thời gian dài của CheerpJ Applet Runner, công cụ chạy Java bytecode trong trình duyệt thông qua WebAssembly
    Khá phức tạp để nghĩ xem nên đón nhận thế nào việc agent hiện đại hóa đúng nghĩa và giải quyết vấn đề này. Việc sinh viên có thể tương tác với nội dung theo cách hiện đại và dễ tiếp cận hơn rõ ràng là điều tốt, nhưng dù không quan trọng về mặt thương mại, ứng dụng trong giáo dục vẫn luôn là một nguồn tự hào: https://chromewebstore.google.com/detail/cheerpj-applet-runn...

  • Những bài viết trong đó chuyên gia ngành dùng AI để làm thứ gì đó thú vị trong lĩnh vực của mình lúc nào cũng vui, nhưng có cảm giác đó chỉ là dự án sở thích chứ không phải công việc nghiêm túc

    • Terry Tao là một trong những gương mặt tiêu biểu của giới toán học đã khám phá cách dùng AI cho các phát hiện toán học tiên tiến. Bài lần này nhẹ nhàng hơn, nhưng ông cũng đã viết nhiều về sự hỗ trợ của AI trong nghiên cứu cốt lõi
      https://terrytao.wordpress.com/tag/artificial-intelligence/, https://academy.openai.com/public/blogs/terence-tao-ai-is-re...
    • Với giảng viên đại học, phát triển tài liệu giảng dạy là một phần công việc, nên tôi không hiểu vì sao lại xem đây là dự án sở thích
    • Sau khi bắt đầu dùng Claude Code trong công việc, tôi thấy khả năng rất cao là trong không quá 5 năm nữa, kiểu lập trình hiện tại sẽ biến mất như một con đường nghề nghiệp
      Tôi cũng có tuổi rồi và nếu cần thì ngày mai về hưu với mức sống chật vật một chút cũng được, nhưng tôi lo cho những lập trình viên trẻ như đứa cháu 25 tuổi của mình, những người vẫn chưa tích lũy đủ tài sản để có thể không đi làm. Việc tự tay viết code sẽ trở thành một lĩnh vực chuyên biệt chỉ còn rất ít người làm, giống như tính căn bậc hai bằng tay hay đúc chữ kim loại
    • “Luôn luôn” và “không bao giờ” là những cách nói quá mạnh. Tôi đoán tới thời điểm này năm sau sẽ thấy khá nhiều ứng dụng AI rất nghiêm túc, đến mức khó còn nói như vậy nữa
      Việc dùng AI coding trên diện rộng mới chỉ bắt đầu, và các mô hình cũng chỉ gần đây mới đạt tới mức có thể làm việc nghiêm túc. Đã có ứng dụng thực tế rồi, nhưng cũng có nhiều lý do khiến khó công khai việc dùng trong code vận hành thực tế trên blog cá nhân, như chính sách tổ chức, code riêng tư và bí mật kinh doanh
    • Tao cũng đang dùng AI cho toán học kiểm chứng hình thức và cho ý tưởng giải toán. Nói rằng nó chỉ là tài liệu hỗ trợ có thể có nghĩa là hình ảnh trực quan hóa đó chưa được kiểm chứng hình thức nên có thể có lỗi, đồng thời vì không phải phần cốt lõi của bài báo nên cũng không cần ghi AI là bên đóng góp riêng
  • Tôi đã bật cười ở đoạn “độ phức tạp của code tăng đến mức không thể kiểm soát nên đã bỏ dự án”. Ngay cả Terry Tao cũng có loại code quá phức tạp để không thể viết nổi
    Tôi rất kỳ vọng LLM sẽ khiến cả nhiều người rất thông minh trong các lĩnh vực cụ thể nhưng trước đây chưa thể bước vào lập trình cũng tham gia phát triển phần mềm

  • Tôi đã dùng Claude để port một game Java applet tiếng Đức thời trung học 30 năm tuổi sang JavaScript, còn tạo cả lịch sử Git giả nữa: https://github.com/bradfitz/koffer#der-verloren-koffe
    Cũng có thể chạy online: https://bradfitz.github.io/koffer/js/
    Thật tuyệt khi thấy đoạn code khoảng 30 năm tuổi lại sống dậy và vận hành trở lại

  • Chính câu mở đầu hơi gượng của bài viết lại là bằng chứng cho thấy AI không viết nó. Câu đó là: “Từ khi tạo các applet cho môn giải tích phức và đại số tuyến tính bằng Java 1.0 vào năm 1999, dùng chúng để trực quan hóa các đối tượng toán học như cấu trúc tổ ong hay tập Besicovitch, tôi đã quan tâm đến cách nghiên cứu và giảng dạy toán học với sự trợ giúp của máy móc”

    • Đây là văn phong rất đậm chất Terence Tao. Ông thường nối dài những câu lẽ ra có thể tách ngắn hơn, nhưng điều đó không ảnh hưởng nhiều đến việc đọc hiểu
    • Kiểu văn phong này lúc nào cũng tốt hơn thứ kết quả nhạt nhẽo mà Claude đã chuốt lại cho trơn tru