CSS này chứng minh tôi là con người
(will-keleher.com)- Một thử nghiệm viết lách mang tính thực nghiệm, sử dụng nhiều biện pháp kỹ thuật như CSS, chỉnh sửa phông chữ và biến đổi chính tả để vượt qua việc phát hiện văn bản do AI tạo ra
- Dùng
text-transform: lowercaseđể chuyển chữ in hoa thành chữ thường, nhưng ngoại lệ với khốicodevàprenhằm giữ khả năng đọc của mã - Dùng thư viện fontTools để tạo một phông chữ tùy chỉnh thay glyph em dash (—) bằng tổ hợp hai dấu gạch nối
- Ứng dụng thuật toán sửa lỗi chính tả của Peter Norvig để cố ý thay các từ hiếm trong bài bằng từ phổ biến hơn, làm mờ các mẫu chính tả
- Tuy vậy, tác giả cuối cùng vẫn từ chối thay đổi chính phong cách viết của mình, "đó không chỉ là một chiếc mặt nạ mà là khuôn mặt của tôi"
Chuyển chữ in hoa → chữ thường
- Áp dụng thuộc tính CSS
text-transform: lowercaseđể hiển thị toàn bộ văn bản bằng chữ thường - Với các khối
code,pre, dùng ngoại lệtext-transform: noneđể giữ tính toàn vẹn của mã - Các lệnh shell như
cat post.md | tr A-Z a-z | sponge post.mdkhông dùng được vì sẽ chuyển đổi cả nội dung trong khối mãbody { text-transform: lowercase; } code, pre { text-transform: none; }
Thay glyph em dash
- Vì bộ phát hiện AI có thể nhận ra mẫu sử dụng em dash, tác giả tạo một phông chữ tùy chỉnh để thay em dash (—) bằng tổ hợp hai dấu gạch nối
- Dùng thư viện fontTools của Python để chỉnh trực tiếp phông Roboto, thay glyph em dash bằng một component gồm hai dấu gạch nối
- Dù dùng FontForge có thể dễ hơn, tác giả vẫn chọn cách tạo file .woff bằng script
- Tính độ rộng dấu gạch nối (
hyphen_width) và khoảng cách (gap = hyphen_width * 0.8), rồi đặt advance width mới trước khi lưu thànhroboto_edited.ttf
Biến đổi chính tả có chủ đích
- Dựa trên mã sửa lỗi chính tả của Peter Norvig, tác giả thay các từ hiếm trong bài bằng những từ phổ biến hơn có cùng chữ cái đầu
- Dùng ngữ liệu
big.txtđể xây dựng từ điển tần suất từ (Counter), rồi sắp xếp các từ trong bài theo mức độ hiếm - Hàm
edits1()tạo các từ ứng viên ở khoảng cách chỉnh sửa 1 lần gồm xóa, hoán vị, thay thế và chèn; sau đó in ra các từ có tần suất cao hơn để thay thế - Ví dụ thay thế thực tế:
corpus → corps,discrete → discreet,complement → compliment,spill → spell...
Từ chối thay đổi phong cách — ranh giới của bản sắc
- Dù đã ngụy trang về mặt kỹ thuật từ chữ in hoa, em dash đến chính tả, tác giả vẫn từ chối thay đổi chính phong cách viết của mình
"Lối viết của tôi không chỉ là vẻ ngoài mà là cách tôi suy nghĩ, lập luận và thiết lập quan hệ với thế giới"
"Không phải mặt nạ mà là khuôn mặt của tôi, không phải bề ngoài mà là kết cấu chịu lực (load-bearing)" - Câu cuối cùng khép lại bằng cụm từ mang dáng dấp như do AI tạo ra, "Here's your blog post written in a stylized way...",
ngụ ý rằng toàn bộ bài viết có cấu trúc tự phơi bày một cách mang tính meta chính nỗ lực ngụy trang trước AI
1 bình luận
Ý kiến trên Hacker News
Ý tưởng của bài thơ khá thú vị, nhưng quá lấy cái tôi làm trung tâm và thiếu giải thích nên khó nhập tâm
Cách viết bắt đầu bằng chữ thường ngay từ đầu là thứ AI có thể bắt chước rất dễ, nên làm giảm cảm giác chân thật
Chỉ đến khi thấy lời thú nhận ở cuối rằng bài này do AI viết, tôi mới thật sự hiểu được những câu như “cách tôi viết không chỉ là cách tôi trông như thế nào, mà còn là cách tôi suy nghĩ và tương tác với thế giới”
Nhưng rốt cuộc lại đi đến kết luận rằng phải thay đổi chính phong cách viết của mình, và nhận ra điều đó là bất khả vì nó là một phần bản sắc
Vì thế nảy sinh nghịch lý là chỉ thông qua LLM mới có thể tạo ra sự thay đổi ấy
Tôi không nghĩ đây thật sự là một bài được viết bằng LLM
Trước đây người ta xem văn bản là nghệ thuật và việc diễn giải là phần của độc giả, nhưng giờ có vẻ sự thư thả đó đã biến mất
Trong một thế giới nơi vô số bot vận hành blog và để lại commit, bối cảnh đó hiện lên rất tự nhiên
Bài này khiến tôi nhớ đến câu chuyện về gatekeeping và mã nguồn mở
Việc chỉ bám vào phong cách bề mặt thay vì bản chất của bài viết còn khiến họ trông vị kỷ hơn
Với tư cách là một người trong phổ tự kỷ, bài này chạm đến tôi theo một cách khác
Cảm giác lo âu rằng cách biểu đạt tự nhiên của mình bị xem là “sai”, và chỉ khi gọt bỏ một phần bản sắc thì mới được xã hội chấp nhận, là điều quá quen thuộc
Rốt cuộc, nghịch lý “muốn trông như con người thì phải đi qua LLM” rất giống với thực tế của chúng tôi là “muốn trông như người bình thường thì phải diễn vai chính mình”
Nhưng ngày nay việc dùng công cụ như Grammarly để “cải thiện” câu chữ đã trở thành mặc nhiên, và điều đáng lo hơn là nghệ thuật biểu đạt ngôn ngữ tự nhiên đang suy tàn
Tôi đã hay dùng em-dash(—) từ trước cả thời ChatGPT, nhưng giờ bắt đầu thấy để tâm vì sợ nó khiến mình trông giống AI
Chương trình tự động đổi sang em-dash làm tôi lo rằng người khác sẽ nghĩ tôi giao phó cuộc trò chuyện cho AI
Vì vậy tôi đặc biệt đồng cảm với bài này
Biết đâu một ngày nào đó tôi lại bị hiểu nhầm là LLM chỉ vì lý do đó
Phần fontTools trong bài thơ đặc biệt gây ấn tượng với tôi
Việc ghép glyph em-dash từ hai dấu gạch nối là một cách tiếp cận khó mà nghĩ ra nếu không hiểu sâu về rendering kiểu chữ
Phần lớn lập trình viên frontend có lẽ sẽ chỉ giải quyết bằng thay thế ký tự đơn giản, nhưng xử lý ở cấp độ phông chữ là một lời giải tinh vi hơn nhiều
Mẹo
text-transformcủa CSS cũng vậy, nó đòi hỏi một thiết kế cẩn thận để bảo vệ các khối mãBên dưới lớp vỏ thi ca là một mức độ hoàn thiện kỹ thuật rất thật
Họ đồng ý rằng phần code rất thú vị, nhưng định nghĩa nó là thơ thì vẫn còn mơ hồ
Có lẽ rồi sẽ đến lúc chúng ta quay lại thời kỳ mà người ta phớt lờ nhau không phải vì nội dung bài viết, mà vì khác biệt về thế giới quan
Dạo này chỉ cần thấy một kiểu văn phong hay một cách diễn đạt hơi gượng là người ta đã hỏi “có phải AI không?” như chuyện thường ngày
Khi đọc tôi đã nghĩ “đây chỉ là một nỗ lực khác để phát ra tín hiệu con người”, nhưng cú lật ở cuối khá mới mẻ
Tôi cảm thấy ai viết không quan trọng, điều cốt lõi là người ta đang muốn nói điều gì
Đây là lần đầu tôi thấy em-dash được thể hiện bằng hai dấu gạch nối
Đoạn mã sửa phông Roboto ngắn đến mức đáng kinh ngạc, cô đọng như trình kiểm tra chính tả của Norvig
Tôi thích bài này đến mức muốn tin rằng không có AI can thiệp
Tôi vẫn tự viết trực tiếp bằng HTML và Emacs
Khi xử lý các bài toán, tôi cố ý viết dài dòng để chứa nhiều cách giải, rồi sau đó chắt lọc lại thành lời giải thanh nhã nhất
Tôi mắc khá nhiều lỗi gõ, nhưng lại nghĩ đó là dấu vết rất con người
Dù vậy, dạo này tôi lo bài mình viết sẽ bị hiểu nhầm là do LLM tạo ra
Văn hóa ngờ vực này đang dần lấy đi niềm vui của việc viết
Tôi hy vọng theo thời gian, sự cảnh giác quá mức này sẽ dịu bớt, để những người còn tự tay viết lách lại thấy thoải mái hơn
Có câu đùa rằng nếu bọn “clankers” nhận ra chuyện này thì sẽ ra sao
Tất nhiên, ít nhất là cho đến khi còn phân biệt được android với con người