Znakowanie wodne w interfejsach API tekstu Windows AI

Począwszy od października 2026 r., dane wyjściowe z niektórych interfejsów API w przestrzeni nazw Microsoft.Windows.AI.Text zawierają niewidoczny znak wodny wskazujący, że tekst jest generowany przez sztuczną inteligencję. Jeśli aplikacja przetwarza wygenerowany tekst, weź pod uwagę obecność znaku wodnego podczas renderowania, analizowania lub konwertowania odpowiedzi.

Ostrzeżenie

Odpowiadasz za zapewnienie, że aplikacja spełnia wymagania dotyczące oznaczania zawartości wygenerowanej przez sztuczną inteligencję, która ma do niej zastosowanie. Przed usunięciem automatycznie wstawionego znaku wodnego należy wziąć pod uwagę te wymagania.

Aby uzyskać informacje o obsługiwanych wersjach systemu Windows, wymaganiach sprzętowych i instrukcjach konfiguracji tych interfejsów API, zobacz Wprowadzenie do tworzenia aplikacji za pomocą interfejsów API AI systemu Windows i Obsługiwany sprzęt dla Phi Silica.

Interfejsy API, które automatycznie dodają znak wodny

Następujące interfejsy API w przestrzeni nazw Microsoft.Windows.AI.Text automatycznie zawierają znak wodny wskazujący, że tekst jest generowany przez sztuczną inteligencję:

Mechanizm znakowania wodnego

Znak wodny to sekwencja czterech punktów U+200B U+034F U+2060 U+200Bkodu Unicode w następującej kolejności:

Position Punkt kodu Nazwa Unicode
0 U+200B ZERO WIDTH SPACE
1 U+034F ŁĄCZNIK GRAFEMOWY ŁĄCZĄCY
2 U+2060 WORD JOINER
3 U+200B ZERO WIDTH SPACJA

Interfejsy API używają heurystyki do decydowania, czy i gdzie należy wstawić znak wodny. Odpowiedź może zawierać zero, jedną lub wiele kopii sekwencji. Heurystyka unika wstawiania znaku wodnego w miejscach, w których mogłoby to wpłynąć na łamanie słów.

Lokalizacje znaku wodnego mogą się różnić w zależności od odpowiedzi. Heurystyka zmienia się również w czasie, więc nie polegaj na stałej lokalizacji znaku wodnego ani zakładaj, że każda odpowiedź zawiera sekwencję.

Obsłuż dane wyjściowe ze znakiem wodnym

Renderowanie tekstu i interakcja

Większość mechanizmów renderowania tekstu nie wyświetla tych punktów kodu. Mogą jednak mieć wpływ na zaznaczenie tekstu i ruch kursora.

Ustrukturyzowane i sformatowane dane wyjściowe

Znak wodny może powodować problemy, gdy aplikacja korzysta z ustrukturyzowanych lub sformatowanych danych wyjściowych z interfejsów API, których dotyczy znak wodny. Oto kilka przykładów:

  • Formatowanie przy użyciu Markdown
  • Generowanie kodu lub znaczników, takich jak HTML lub CSS.
  • Generowanie kodu JSON, a następnie analizowanie go.

Upewnij się, że logika analizowania może obsługiwać sekwencję znaku wodnego wszędzie tam, gdzie występuje w odpowiedzi, w tym odpowiedzi z wieloma wystąpieniami. Przed usunięciem znaku wodnego należy wziąć pod uwagę wymagania aplikacji dotyczące oznaczania zawartości wygenerowanej przez sztuczną inteligencję.

Kodowanie znaków

Większość stron kodowych innych niż Unicode nie może reprezentować znaku wodnego. W zależności od używanego interfejsu API konwersji konwertowanie odpowiedzi na jedną z tych stron kodowych może powodować błędy, znaki rezerwowe lub inne nieoczekiwane znaki. Uwzględnij to zachowanie, gdy aplikacja konwertuje lub eksportuje wygenerowany tekst.