Claude giờ gắn hình mờ vào mọi thứ nó viết. Code của bạn gần như không bị ảnh hưởng.

Anthropic đã bật watermark cho đầu ra của Claude. Nó đánh dấu cái gì, vì sao code gần như thoát được, ai thật sự đọc được nó, và vì sao SEO của bạn không đổi.

Anthropic đã công bố một trang hỗ trợ về cách Claude đánh dấu nội dung do AI tạo ra, và chỉ trong vòng một ngày, cách hiểu đã đông cứng lại thành một câu duy nhất: Claude giờ tố giác bạn, và mọi repository bạn từng đụng vào bằng agent đều trở thành một mối rủi ro.

Cách hiểu đó sai đúng ở chỗ mọi người quan tâm nhất. Việc đánh dấu là có thật, nó áp dụng trên toàn cầu, và nó không phải tùy chọn. Nó cũng nhắm vào văn xuôi, mà văn xuôi lại chính là thứ mà code không phải. Dưới đây là những gì thật sự đã được triển khai, cơ chế hoạt động ra sao bằng ngôn ngữ dễ hiểu, vì sao code sinh ra là vật mang tệ nhất có thể, và vì sao cơn hoảng loạn về SEO hoàn toàn không có cơ sở.

Anthropic thật sự đã triển khai cái gì

Anthropic đã ký Code of Practice on Transparency of AI-Generated Content của EU AI Act. Việc đánh dấu là phần kỹ thuật của cam kết đó, và nó có hai hình thức khác nhau.

Văn bản nhận một watermark thống kê. Một dấu vết không thể cảm nhận được, dệt thẳng vào chính văn bản được sinh ra. Theo lời của Anthropic, "nó dệt một watermark không thể nhận thấy trực tiếp vào chính văn bản. Bạn sẽ không nhìn thấy nó, và nó không làm thay đổi ý nghĩa, chất lượng hay khả năng đọc của câu trả lời từ Claude." Nó tồn tại qua thao tác sao chép và dán, và "có thể tồn tại qua một số chỉnh sửa."

Tệp tin nhận metadata nguồn gốc đã được ký. Khi Claude sinh ra một loại tệp được hỗ trợ, hiện tại là .svg, .png.jpg, nó gắn kèm metadata theo chuẩn mở C2PA, chính là hệ thống Content Credentials được Adobe, Microsoft và BBC hậu thuẫn.

Phạm vi rất rộng và đáng được nêu cho thật chính xác, vì phần lớn bình luận đã mặc định đây là biện pháp chỉ dành cho châu Âu hoặc chỉ áp dụng cho Claude.ai:

Mô hìnhMọi mô hình ra mắt từ ngày 2 tháng 8 năm 2026 trở đi, được đánh dấu ngay từ khi ra mắt
Bề mặtAPI, Claude web, Claude Code, Cowork, Tag
Đối tác cloudAWS, Google Cloud, Microsoft Foundry
Địa lýToàn cầu, không chỉ riêng EU

Watermark không phải là một ký tự ẩn

Đây là hiểu lầm lớn nhất, và nó là lý do khiến một nửa số lời khuyên đang lan truyền lúc này trở nên vô dụng.

Người ta mặc định rằng dấu vết là thứ gì đó được chèn vào văn bản: một khoảng trắng độ rộng bằng không, một biến thể Unicode khác thường, một kiểu dấu câu đặc trưng. Giả định đó dẫn thẳng tới kết luận "cứ chạy qua một công cụ làm sạch là xong". Nó không hiệu quả, vì chẳng có gì được chèn vào để mà làm sạch.

Dấu vết chính là những từ đã được chọn.

Sơ đồ giải thích cách watermark văn bản vô hình của Claude hoạt động bằng cách làm lệch việc chọn token: ở mỗi bước sinh, một khóa bí mật chia các token ứng viên thành một nhóm được ưu tiên và phần còn lại, mô hình phát ra một token thuộc nhóm ưu tiên mỗi khi nhiều ứng viên tương đương nhau, và độ mất cân bằng tích lũy qua hàng trăm token trở thành tín hiệu thống kê có thể phát hiện được.

