Слогер Создать блог
AI

Как заставить ИИ не врать в заявках: разбор подхода с жёсткой проверкой

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

Вы когда-нибудь доверяли ИИ заполнить заявку на грант или магистратуру, а потом ловили себя на мысли, что он мог придумать что-то от себя? Эта проблема знакома многим. Языковые модели пишут убедительно, но не отличают правду от вымысла. Один разработчик нашёл способ это исправить.

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

Как это работает

  1. Вы загружаете документ с требованиями — PDF, ссылку или фото страницы.
  2. Модель извлекает дедлайн, лимиты слов, обязательные разделы, стиль написания.
  3. Вы проверяете и редактируете эти поля. Модель не истина в последней инстанции. Каждое изменение сохраняется рядом с исходным значением, чтобы было видно, кто решил.
  4. Модель задаёт уточняющие вопросы, но только о том, чего нет в ваших файлах. Уже готовые ответы не заставляет переписывать.
  5. После интервью она пишет черновик. Если для какого-то факта нет доказательств, вместо предложения вставляется маркер [NEEDS: ...].
  6. Чекер — обычный Python-скрипт, без единого вызова ИИ — проверяет жёсткие правила. Маркер [NEEDS] считается критической ошибкой. Черновик с таким маркером отправить нельзя.

Собственно, пауза между черновиком и отправкой — и есть суть. Модель может ошибаться при чтении требований, но она не может ошибаться и быть последней инстанцией одновременно. Поэтому требования возвращаются как редактируемые поля, а вердикт о готовности выносит код.

Главное решение: модель воспринимает, код решает

Если спросить языковую модель «этот текст до 500 слов?», она с высокой вероятностью ошибётся, потому что не умеет считать. А если попросить её же проверить, не выдумала ли она что-то, она легко себя «заболтает». Хороший текст убеждает любого читателя, включая самого автора.

Поэтому чекер не содержит ИИ. Это 263 строки Python, которые детерминированно решают, можно ли отправлять. Один и тот же черновик всегда получит один и тот же вердикт. Это единственная часть системы, которую можно покрыть настоящими тестами.

Два бага, которые возникли только в продакшене

Первый баг: при деплое в Cloud Run команда gcloud run deploy --source . читает .gitignore, если нет .gcloudignore. Папка с личной историей была в игноре, и сервис развернулся без данных. Всё работало, но система забыла, для кого пишет. Спасло то, что health-эндпоинт возвращал количество файлов корпуса. Если health check говорит «ок», а продукт пуст — это не health check.

Второй баг: при обращении к Secret Manager в коде передавался словарь вместо строки. Этот путь выполнялся только на Cloud Run, потому что локально ключ читается с диска. Все тесты проходили, но в проде падало с protobuf error ровно на том запросе, ради которого всё создавалось.

Чему это учит

Если вы строите подобную систему, разделяйте творчество и контроль. Генерация — модель, проверка — код.

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

Пишите тесты для чекера. Это единственная часть, которую можно тестировать.

И помните: «кнопка неактивна» — это утверждение о браузере, а «POST /api/send возвращает 409» — о системе. Проверяйте то, что действительно важно.

Трудным было не написание текстов, а решение, что системе запрещено делать, и как сделать, чтобы это решение было трудно отменить.

По материалам: career. Текст переработан редакцией Слогера.

← На главную

Рекламное место — Конец поста
Реклама · Слогер

Комментарии (0)

Войдите, чтобы комментировать.

Пока нет комментариев. Будьте первым.

Стартапы

Как превратить диссертацию в бизнес: разбор пути от научной работы до двух компаний

Одна диссертация про заикание и виртуальную реальность, MBA, две компании в США и Индии и продукт на стыке науки и рынка. Разбираем последовательность шагов и то, что из неё можно взять себе.

Слогер 16.10.2026 ▲ 0
Карьера

Почему в удалённых вакансиях не пишут зарплату и как всё-таки понять вилку

Открытая вилка OpenAI в 198 000–320 000 долларов в год — редкость: деньги называет лишь каждая пятая удалённая вакансия. Разбираем, как читать такие цифры и что делать, когда компенсацию скрыли.

Слогер 16.10.2026 ▲ 0
Fluxs lenta
Реклама · fluxs.ru
Разработка

Почему чистый код не продаёт продукт: пять привычек вместо рефакторинга

Аккуратная архитектура и зелёные тесты не приводят покупателей. Разбираем, почему разработчики прячутся в редакторе и в каком порядке делать продукт, чтобы он кому-то понадобился.

Слогер 15.10.2026 ▲ 0
Разработка

Как стать разработчиком в Канаде: какие навыки, проекты и портфолио реально смотрят

Канадский техсектор стабильно ищет людей с практическим опытом: Python, JavaScript и современные фреймворки плюс готовые проекты в портфолио. Разбираем, что учить и как показывать результат.

Слогер 15.10.2026 ▲ 0
AI

Конструктор сайтов с ИИ: лендинг под рекламу за 5 минут

Можно ли собрать сайт под рекламу за 5 минут? Мы проверили. Описали бизнес, ИИ сделал страницу с нуля, в редакторе поправили блоки, подключили форму заявок и опубликовали. Рассказываем, как это выглядит и что придётся доделать руками.

Слогер 14.10.2026 ▲ 0
Fluxs lenta
Реклама · fluxs.ru
AI

Почему просмотры не превращаются в деньги: разбор шага между «увидели» и «купили»

Агент с бюджетом в токенах потратил 1200 токенов на песню, портрет, витрину и страницу — и заработал ноль. Разбираем, что стоит между вниманием и оплатой и как это проверить на себе.

Слогер 14.10.2026 ▲ 0
Карьера

Какие вакансии для выпускников растут, а какие падают: разбор 13 профессий по данным ONS

ONS ежемесячно считает новые онлайн-объявления о работе в Британии. Эти данные никто не читает, потому что они выходят неудобной таблицей. Мы разобрали двенадцать месяцев по тринадцати профессиям, в которые попадают выпускники, — и там есть сюрпризы.

Слогер 14.10.2026 ▲ 0
Разработка

Тестовое задание как ловушка: как фейковое собеседование заражает ноутбук через npm

Никаких интервью, только ссылка на GitHub и просьба «склонировать и запустить». Внутри — чужой npm-токен и пакет, которого нет в публичном реестре. Разбираем схему по шагам и проверяем, что делать, если вы уже нажали npm install.

Слогер 14.10.2026 ▲ 0
Fluxs lenta
Реклама · fluxs.ru
Маркетинг

Мессенджер для компании: каналы, клиенты и акции в одном месте

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

Слогер 13.10.2026 ▲ 1