A.I and coding

Vấn đề với các dạng “generative A.I.” đó là chúng đã… “ăn cắp” khái niệm “generative” của Noam Chomsky, ăn cắp theo kiểu “đánh tráo, mạo danh”, có “tạo sinh – generative” mà không có “cấu trúc – structure” như Chomsky đã mô tả! Mà đến cấu trúc còn không có thì suy luận kiểu gì, đó là chưa kể có cấu trúc rồi cũng chưa chắc đã suy lý được! A.I. tạo sinh, đó đơn giản là những mô hình mang tính thống kê, và do đó, phù hợp với các tác vụ tìm kiếm, phân loại thông tin, điều mà nó làm vô cùng xuất sắc. Từ góc độ này, A.I thực sự siêu hữu ích cho lập trình và lập trình viên!

Đã rất nhiều lần, A.I. làm tôi đi từ ngạc nhiên này đến ngạc nhiên khác vì khả năng tổng hợp thông tin của nó! Ví dụ như tôi hỏi A.I. làm sao để tính số Pi, nó sẽ lần lượt đưa ra các phương pháp Leibniz, Monte Carlo, tiến đến phương pháp dùng chuỗi Gregory – Leibniz, rồi dùng chuỗi Nilakantha, và rồi dùng giải thuật Chudnovsky để tính số Pi, và cuối cùng là dùng thư viện Python để chạy song song các tính toán nhằm tối ưu tốc độ. Như thế, A.I. giúp ta tiếp cận rất nhiều thông tin, kiến thức, có những cái thậm chí trước đây chúng ta không hề biết đến!

Nhưng đừng vội đánh giá như thế tức là A.I. đã có suy nghĩ, suy lý, đã có trí thông minh. Nó chỉ là “tập đại thành” các dữ liệu, kiến thức của nhân loại mà thôi. Đứng trước A.I. ta không thể không có cảm giác choáng váng vì thông tin, kiến thức quá nhiều như thế, nhưng đồng thời ta cũng biết rằng, nó lặp lại các kiến thức đã được tích lũy trong các corpus, trong các CSDL, chứ bản thân nó không biết phân tích đúng sai, không logic, không hình thành hệ suy luận. Cái mà ta đang coi là “suy luận” của A.I. thực chất cũng là các suy luận đã được “hiển ngôn” trong CSDL.

Vấn đề với các dạng generative – A.I. trong lập trình… nó giống như một cái hố trống hoác để những người không biết code, không hiểu công nghệ và không hiểu công việc nói chung, có thể… thảy tất cả mọi thứ vào đó. Đứng trước một vấn đề họ không hiểu, không định nghĩa được, không làm được, họ phải cố bám vào một cái công cụ “vạn năng”, theo kiểu: cái này A.I chắc chắn làm được, cái này low-level, mình không cần quan tâm vì đã có A.I. làm thay v.v… Nhưng họ chỉ nhắc đi nhắc lại như một kiểu “hype” máy móc vậy thôi, chứ họ chưa tự mình chứng thực bao giờ.

Nếu họ có thể tự suy nghĩ được thì họ sẽ tự biết được vì sao A.I. không thể code !!! Nếu họ có thể tự mô tả vấn đề, thì họ cũng sẽ tự hiểu ra là… những vấn đề đó thực ra đều quay về các “bài toán kinh điển” đã có trong SGK, thường là… chẳng có mấy liên quan đến A.I. Cách thức gần nhất mà A.I. cho thấy nó có thể lập trình là: người dùng viết một dạng pseudo – code (mã giả) rất chi tiết, rồi dùng A.I chuyển cái mã giả đó thành mã thật. Một số người không rành lập trình thường xài cách này, nhưng khi đó, mã giả có độ phức tạp và dài dòng… còn hơn cả mã thật!