InquirerFrom Donki to Nike: Analyst says VP had ‘unusual’ purchases in 2025ESPNTakeaways and analysis from Valkyries' sweepESPN DeportesTigres vence al líder Toluca con doblete de Juan BrunettaThe Jerusalem PostPatel says FBI has arrested another person tied to ShinyHunters hackersPunchA’Court rejects El-Rufai’s bail applicationZDF heuteAktuelle Pressemitteilungen des ZDFCNN Türkİstanbul'da Ataşehir ve Eyüpsultan’da seçim günü!매일경제“명색이 집권당인데”…민주당 비공개 일정 요구에 추미애 ‘발끈’New Straits Times2027 Budget: Security measures must deliver stronger enforcement, says criminologistThe Sydney Morning HeraldV’landys throws weight behind Bears coach Meninga after CEO’s sudden exitSouth China Morning PostSouth Korea: 38 injured as ceiling collapses during Daegu sales eventThe Indian ExpressFor protesters and police at Jantar Mantar, lessons from Nana Patekar films
The Daily Newsstand · Free, Always
Saturday, October 10, 2026

Сгенерировать дёшево, вычистить дорого: как я искал следы ИИ на сайте из 2000 страниц

Translate

Я создал сайт с удивительными фактами об арт искусстве artatlas.site Там около 2000 страниц на четырех разных языках, и делал я их вместе с нейросетью. Но сейчас я понял, что очень сильно пахнет ИИ от этого сайта и решил это исправить.

Я понял, что отсутствует душа и какая-то невербальная составляющая, когда увидел эти шаблонные фразы.

Признак

Сколько нашлось

Абзацы, повторяющиеся на 50+ страницах (RU / EN / ES / FR)

1019 / 773 / 773 / 773

Одинаковые казённые заголовки

722 страницы на каждом языке

Пустой слот «живописец» в панели художника

428 страниц

Конструкция «не X, а Y» (RU)

887 предложений

Длинное тире (RU)

15,2 на 1000 слов

# фрагменты, повторяющиеся на 50+ страницах одного языка
from collections import Counter
counts = Counter()
for page in pages_of_language:
    for para in set(extract_paragraphs(page)):
        counts[normalize(para)] += 1
boilerplate = {p for p, n in counts.items() if n >= 50}

CONTRAST = r"\b[Нн]е\s[^.,;:!?—<]{1,70},\s+а\s"   # «не X, а Y»
NOT_JUST = r"\bне просто\b|\bне столько\b"

Почему нельзя просто заменить регуляркой

Хотелось, чтобы сайт был человеческим, и мы говорим об искусстве. Значит, мы должны говорить от лица человека.

Было

Стало

Кипарис слева — не декорация, а символ смерти в средиземноморской культуре.

Кипарис слева в средиземноморской культуре считается символом смерти.

Такая идеализация не ошибка наблюдения, а ядро замысла.

Идеализирует его Давид сознательно, в этом и состоит замысел.

Не спокойная трапеза, а волна человеческих реакций (заголовок)

Волна человеческих реакций

Язык

«не X, а Y» и аналоги: до → после

RU

887 → 398 (549 правок на 218 страницах, остальное — факты и цитаты)

EN

83 → 36, «not just / merely» 54 → 15

ES

267 → 101

FR

285 → 149 (много ложных срабатываний)

Дизайн тоже выдаёт нейросеть

Ну и, конечно же, классический дизайн Ии, где читается тысячу похожих сайтов, и невозможно смотреть на это. И думаю, со временем будет еще сложнее.

И главное, Ии обязательно ошибется.

Инструмент

Что нашёл

Масштаб

html-validate

<noscript> Метрики с <div> внутри <head>: canonical, hreflang и robots уезжают в <body>

2030 страниц

html-validate

aria-label на <div> без роли

1265 страниц

linkinator

внешних ссылок / «битых» / из них 403 и 429 (защита от ботов)

1374 / 420 / 286

linkinator

ссылки, сломанные машинным переводом: American_Gothique, Titien, en.wikipedia.org/wiki/Марк_Шагал

87

npm install -g html-validate linkinator
html-validate index.html masterpieces/*/index.html
linkinator http://127.0.0.1:8772/links.html --concurrency 8 --retry

Что получилось

Что

До

После

Шаблонные абзацы (RU / EN / ES / FR)

1019 / 773 / 773 / 773

0

«не X, а Y» в RU

887

398

<noscript> в <head>

2030 страниц

0

Внешние 404

~100

исправлены

Сейчас я произвел эти изменения и позже выложу метрики до и после. Где-то через неделю я дополню эту статью.

[Одна ссылка как пример «после», например разбор «Менин»: https://www.artatlas.site/masterpieces/meniny/]

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.