Anthropic chưa công bố thuật toán của mình, và đó là một lựa chọn có chủ đích mà chúng ta sẽ quay lại. Nhưng mọi tính chất họ mô tả (vô hình, nằm bên trong văn bản, sống sót qua sao chép và dán, cần đủ lượng văn bản mới đọc được) đều khớp với họ watermark dựa trên thiên lệch lấy mẫu đã được công bố, chính là hướng tiếp cận đứng sau SynthID-Text của Google và các công trình học thuật đi trước nó.

Ý tưởng đơn giản hơn vẻ ngoài của nó. Mỗi khi mô hình viết, nó chọn token tiếp theo từ một tập ứng viên. Rất thường xuyên, nhiều ứng viên gần như tương đương nhau: nhanh, mau, lẹ, chóng đều dùng được. Một khóa bí mật chia bộ từ vựng thành một nhóm được ưu tiên và phần còn lại, và bộ lấy mẫu nghiêng về nhóm ưu tiên mỗi khi việc nghiêng đó không tốn gì về nghĩa hay chất lượng.

Một lựa chọn đơn lẻ chẳng nói lên điều gì. Chỉ riêng ngẫu nhiên cũng đã đặt khoảng một nửa số token vào nhóm ưu tiên. Nhưng qua vài trăm token, độ lệch lớn dần thành một thứ có thể đo được, và một bộ phát hiện đang nắm khóa có thể tính xem văn bản nằm cách mức mà ngẫu nhiên tạo ra bao xa. Khoảng cách đó chính là toàn bộ tín hiệu.

Hai hệ quả trực tiếp, và cả hai đều quan trọng hơn bản thân cơ chế:

  • Độ dài là một điều kiện cứng. Một tweet hay một commit message không mang tín hiệu nào dùng được. Bộ phát hiện cần khối lượng.
  • Thay đổi các từ là thứ duy nhất xóa được nó. Không phải vì cách xóa đó thông minh, mà vì chính các từ dấu vết.

Vì sao code sinh ra là vật mang tệ nhất có thể

Đây là phần mà cơn hoảng loạn đã bỏ qua. Watermark dựa trên lấy mẫu là một thứ thuế đánh vào quyền tự do lựa chọn, và nó chỉ thu được ở nơi nào có sự lựa chọn. Văn xuôi thì giàu có. Code thì gần như phá sản.

Bảng so sánh song song cho thấy vì sao watermark văn bản của Claude sống sót trong văn xuôi nhưng không sống sót trong code: văn xuôi cung cấp hàng chục lựa chọn từ ngữ gần như tương đương trong mỗi đoạn, mỗi lựa chọn có thể mang một phần của watermark, trong khi các token của code bị áp đặt bởi cú pháp, bởi những định danh đã tồn tại và bởi chữ ký hàm, còn các công cụ định dạng như prettier, eslint, gofmt, black và rustfmt thì chuẩn hóa nốt phần tự do ít ỏi còn lại.

Lấy một dòng hoàn toàn bình thường: const user = await getUserById(id).

const do chính quy ước của file quyết định. getUserById hoàn toàn không phải một lựa chọn, đó là cái tên đã tồn tại sẵn trong codebase, và bất kỳ biến thể gần tương đương nào cũng chỉ đơn giản là một cái bug. await bị áp đặt bởi chữ ký của hàm. Cặp ngoặc và đối số bị áp đặt bởi cú pháp. Vậy cái gì thật sự tự do? Tên của một biến cục bộ, và cách diễn đạt một comment. Đó là toàn bộ kênh truyền.

Giờ hãy so với một đoạn văn xuôi, nơi gần như mỗi từ mang nghĩa đều có ba bốn phương án thay thế cho nhau được. Khác biệt không hề nhỏ, đó là khác biệt giữa hàng chục ô mang tín hiệu trong mỗi đoạn văn và một nhúm ô trong cả một file.

Rồi cả chuỗi công cụ chạy qua.

