Перейти к содержимому
SimorghDev
← Все статьи

Как это работает · Урок 2 из 4Для начинающих · 6 мин чтения

Как работает ИИ-редакция — и почему последнее слово всё равно за человеком

Проследите путь новости от ленты до поста в Telegram, побудьте редактором и посмотрите на простые проверки, которые не дают ИИ публиковать ерунду.

🎯 Из этого урока вы узнаете

  • что на самом деле делает языковая модель ИИ — и почему она может уверенно ошибаться
  • четыре шага автоматической редакции
  • почему каждый пост одобряет человек — и попробуете побыть этим человеком
  • две простые проверки, которые ловят ошибки модели раньше, чем их кто-то увидит
Содержание

Вести новостной канал в одиночку — значит каждый день читать десятки источников и переписывать посты. Это съедает часы, а в загруженные дни канал молчит. Поэтому я сделал Simorgh News: систему, которая читает мировые новости, пишет посты с помощью ИИ и отправляет их в мой Telegram-канал. Она работает на небольшом облачном сервере с сентября 2026 года.

Но в ней есть правило, которое не меняется никогда: ни один пост не выходит, пока человек не нажмёт «Одобрить». В этом уроке разберём, как всё устроено — и почему одна эта кнопка важнее всех умных частей.

Сначала: что такое модель ИИ на самом деле?

Клавиатура в телефоне подсказывает следующее слово, пока вы печатаете. Напишите «Доброе» — она предложит «утро». Она научилась этому на миллионах сообщений.

Языковая модель ИИ — та же идея, только огромная. Она прочитала огромную часть интернета и запомнила, какие слова обычно идут за какими. Попросите её пересказать новость — и она напишет, слово за словом, текст, который подходит лучше всего.

Поэтому она отлично пишет: гладкие предложения, нужный тон, за секунды. Но заметьте, чего она не делает: она не проверяет факты. Она не знает, затопило 12 домов или 120. Она пишет то, что звучит правильно. Чаще всего это и есть правильно. Иногда — нет, и модель звучит одинаково уверенно в обоих случаях.

Четыре шага

Редакция — это цепочка из четырёх маленьких шагов. Каждый нарочно скучный: скучное легко проверить.

  1. Собрать. Каждые 30 минут таймер будит сборщика. Он читает новостные ленты BBC и Al Jazeera — ленты (RSS) — это списки свежих заголовков, которые сайты публикуют специально для программ. Новые статьи попадают в базу данных. У каждой статьи свой веб-адрес, и база отказывается хранить один адрес дважды, поэтому одна новость никогда не появится два раза.
  2. Написать. Модель ИИ получает одну английскую статью и инструкцию: написать короткий пост на русском в стиле канала — заголовок, факты, короткий комментарий и источник.
  3. Проверить. Черновик ждёт в веб-панели и в Telegram-боте. Редактор — я — читает его и нажимает Одобрить, Изменить или Отклонить.
  4. Опубликовать. Одобренный пост уходит в канал одним нажатием.

Это как маленькая кухня: каждые полчаса привозят продукты, быстрый повар готовит блюдо, шеф пробует, и только потом официант несёт его гостям.

Вы — редактор

Теперь ваша очередь. Ниже три черновика, «написанных ИИ», рядом с каждым — источник. Новости придуманы для упражнения, но ошибки — настоящего типа. Решайте: одобрить или отклонить?

Попробуйте

Вы — редактор

Три черновика, написанных ИИ. У каждого есть источник. Одобрите или отклоните — и посмотрите, что сделал бы внимательный редактор. (Новости здесь придуманы для упражнения.)

  1. Источник

    Сильный дождь затопил 12 домов в горном селе. По словам властей, никто не пострадал.

    Черновик ИИ

    Сильный дождь затопил 120 домов в горном селе. Власти сообщают, что никто не пострадал.

  2. Источник

    В понедельник в городе открылась новая публичная библиотека на 20 000 книг.

    Черновик ИИ

    В понедельник в городе открылась новая публичная библиотека на 20 000 книг.

  3. Источник

    Сеть пекарен подняла цену хлеба на 5%.

    Черновик ИИ

    Хлеб резко дорожает повсюду — настоящая беда для семей!

Заметили лишний ноль? Именно такую ошибку модели сделать легко, а человеку легко увидеть — если он смотрит. Третий черновик хитрее: в нём нет явной ошибки в числах, но одна сеть пекарен и 5% превратились в «беду повсюду». Модели любят немного драмы.

Почему каждый пост одобряет человек

Редакция, которая публикует сама, рано или поздно опубликует ошибку — с полной уверенностью. И тогда ошибка уже в сотнях телефонов, а удаление поста не удаляет её из памяти людей.

Одно нажатие человека стоит несколько секунд. Это самая дешёвая страховка из возможных.

Шаг проверки изменил и то, как я прошу модель писать. Вместо того чтобы сделать модель идеальной — это невозможно — я сделал её черновики лёгкими для проверки:

  • посты короткие, их можно прочитать за десять секунд;
  • источник всегда назван, его можно открыть;
  • факты и мнение — в разных абзацах, сразу видно, где что.

Когда модель разговаривает сама с собой

Некоторые модели «думают вслух»: перед ответом они пишут свои рассуждения — обычно по-английски — и иногда присылают эти рассуждения вместо поста. Что-то вроде: «Okay, the user wants a post in Russian. Let me think about the structure first…»

