Tekstowe znaki wodne AI: ukryte znaki a znaczniki wyboru tokenów
Tekstowe znaki wodne AI występują w dwóch postaciach, a tylko jedna z nich składa się ze znaków, które można usunąć.
| Typ znaku wodnego | Gdzie się znajduje | Widoczny dla tego narzędzia | Możliwy do usunięcia przez to narzędzie |
|---|---|---|---|
| Znaczniki w postaci ukrytych znaków | W bajtach tekstu, jako niewidoczne lub nietypowe punkty kodowe | Tak | Tak |
| Znaczniki wyboru tokenów | W samym doborze słów | Nie | Nie |
Znaczniki w postaci ukrytych znaków to punkty kodowe, które edytor tekstu przechowuje, ale ekran nigdy ich nie wyświetla.
Znaczniki wyboru tokenów wynikają z tego, jakie słowo model wybrał na każdym kroku, więc nie pozostawiają żadnego znaku do wykrycia ani usunięcia. Każde narzędzie AI, które obecnie oznacza generowany tekst, korzysta z tej metody.
Co sprawia, że znak Unicode jest niewidoczny?
Znak jest niewidoczny, gdy nie zajmuje szerokości na ekranie. Standard Unicode odnotowuje to zachowanie za pomocą właściwości Default_Ignorable_Code_Point oraz ogólnej kategorii Cf, oznaczającej formatowanie.
Default_Ignorable_Code_Point to właściwość pochodna, publikowana jako lista tekstowa w pliku DerivedCoreProperties.txt dla każdej wersji standardu. To narzędzie do czyszczenia opiera się na standardzie Unicode 17.0, wydanym 9 września 2025 roku, który dodał 4803 nowe znaki i zwiększył łączną liczbę zakodowanych znaków do 159 801.
Pobrałem dane o właściwościach Unicode 17.0 i sam je przeliczyłem. 4174 punkty kodowe posiadają właściwość Default_Ignorable_Code_Point, ale tylko 405 z nich to przypisane znaki. Pozostałe 3769 to zarezerwowane pozycje, których jeszcze nic nie używa. Spośród 405 znaków 256 to selektory wariantów, a 97 znajduje się w bloku Tags, co pozostawia 52 znaki pojawiające się w zwykłym tekście.
Kategoria Cf w tej samej wersji zawiera 170 znaków. Dlatego okrągła liczba marketingowa w rodzaju „104 ukryte znaki” sama w sobie nic nie mówi. Bez podanej obok wersji Unicode liczby tej nie da się z niczym zweryfikować.
Dlaczego znaki wodne oparte na wyborze tokenów przetrwają czyszczenie znaków?
Wybór tokenów, znany również jako statystyczny znak wodny, jest zakodowany w słowach wybranych przez model, dlatego usunięcie niewidocznych znaków nie usuwa oznaczeń statystycznych.
Żadne narzędzie do czyszczenia tekstowych znaków wodnych w internecie nie jest w stanie usunąć znaku wodnego opartego na tokenach lub wyborze statystycznym, ponieważ algorytm używany przez narzędzia AI jest własnościowy.
Czy ChatGPT umieszcza znak wodny w swoim tekście?
OpenAI twierdzi, że nie. 20 kwietnia 2025 roku serwis Rumidocs poinformował, że odpowiedzi z modeli GPT o3 i o4 mini zawierały znak U+202F, czyli NARROW NO-BREAK SPACE. OpenAI odpowiedziało dwa dni później. Znaki te były „anomalią uczenia przez wzmacnianie na dużą skalę” i nie stanowiły znaku wodnego. 23 kwietnia 2025 roku Rumidocs zaktualizował artykuł, informując, że znaki specjalne przestały się pojawiać.
OpenAI opracowało wprawdzie metodę znakowania tekstu w 2024 roku, lecz nigdy jej nie wdrożyło. Aktualny artykuł pomocy dotyczący pochodzenia treści wymienia, co obecnie zawiera sygnał: obrazy otrzymują C2PA Content Credentials i SynthID, dźwięk otrzymuje SynthID, a tekst żadnego z nich. Na tej samej stronie stwierdzono, że „naszym celem jest rozszerzenie sygnałów pochodzenia na wszystkie modalności, w tym tekst”, co stanowi raczej plan niż gotowy produkt.
Uczciwa odpowiedź jest krótka. ChatGPT nie oznacza swojego tekstu znakami wodnymi, a znaki wykryte w 2025 roku były błędem, który został naprawiony.
Typy niewidocznych znaków znajdowane w wynikach ChatGPT i Claude
Znaki wykrywane przez to narzędzie do czyszczenia dzielą się na pięć grup: znaki o zerowej szerokości, nietypowe spacje, znaki kontrolne, łudząco podobne znaki interpunkcyjne oraz znaki tagów i obszaru prywatnego.
| Grupa | Przykłady | Działanie | Profil standardowy |
|---|---|---|---|
| Znaki o zerowej szerokości | U+200B, U+200C, U+200D, U+2060, U+FEFF | Nie zajmuje szerokości, nadal jest zapisany w pliku | Usuwa U+200B, U+2060, U+FEFF i zachowuje oba łączniki |
| Nietypowe spacje | U+00A0, U+2009, U+202F, U+3000 | Wygląda jak spacja, ale sortuje się i wyszukuje jako inny znak | Konwertuje na zwykłą spację |
| Znaki kontrolne | Zakresy C0 i C1, sterowanie tekstem dwukierunkowym | Steruje renderowaniem lub psuje parsery, nigdy się nie drukuje | Usuwa wszystko poza tabulatorem i nową linią |
| Łudząco podobne znaki interpunkcyjne | Cudzysłowy typograficzne, półpauzy i pauzy, U+00AD | Wyświetla się, ale nie jako wpisany znak | Pozostawia bez zmian |
| Tagi i obszar prywatny | Od U+E0000 do U+E007F, obszar do użytku prywatnego | Zawiera czytelny tekst, którego żaden człowiek nie widzi | Usuwa |
Oto praktyczny przykład, którego użyłem do wszystkich pomiarów na tej stronie. Zdanie „The meeting starts at 9:30 am on 12 May.” ma 40 znaków i 40 bajtów po wpisaniu bezpośrednio w prostym edytorze tekstu. Po jednokrotnym przetworzeniu w procesorze tekstu i z powrotem przekształciło się w 42 znaki i 49 bajtów. Na początku znalazł się znacznik kolejności bajtów (BOM), po „am” spacja o zerowej szerokości, a dwie zwykłe spacje po cichu zamieniono na U+202F i U+00A0. Dziewięć dodatkowych bajtów. Nic widocznego się nie zmieniło.
The meeting starts at 9:30 am on 12 May.Znaki o zerowej szerokości: U+200B, U+200C, U+200D, U+2060 i U+FEFF
Znaki o zerowej szerokości nie zajmują miejsca na ekranie, ale nadal istnieją w pliku, dlatego wklejony tekst może zawierać znaczniki, których nikt nie widzi.
| Punkt kodowy | Oficjalna nazwa Unicode | Rzeczywista funkcja |
|---|---|---|
| U+200B | ZERO WIDTH SPACE | Wskazuje miejsce możliwego łamania wiersza, wstawiane głównie przez edytory stron WWW |
| U+200C | ZERO WIDTH NON-JOINER | Rozdziela litery w słowach perskich i arabskich |
| U+200D | ZERO WIDTH JOINER | Łączy emoji w jeden obrazek i tworzy ligatury w pismach indyjskich |
| U+2060 | WORD JOINER | Zapobiega łamaniu wiersza w danym miejscu |
| U+FEFF | ZERO WIDTH NO-BREAK SPACE | Znacznik kolejności bajtów (BOM), zazwyczaj pozostawiony przez edytor tekstu, a nie przez AI |
Dwa z tych pięciu znaków to znaki użytkowe, a nie śmieci. U+200C i U+200D niosą znaczenie w rzeczywistych językach, co jest powodem, dla którego profil Standardowy pozostawia je bez zmian.
Nietypowe spacje: U+00A0, U+2009, U+202F i U+3000
Nietypowe spacje wyglądają jak zwykła spacja, ale mają inny punkt kodowy, co zaburza wyszukiwanie, sortowanie i wykonywanie kodu.
Unicode 17.0 definiuje 17 znaków w kategorii Zs (separator spacji), a tylko jeden z nich to spacja na Twojej klawiaturze. Wypisałem wszystkie 17 znaków z bazy danych wraz z ich rozmiarem w bajtach w UTF-8, ponieważ to właśnie rozmiar w bajtach czyni je kosztownymi.
| Punkt kodowy | Oficjalna nazwa Unicode | Bajty UTF-8 |
|---|---|---|
| U+0020 | SPACE | 1 |
| U+00A0 | NO-BREAK SPACE | 2 |
| U+1680 | OGHAM SPACE MARK | 3 |
| U+2000 to U+200A | Od EN QUAD do HAIR SPACE, 11 znaków | Po 3 |
| U+202F | NARROW NO-BREAK SPACE | 3 |
| U+205F | MEDIUM MATHEMATICAL SPACE | 3 |
| U+3000 | IDEOGRAPHIC SPACE | 3 |
Pojedynczy znak U+202F zajmuje trzy bajty, podczas gdy zwykła spacja zajmuje jeden bajt, a wyszukiwanie frazy „9:30 am” nie znajdzie „9:30 am”, jeśli odstępem jest U+202F. Ta rozbieżność jest powodem, dla którego spacje są normalizowane nawet w profilu Standardowym.
9:30 am
9:30 amMożesz skopiować i wkleić przykładowy tekst do powyższego pola narzędzia, aby zobaczyć wynik.
Myślniki, cudzysłowy typograficzne i łączniki miękkie wstawiane przez edytory
Cudzysłowy typograficzne, długie myślniki i łącznik miękki U+00AD pochodzą zwykle z ustawień autokorekty w edytorze tekstu, a nie z modelu językowego.
Unicode 17.0 nadaje właściwość Dash 31 znakom, od zwykłego U+002D na Twojej klawiaturze po U+2014 EM DASH i U+2E3A TWO-EM DASH. Tylko jeden z nich odpowiada naciśnięciu klawisza. Reszta pojawia się, gdy oprogramowanie decyduje o Twoich intencjach. U+00AD jest tu wyjątkiem, ponieważ jest drukowany jako łącznik tylko wtedy, gdy w tym miejscu następuje łamanie wiersza, a w pozostałych przypadkach pozostaje niewidoczny.
Myślniki to kwestia, która przyciąga większość osób na tę stronę, a krótka odpowiedź brzmi: niczego one nie dowodzą. Pełną argumentację znajdziesz poniżej, w sekcji poświęconej pauzom (em dash).
Znaki tagów i obszaru prywatnego ukrywające instrukcje wewnątrz tekstu
Znaki w bloku Unicode Tags, od U+E0000 do U+E007F, mogą przenosić całe zdanie, którego żaden ludzki czytelnik nigdy nie zobaczy. W ten sposób atakujący przemycają ukryte instrukcje do tekstu, który asystent AI przeczyta w późniejszym czasie.
Blog AWS Security opisał przemyt znaków Unicode 30 września 2025 roku. Scharakteryzowano w nim znaki tagów, które „początkowo zaprojektowano jako niewidoczne znaczniki do wskazywania języka w tekście”, a które „stały się potencjalnym wektorem ataków typu prompt injection”. Notatka badawcza Cloud Security Alliance z 10 marca 2026 roku wykazała ten sam mechanizm w umiejętnościach agentów AI (agent skills), opisach narzędzi i serwerach MCP. Publikacja ta wymienia blok Tags obok U+200B, U+200C, U+200D i U+FEFF.
Stworzyłem taki przykład, aby sprawdzić jego rozmiar. Widoczne zdanie „Great work on the report.” składa się z 25 znaków i 25 bajtów. Dołączyłem do niego 42-znakową instrukcję zakodowaną w znakach tagów. Plik urósł do 67 znaków i 193 bajtów. Na ekranie nadal widać pięć słów i kropkę, a skrypt bez problemu wyodrębnił całą nienaruszoną instrukcję z tekstu. Każdy znak tagu kosztuje cztery bajty i zero pikseli.
Great work on the report.To najważniejszy powód do czyszczenia tekstu, który nie ma nic wspólnego z wykrywaniem AI. Jeśli wkleisz fragment tekstu ze strony internetowej do asystenta czatu, możesz przekazać mu instrukcje, których nigdy samodzielnie nie wpisałeś.
Usuwanie niewidocznych znaków w przeglądarce: procedura skanowania i czyszczenia
Narzędzie skanuje tekst w momencie jego wklejenia, wyświetla listę wszystkich wykrytych znaków wraz z ich oficjalną nazwą Unicode oraz pozycją i nie zmienia niczego, dopóki nie klikniesz Wyczyść tekst.
Procedura składa się z czterech kroków:
- Wklej tekst lub upuść plik .txt albo .md.
- Przejrzyj listę wykrytych znaków, która podaje nazwę każdego znaku i jego pozycję.
- Wybierz profil lub zachowaj poszczególne wykryte znaki, które chcesz chronić.
- Wyczyść tekst, a następnie skopiuj wynik lub go pobierz.
To narzędzie do czyszczenia nie przepisuje, nie parafrazuje ani nie „humanizuje” ani jednego słowa Twojego tekstu.
Porównanie zestawów ustawień: standardowy, zaawansowany i rygorystyczny
Zestaw standardowy usuwa znaki, które stwarzają problemy w zwykłym tekście, zaawansowany rozszerza ten zakres, a rygorystyczny usuwa ich najwięcej.
| Grupa znaków | Standardowy | Zaawansowany | Rygorystyczny |
|---|---|---|---|
| Spacja o zerowej szerokości, łącznik słów, znacznik kolejności bajtów (BOM) | Usunięte | Usunięte | Usunięte |
| Znaki sterujące dwukierunkowością oraz znaki sterujące C0/C1 | Usunięte | Usunięte | Usunięte |
| Blok tagów i znaki do użytku prywatnego | Usunięte | Usunięte | Usunięte |
| Łącznik miękki U+00AD | Usunięte | Usunięte | Usunięte |
| Nietypowe spacje w kategorii Zs | Przekonwertowane na U+0020 | Przekonwertowane na U+0020 | Przekonwertowane na U+0020 |
| Znaki łączące U+200C i U+200D | Zachowane | Usuwane poza sekwencjami emoji | Usuwane wszędzie |
| Selektory wariantów | Zachowane | Usuwane poza sekwencjami emoji | Usuwane wszędzie |
| Cudzysłowy typograficzne i długie myślniki | Zachowane | Zachowane | Przekonwertowane na cudzysłowy proste i zwykły łącznik |
Obok zestawów ustawień dostępne są trzy filtry uruchamiane jednym kliknięciem: usuwanie znaków niewidocznych, usuwanie myślników i łączników oraz usuwanie emoji. Opublikowanie tych reguł to celowy krok. Każde konkurencyjne narzędzie ukrywa swoje reguły za jednym przyciskiem, przez co nie wiesz, co zostało usunięte z tekstu, dopóki coś nie przestanie działać.
Jak ochrona kodu Markdown zapobiega uszkodzeniu bloków kodu?
Gdy tryb Markdown i funkcja ochrony są włączone, narzędzie do czyszczenia tekstu pomija bloki kodu i kod w tekście, dzięki czemu fragment wymagający dokładnie określonego znaku zachowuje go.
Kod to jedyne miejsce, w którym znak uznany w zwykłym tekście za śmieć może mieć kluczowe znaczenie. Wyrażenie regularne lub ciąg testowy może zależeć od tego, by znacznik kolejności bajtów znajdował się dokładnie na swoim miejscu.
Czy Twój tekst opuszcza Twoje urządzenie?
Nie. Zarówno skanowanie, jak i czyszczenie odbywają się w przeglądarce, a strona nigdy nie przesyła ani nie przechowuje Twojego tekstu.
Z pełną uczciwością należy dodać drugą część: ta strona jest bezpłatna, może więc wyświetlać reklamy i korzystać z narzędzi analitycznych. Opcjonalny raport JSON rejestruje wprowadzone zmiany, lecz nie zawiera żadnego fragmentu Twojego tekstu.
Limity tekstu i plików: 20 000 słów i 1 MB
Narzędzie do czyszczenia tekstu obsługuje do 20 000 słów wklejonego tekstu lub jeden plik UTF-8 o rozmiarze do 1 MB w formacie .txt lub .md.
Wszystko inne wykracza poza zakres: nie obsługujemy HTML, DOCX, PDF, JSON ani CSV, a wklejana treść jest traktowana wyłącznie jako zwykły tekst. Wymagany jest JavaScript. Nie ma kont użytkowników ani opłat. Interfejs jest dostępny w 25 językach. Oficjalne nazwy standardu Unicode pozostają we wszystkich wersjach w języku angielskim, ponieważ przetłumaczona nazwa znaku nie jest już nazwą, na którą można się powołać.
W przypadku zdjęć zamiast tekstu możesz usunąć informacje AI z obrazu lub edytować metadane obrazu.
Oznaczanie tekstu AI przez dostawców: porównanie ChatGPT, Claude, Gemini i Grok
Tylko niektórzy dostawcy AI oznaczają generowany tekst, a każdy z tych, którzy to robią, opiera się na doborze słów, a nie na ukrytych znakach.
| Dostawca | Oznacza tekst | Metoda | Wykrywane przez to narzędzie | Źródło i data |
|---|---|---|---|---|
| Anthropic, Claude | Tak | Znak wodny oparty na doborze tokenów (wersja SynthID Text) | Nie | Anthropic, ogłoszenie z 11 sierpnia 2026 r., nota techniczna z 14 sierpnia 2026 r., zaktualizowano 1 września 2026 r. |
| Google, Gemini | Tak | SynthID Text, modulacja prawdopodobieństwa tokenów | Nie | Google DeepMind, 14 maja 2024 r., udostępniono jako open source w dalszej części tego samego roku |
| OpenAI, ChatGPT | Brak potwierdzonego znaku wodnego w tekście | Brak w środowisku produkcyjnym dla tekstu. Obrazy zawierają C2PA i SynthID, dźwięk zawiera SynthID | Nie dotyczy | Artykuł pomocy OpenAI dotyczący pochodzenia treści, stan na 2 września 2026 r. |
| xAI, Grok | Brak opublikowanych deklaracji | Brak danych | Nie dotyczy | Firma xAI nie podpisała Kodeksu postępowania Komisji w zakresie przejrzystości, doniesienie z 12 sierpnia 2026 r. |
Firma Anthropic informuje, że modele udostępnione 2 sierpnia 2026 r. lub później zawierają znak wodny od momentu premiery. Trwają prace nad dodaniem oznaczeń do modeli wydanych przed tą datą. Narzędzie do wykrywania znaków wodnych w tekście nie jest publicznie dostępne. Anthropic podaje, że funkcja wykrywania „jest obecnie dostępna w wersji prywatnej (private preview) dla uprawnionych organizacji, zgodnie z wymogami prawa UE”. Lista uprawnionych podmiotów obejmuje organy regulacyjne, organy ścigania, media, organizacje fact-checkingowe, badaczy, instytucje edukacyjne oraz unijne organizacje społeczeństwa obywatelskiego. Bezpłatne narzędzie Claude Content Checker, które również oferuje Anthropic, odczytuje poświadczenia zawartości C2PA (Content Credentials) w wygenerowanych plikach, co jest zupełnie czym innym niż znak wodny w tekście.
Niepodpisanie Kodeksu postępowania przez xAI nie zwalnia modelu Grok z przestrzegania samego aktu o sztucznej inteligencji (AI Act). Dobrowolny kodeks to jedna ze ścieżek do osiągnięcia zgodności, a nie substytut prawa.
Jak działa znak wodny w tekście generowanym przez model Claude?
Claude wybiera spośród słów o zbliżonej trafności, a tajny klucz decyduje, które z nich zostanie użyte. Oznaczeniem jest sekwencja tych wyborów, a nie jakikolwiek znak w tekście.
Anthropic opisuje ten mechanizm wprost: „Zamiast używać dowolnego generatora liczb losowych do wyboru kolejnego słowa, znakowanie wodne wykorzystuje klucz oraz kilka poprzedzających słów, aby ustalić, które słowo model powinien wybrać”. Firma wskazuje również, że znak wodny w tekście Claude „jest wersją rozwiązania SynthID-Text, opublikowanego przez Google DeepMind w czasopiśmie Nature w 2024 roku”.
W kwestii odporności na modyfikacje firma Anthropic wypowiada się precyzyjnie: „Drobna redakcja prawdopodobnie nie usunie całkowicie znaku wodnego”, natomiast gruntowne przeredagowanie tekstu, w którym każde słowo zostanie zastąpione innym, doprowadzi do jego usunięcia.
Co SynthID Text oznacza w tekście generowanym przez Gemini?
SynthID Text osadza swój wzorzec w prawdopodobieństwach tokenów podczas generowania tekstu przez model Gemini. Google DeepMind ogłosiło wprowadzenie znaków wodnych SynthID dla aplikacji i interfejsu webowego Gemini 14 maja 2024 r. Metoda ta działa „poprzez wprowadzanie dodatkowych informacji do rozkładu tokenów w momencie generowania, modulując prawdopodobieństwo wygenerowania poszczególnych tokenów”. W dalszej części tego samego roku DeepMind udostępniło tę metodę na zasadach open source w ramach pakietu Responsible Generative AI Toolkit.
Opublikowane ograniczenia są równie istotne jak sama metoda. SynthID Text działa najlepiej w przypadku dłuższych i bardziej zróżnicowanych odpowiedzi. Znacznie gorzej radzi sobie z krótkimi, rzeczowymi wypowiedziami, w których model nie ma niemal żadnej swobody doboru słownictwa. Poziom pewności detekcji spada także wtedy, gdy tekst zostanie gruntownie przeredagowany lub przetłumaczony.
Wykrycie ukrytych znaków a autorstwo AI: dlaczego jedno nigdy nie dowodzi drugiego?
Ukryty znak jest dowodem na to, że jakieś oprogramowanie przetwarzało tekst, a nie dowodem na to, że napisała go sztuczna inteligencja.
Każdy niewidoczny znak ma prozaiczne wytłumaczenie, które istniało na długo przed pojawieniem się generatywnej AI. Edytory tekstu, systemy zarządzania treścią (CMS) i moduły eksportu do formatu PDF wstawiają je od dziesięcioleci. Wykrycie takiego znaku mówi jedynie o tym, że tekst przeszedł przez oprogramowanie — co dotyczy niemal każdego zdania publikowanego w dzisiejszych czasach.
Skąd biorą się niewidoczne znaki poza sztuczną inteligencją?
Edytory tekstu, edytory internetowe, pliki eksportowane do PDF, narzędzia do tłumaczenia, komunikatory oraz zwykłe kopiowanie i wklejanie — wszystko to samoczynnie wstawia niewidoczne znaki.
| Źródło | Zazwyczaj dodawane znaki | Przyczyna |
|---|---|---|
| Edytory tekstu | U+00A0, U+2019, U+2014, U+00AD | Autokorekta i automatyczne dzielenie wyrazów |
| Edytory stron internetowych i systemów CMS | U+200B, U+FEFF | Wskazówki podziału wiersza i znaczniki kodowania plików |
| Eksport do formatu PDF | U+2009, U+202F, U+00A0 | Zachowanie odstępów składu typograficznego przy kopiowaniu tekstu |
| Narzędzia do tłumaczenia i lokalizacji | U+200C, U+200D, U+061C | Prawidłowe wyświetlanie pisma arabskiego, perskiego i indyjskiego |
| Aplikacje do czatu i komunikatory | U+200D, U+FE0F | Sekwencje emoji oraz prezentacja w formie tekstu lub grafiki |
| Kopiowanie i wklejanie między aplikacjami | U+FEFF, mieszane spacje Zs | Konwersja kodowania w schowku systemowym |
Moje własne 40-bajtowe zdanie testowe uzyskało cztery trafienia, zanim w ogóle zetknęło się z jakimkolwiek modelem językowym. To zamyka całą dyskusję w jednym pomiarze.
Dlaczego pauzy nie są znakiem wodnym
Pauza (em dash) to zwykły znak interpunkcyjny, którego pisarze, redaktorzy i systemy autokorekty używają od stuleci, nie niesie więc ze sobą żadnej informacji o tym, kto napisał dane zdanie.
Poprawka z 2025 roku ostatecznie to rozstrzyga. 14 listopada 2025 r. firma OpenAI poinformowała, że ChatGPT będzie wreszcie przestrzegać instrukcji niestandardowej nakazującej zaprzestanie używania pauz. Sam Altman ujął to tego dnia wprost: „Jeśli w instrukcjach niestandardowych powiesz ChatGPT, aby nie używał pauz, w końcu robi to, co do niego należy”. Zwyczaj, który użytkownik może wyłączyć w ustawieniach personalizacji, nigdy nie był znakiem wodnym. Był to jedynie nawyk stylistyczny przejęty podczas trenowania modelu, a rozwiązaniem okazała się preferencja użytkownika.
To narzędzie do czyszczenia nadal oferuje opcję usuwania myślników, a powód jest w pełni przejrzysty: jest to filtr stylu dla osób, które w swoim tekście preferują proste cudzysłowy i zwykłe łączniki. Nie jest to filtr usuwający znaki wodne i w żaden sposób nie wpłynie na ocenę tekstu przez jakikolwiek detektor.
Kiedy czyszczenie uszkadza tekst: pismo perskie, arabskie, indyjskie oraz emoji
Usuwanie znaków o zerowej szerokości może uszkodzić poprawny tekst, ponieważ niektóre alfabety wymagają ich do prawidłowego zapisu słów.
Przetestowałem cztery przypadki, które najczęściej ulegają uszkodzeniu, i dokładnie zarejestrowałem rezultaty. Perskie słowo میخواهم składa się z ośmiu znaków, a znajdujący się pośrodku znak U+200C zapobiega łączeniu obu części. Jeśli go usuniesz, otrzymasz میخواهم — siedem znaków i inną formę zapisu. W dewanagari sekwencja क्ष zawiera znak U+200D tworzący prawidłową ligaturę, a jego usunięcie zmienia kształt znaków na ekranie. Emoji rodziny 👨👩👧👦 to siedem punktów kodowych — cztery symbole połączone trzema łącznikami U+200D. Usuń łączniki, a rozpadnie się ono na 👨👩👧👦, czyli cztery oddzielne postacie. Czerwone serce ❤️ zawiera znak U+FE0F, aby wyświetlać się jako kolorowe emoji; bez niego ten sam punkt kodowy powraca do postaci zwykłego symbolu tekstowego, ❤.
Właśnie dlatego narzędzie wyświetla znalezione elementy przed wyczyszczeniem czegokolwiek, dlaczego poszczególne trafienia można zachować i dlaczego tryb rygorystyczny (Strict) nie jest ustawieniem domyślnym. Redaktor pracujący w jednym języku widzi czysty tekst. Redaktor pracujący w sześciu widzi raport o błędach.
Ostateczny werdykt w sprawie usuwania znaków wodnych z tekstu AI
Usuwanie niewidocznych znaków warto stosować, aby uzyskać czysty, przenośny i bezpieczny tekst.
Użycie tego narzędzia uzasadniają dwa powody. Po pierwsze, ukryte znaki po cichu powodują błędy — w wynikach wyszukiwania, formułach arkuszy kalkulacyjnych, kodzie i adresach URL. Po drugie, znaki tagów mogą przekazywać asystentom AI instrukcje, których nikt nie wpisał i których nikt nie widzi. To sprawia, że czyszczenie tekstu staje się dobrą praktyką w zakresie bezpieczeństwa, a nie tylko zabiegiem kosmetycznym.
Każdy, kto liczy na usunięcie znaków wodnych stosowanych przez dostawców modeli, działa na niewłaściwym poziomie. Claude i Gemini oznaczają tekst poprzez dobór słów, OpenAI oznacza obrazy i dźwięk, lecz nie tekst, a żadne usuwanie znaków nie dosięgnie żadnego z tych mechanizmów. Jednym ze sposobów na obejście takiego statystycznego znaku wodnego jest przetłumaczenie tekstu na kilka różnych języków, a następnie ponowne przetłumaczenie go na język oryginalny.
Wklej stronę własnego tekstu w powyższe pole i przejrzyj wykryte elementy, aby lepiej zrozumieć swój tekst, lub po prostu skopiuj wynik.
To na razie wszystko. Dziękujemy za przeczytanie do końca.