Các công cụ định dạng mới là vấn đề cụ thể. prettier, eslint --fix, gofmt, black, rustfmt sinh ra đều là để chuẩn hóa đúng những lựa chọn bề mặt gần như tương đương mà một watermark lấy mẫu dùng làm vật mang. Chạy một trình định dạng lên code sinh ra, xét về mặt chức năng, chính là chạy một vòng tẩy rửa watermark, mà chẳng ai có ý định đó. Thêm các chỉnh sửa khi review, một lần đổi tên, một lần refactor, cùng việc code sinh ra và code người viết đan xen trong cùng một file, và phần dư còn lại bị rải ra trên những diff mà dù sao cũng quá ngắn để đo.

Lưu ý trung thực, vì đây là lập luận dựa trên cơ chế chứ không phải một ngoại lệ đã được xác nhận: Anthropic chưa hề nói code được loại trừ, chưa công bố thuật toán, và chưa phát hành bộ phát hiện nào. Không ai ngoài Anthropic đo được thứ gì thật sự còn sót lại trong một file .ts đã commit. Kịch bản còn phơi nhiễm nhiều nhất là một file sinh ra thật dài, commit nguyên xi, không định dạng, và không bao giờ được đọc lại. Nếu đó đúng là quy trình của bạn thì watermark là vấn đề nhỏ nhất mà nó gây ra, và quan điểm của chúng tôi về việc review code do agent viết đã áp dụng từ rất lâu trước chuyện này.

Cái gì xóa được nó, và ai thật sự phát hiện được nó

Anthropic thẳng thắn một cách bất thường về các giới hạn, và điều đó đáng được ghi nhận. Một dấu vết được phát hiện chỉ có nghĩa là nội dung có thể đã được Claude xử lý. Nó rõ ràng không mang tính kết luận. Còn việc không có dấu vết thì chẳng chứng minh được gì cả.

Sơ đồ cho thấy điều gì xóa được watermark của Claude và ai thật sự phát hiện được nó: watermark văn bản sống sót qua thao tác sao chép và dán, qua các chỉnh sửa nhỏ và qua việc dàn lại đoạn văn, nhưng bị xóa sạch bởi việc viết lại sâu, diễn giải lại, dịch sang ngôn ngữ khác, chụp màn hình và các trình định dạng code; watermark văn bản đòi hỏi khóa bí mật của Anthropic nên bên thứ ba chưa thể kiểm chứng nó, trong khi metadata C2PA đã ký trên các tệp png, jpg và svg được sinh ra lại dùng khóa công khai, ai cũng kiểm chứng được ngay hôm nay, nhưng bị gỡ bỏ bởi bất kỳ lần mã hóa lại ảnh nào.

Câu hỏi về phát hiện tách làm hai nửa rất rõ ràng, và chính việc trộn lẫn hai nửa đó đã đẻ ra phần lớn những phân tích sai.

Tệp tin thì kiểm chứng công khai được, ngay lúc này. C2PA là ký mã hóa thông thường: khóa riêng ký, khóa công khai kiểm chứng. Bất kỳ ai cũng có thể kiểm tra một file .png được sinh ra trong một trình xem Content Credentials, và Google đang đưa dần cơ chế kiểm chứng đó vào Search, Lens và Chrome. Ở đây không có đặc quyền nào của Anthropic, và chữ ký còn kiêm luôn việc tiết lộ xem file có bị sửa sau khi sinh ra hay không.

Văn bản thì không, và hôm nay chỉ Anthropic đọc được nó. Việc phát hiện đòi hỏi khóa bí mật đã làm lệch quá trình lấy mẫu. Không có nó, văn bản không thể phân biệt được về mặt thống kê với văn bản không đánh dấu. Đó là hiện trạng, và đó là nguồn gốc của phản ứng "chỉ Claude mới bắt được bạn".

Nhưng đó không phải trạng thái cuối được nhắm tới. Code of Practice mà Anthropic đã ký buộc họ phải cung cấp khả năng phát hiện cho bên thứ ba, và trang hỗ trợ nói rằng họ đang làm việc để cho phép người dùng và bên thứ ba phát hiện các dấu vết, tài liệu sẽ có sau.