Такое не должно доходить даже до редактора. Поэтому есть крошечная автоматическая проверка: канал на русском, значит больше половины букв должны быть русскими. Если нет — ответ выбрасывается, и спрашивают следующую модель. Попробуйте:

Попробуйте

Проверка букв

Канал на русском языке. Вставьте или напишите любой текст и посмотрите, что решит автоматическая проверка.

Примеры:
Букв
62
Русских букв
0
Доля
0%

✗ Русских букв меньше половины — ответ отклонён, спрашиваем следующую модель.

Теперь попробуйте таджикский пример. Он проходит — проверка считает его русским постом! Большинство таджикских букв совпадают с русскими, отличаются лишь несколько: ҳ, ҷ, қ, ӯ. Поэтому правило ловит английские рассуждения, но не может отличить русский от таджикского. Для этого канала это допустимо — модели просят писать по-русски, а каждый пост всё равно читает человек. Но это показывает важную вещь: каждое автоматическое правило сделано для одной ситуации и имеет слепые пятна. Прежде чем доверять правилу, спросите: что через него проскочит?

Бесплатные модели меняются — нужен запасной план

Система умеет работать со многими ИИ-сервисами, которые говорят на одном «языке» (OpenAI-совместимый API, общий стандарт). Какую модель использовать — это настройка, а не код. Это оказалось важно: не раз бесплатная модель была перегружена, начинала отвечать слишком медленно или исчезала.

Решение — цепочка запасных моделей: список моделей по порядку. Если первая занята или отвечает так, что не проходит проверку букв, работу берёт следующая. Поиграйте:

Попробуйте

Цепочка запасных моделей

Бесплатные модели ИИ иногда перегружены или отвечают не на том языке. Задайте, что каждая модель делает сегодня, и нажмите кнопку.

Фото без воровства

С фотографией пост выглядит лучше. Но фото принадлежат новостным агентствам — копировать их в свой канал значит использовать чужую работу.

Поэтому бот делает иначе: он прикрепляет ссылку на оригинальную статью и просит Telegram показать её превью крупно, над текстом. Читатель видит картинку, но она показана из источника и с его названием. Фото остаётся у издателя, а каждый пост ведёт читателя к оригиналу.

Глубже: настоящий код

Вот проверка букв — ровно так, как она работает в редакции (Python):

def looks_russian(text: str) -> bool:
    letters = re.findall(r"[^\W\d_]", text)     # все буквы любого алфавита
    cyrillic = re.findall(r"[а-яёА-ЯЁ]", text)  # только русские буквы
    return bool(letters) and len(cyrillic) / len(letters) > 0.5

А вот сердце цепочки запасных моделей, немного сокращённо:

for model in settings.ai_models_list:          # модели по порядку
    try:
        return await ask_model(client, model, news)
    except RetryableError as e:                 # занята, медленная, не тот язык…
        failures.append(str(e))                 # запоминаем причину, пробуем следующую

raise GenerationError("Все модели сейчас недоступны, попробуй через пару минут.")

Посмотрите, какие они маленькие. Надёжные системы редко держатся на одном хитром трюке — это много маленьких простых правил, каждое легко прочитать и легко проверить тестом.

На чём работает вся система:

  • Python, FastAPI и SQLite — программа и её база данных;
  • aiogram — Telegram-бот (та же библиотека, что в уроке 1);
  • Next.js — веб-панель для модерации;
  • Docker Compose и Caddy — упаковка и HTTPS, на одном небольшом сервере Azure.

Что из этого может взять бизнес

Та же схема — собрать, написать черновик с ИИ, дать человеку одобрить, опубликовать — работает далеко за пределами новостей:

  • ответы на вопросы клиентов: ИИ пишет черновик, менеджер отправляет;
  • описания товаров для интернет-магазина;
  • еженедельные отчёты из таблицы;
  • посты для соцсетей на трёх языках.

Автоматизация делает медленную часть. Решение остаётся за человеком.

Проверьте себя

Попробуйте

Проверьте себя

  1. 1. Что делает языковая модель ИИ, когда пишет?

  2. 2. В черновике 120 затопленных домов, в источнике — 12. Что делать редактору?

  3. 3. Модель ответила по-таджикски вместо русского. Поймает ли это проверка букв?

  4. 4. Все три модели в цепочке недоступны. Что происходит?

  5. 5. Как бот показывает фото новости, не копируя его?

Маленький словарь

  • Языковая модель ИИ — программа, которая пишет текст, предсказывая, какие слова вероятнее всего идут дальше.
  • RSS-лента — список свежих статей, который новостной сайт публикует для программ.
  • Черновик — пост, написанный ИИ и ожидающий человека.
  • Человек в процессе (human in the loop) — схема, где человек одобряет работу машины, прежде чем она на что-то повлияет.
  • Цепочка запасных вариантов — список запасных вариантов, которые пробуют по порядку, если первый не сработал.
  • API — способ, которым одна программа просит что-то у другой.
  • Превью ссылки — карточка с картинкой и заголовком, которую Telegram показывает для ссылки.

Нужно что-то подобное для вашей работы?

Тот же подход работает для ответов клиентам, отчётов, описаний товаров и постов в соцсети — на таджикском, русском и английском, а важное одобряет человек. Расскажите, какая задача отнимает больше всего времени: @SimorghDev.