Lý do nó chưa được phát hành là một tình thế lưỡng nan thật sự chứ không phải sự lề mề: công bố một bộ phát hiện cũng đồng nghĩa với công bố luôn tấm bản đồ để gỡ dấu vết. Đưa cho ai đó một cỗ máy biết chấm điểm một đoạn văn, và họ sẽ viết lại theo vòng lặp cho tới khi điểm số rơi xuống dưới ngưỡng. Google đã đối mặt với đúng sự đánh đổi này ở SynthID-Text và đã phát hành một bộ phát hiện khó bị biến thành vũ khí nếu không có mô hình đi kèm. Kết cục nhiều khả năng nhất cho Anthropic là một API phát hiện có kiểm soát truy cập, với tài khoản đã xác minh và hạn mức, chứ không phải một công cụ kiểm tra công khai bấm một nút là xong.

Chi tiết mà gần như không ai để ý

Dấu vết áp dụng cho văn bản mà mô hình tạo ra. Nó không phân biệt giữa văn bản do Claude nghĩ ra và văn bản Claude chỉ đơn thuần chạm vào.

Nhờ Claude sửa ngữ pháp một đoạn văn do chính bạn viết, và đầu ra sẽ mang watermark. Nhờ nó siết lại một đoạn văn, dịch một câu, hay dọn dẹp lại ghi chú của chính bạn, kết quả cũng vậy.

Điều này cắt về cả hai phía, và nó thú vị hơn nhiều so với cách đóng khung theo kiểu bê bối. Nó làm yếu đi kịch bản buộc tội mà mọi người lo sợ, bởi một kết quả phát hiện dương tính không tách được "một AI đã viết cái này" khỏi "một con người đã viết cái này và một AI đánh bóng lại", mà hai khẳng định đó thì chẳng giống nhau chút nào. Nó cũng có nghĩa là bất kỳ ai định coi việc phát hiện là bằng chứng về quyền tác giả đều đang xây trên cát. Anthropic trên thực tế đã thừa nhận điều đó khi mô tả một kết quả dương tính là "có thể đã được Claude xử lý".

Điều này thay đổi gì cho SEO: không gì cả

Chúng tôi làm SEO cho site này một cách công khai, nên hãy nói thẳng về phần đã gây ồn ào nhất. Ở đây không có rủi ro xếp hạng nào. Ba lý do, xếp chồng lên nhau.

Google không phạt nội dung do AI viết, xét như chính bản thân nó. Chính sách không hề thay đổi: thứ bị xử lý là scaled content abuse, tức những trang được sản xuất hàng loạt mà không có giá trị. Phán quyết dựa trên chất lượng và tính hữu ích, không dựa trên nguồn gốc của các con chữ. Một bài viết thật sự tốt vẫn là một bài viết thật sự tốt.

Dù sao thì Google cũng không đọc được watermark này. Nó bị khóa lại bằng một chiếc chìa mà Anthropic nắm giữ. Kể cả nếu Google muốn biến nó thành tín hiệu xếp hạng, họ vẫn cần một thỏa thuận với Anthropic để có được chiếc chìa đó. Chưa có thỏa thuận nào như vậy được công bố, và tại I/O 2026 cũng không có tín hiệu nào nhắm vào văn bản do AI viết được công bố.

Thứ thật sự đã được triển khai là nguồn gốc của media, và đó là một nhãn dán chứ không phải một yếu tố xếp hạng. Các công việc năm 2026 của Google bao trùm hình ảnh, video và âm thanh thông qua SynthID và C2PA, được phơi ra để người dùng có thể hỏi liệu một bức ảnh có phải do AI tạo ra hay không, ngay trong Search, Lens và Circle to Search. Đó là sự minh bạch dành cho người đọc, không phải một đòn bẩy lên thứ hạng.

Có đúng một hệ quả thực tế và rất thật, và nó liên quan tới hình ảnh của bạn chứ không phải văn bản. Nếu bạn xuất bản các hình ảnh do Claude tạo ra, chúng giờ mang Content Credentials, và Chrome cùng Search sẽ ngày càng gắn nhãn được cho chúng. Tác động không phải là bị tụt hạng, mà là CTR và niềm tin: một ảnh bìa bị đánh dấu là do AI tạo ra không được đọc giống như một bức ảnh chụp.

Đáng biết trước khi ai đó xây một phản ứng quá phức tạp: phần lớn các pipeline xử lý ảnh vốn đã xóa C2PA mà chẳng cần ai yêu cầu. sharp, next/image, nén lúc build, một CDN mã hóa lại ảnh ngay khi phục vụ: tất cả đều làm rơi metadata. Trên một site điển hình, thông tin nguồn gốc đã biến mất từ rất lâu trước khi trình duyệt kịp nhìn thấy. Đó là một kết cục hai lưỡi. Nó giải quyết câu chuyện gắn nhãn một cách tình cờ, nhưng việc cố ý gỡ bỏ thông tin nguồn gốc lại trở thành một vấn đề tuân thủ của riêng nó ngay khi trường hợp sử dụng bị quản lý, và nếu bạn phát hành vào châu Âu thì câu hỏi đó nằm ngay cạnh khía cạnh GDPR của công việc có AI hỗ trợ.

Thật ra nên làm gì

Danh sách ngắn, vì có ít việc phải làm hơn nhiều so với những gì cuộc tranh luận gợi ý.

  1. Không làm gì cả, với code. Không cần công cụ làm sạch, không cần trình gỡ bỏ, không cần đổi quy trình. Chẳng có gì để gỡ, và trình định dạng của bạn vốn đã làm nhiều hơn bất kỳ công cụ nào bạn có thể thêm vào.
  2. Tiếp tục review code sinh ra, vì những lý do vốn đã tồn tại từ trước. Watermark không thay đổi lý do nào trong số đó.
  3. Hãy quyết định một cách có ý thức về hình ảnh. Nếu bạn xuất bản các hình ảnh do Claude tạo ra, hãy biết pipeline của bạn giữ hay xóa Content Credentials, và biến việc đó thành một quyết định thay vì một tai nạn.
  4. Đừng chạy theo việc gỡ watermark khỏi văn bản. Cách gỡ đáng tin duy nhất là tự bạn viết lại văn bản, và nếu bạn đã tự viết lại thì câu hỏi đã tự trả lời chính nó rồi.
  5. Hãy lo về chất lượng thay vì thế. Scaled content abuse mới là thứ thật sự làm mất thứ hạng, và nó đã làm mất thứ hạng từ rất lâu trước khi có bất kỳ watermark nào.

Biện pháp này là một nghĩa vụ minh bạch, được ghi chép trung thực, với những giới hạn mà chính tác giả của nó cẩn thận nêu ra. Đây là một sự kiện nhỏ hơn nhiều so với những gì phản ứng gợi ý, và với bất kỳ ai đang ship code cùng agent, nó gần như là một sự kiện không tồn tại.

Nếu bạn vận hành agent ở bất kỳ quy mô nào, những câu hỏi vận hành đáng để bạn quan tâm vẫn là các câu hỏi cũ: agent đã chạm vào cái gì, cái gì đã được review, và cái gì đã lên production. Đó chính là phần mà AgentsRoom tồn tại để làm cho nhìn thấy được.

Tải AgentsRoom

Chạy các agent AI của bạn (Claude, Codex, Antigravity CLI, OpenCode, Aider, Grok Build, Mistral Vibe, Kimi Code) trên tất cả dự án, trong một cửa sổ duy nhất.

Miễn phíTải AgentsRoom

Ứng dụng đồng hành: theo dõi agent khi đi đường

Sử dụng Claude, Codex, Antigravity CLI hoặc nhà cung cấp AI khác.

Tải tiện ích mở rộng
Chrome Web Store

Gửi lỗi và yêu cầu thẳng vào backlog công khai của bạn.

Một cái nhìn về AgentsRoom đang hoạt động.

Nhiều dự án
Đa nhà cung cấp
Nhiều agent
Trạng thái trực tiếp
File diff & commit
Ứng dụng đồng hành mobile
Xem trước trực tiếp
Đội agent
Tự động hóa trình duyệt
Dev theo backlog
Thư viện prompt
Thư viện skill
Xem tất cả tính năng

Đọc thêm