Проверка документов нейросетью: чек-лист ошибок, которые ИИ находит хорошо

Чек-лист проверок, которые удобно отдать модели, и тех, что нельзя. Плюс короткий код: проверки в коде отдельно, смысловые замечания от модели отдельно.

5 мин · · бизнес · автоматизация

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

Три группы проверок

Разделите проверки по тому, кто надёжнее с ними справляется.

ГруппаКто проверяетПримеры
ФормальныеКодконтрольные суммы ИНН, формат дат, обязательные поля, подсчёт сумм
СмысловыеМодель, затем человекпротиворечия, пропуски, неопределённые термины, несогласованные имена
СодержательныеЧеловексоответствие закону, реальные факты, подписи, допустимость условий

Эта таблица главное в статье: модель не отменяет остальные группы, а закрывает среднюю.

Чек-лист: что поручить модели

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

  1. Противоречия между разделами. В одном месте срок оплаты 5 дней, в другом 10.
  2. Несогласованные данные. Разные написания названия стороны, разные суммы в тексте и приложении.
  3. Висячие ссылки. «См. п. 4.3», а такого пункта нет; «Приложение 2», которого в документе нет.
  4. Пропуски обязательных разделов относительно списка, который вы дали (предмет, сроки, порядок расчётов, ответственность, реквизиты).
  5. Неопределённые термины. Слово с большой буквы используется, но нигде не расшифровано.
  6. Сумма цифрами и прописью. Модель может заметить расхождение, но итоговую арифметику всё равно перепроверьте кодом.
  7. Опечатки и стилистика. Единый стиль обращения, повторы, двусмысленные формулировки.
  8. Нумерация и форматирование. Перескоки номеров, разные форматы дат.

Чек-лист: что оставить коду

Если проверка алгоритмическая, не тратьте токены и не рискуйте ошибкой модели. Пример: контрольная цифра десятизначного ИНН.

bash
def inn10_valid(inn: str) -> bool:
    if len(inn) != 10 or not inn.isdigit():
        return False
    weights = [2, 4, 10, 3, 5, 9, 4, 6, 8]
    check = sum(int(d) * w for d, w in zip(inn, weights)) % 11 % 10
    return check == int(inn[9])

print(inn10_valid("7707083893"))  # True
print(inn10_valid("7707083894"))  # False

То же для дат (через datetime), для сумм (сложите позиции и сравните с итогом), для обязательных полей (поиск по шаблону). Для ИНН физических лиц, ОГРН и других реквизитов алгоритм свой, его лучше сверить с официальным описанием.

Чек-лист: что остаётся за человеком

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

Пример: смысловая проверка через API

Модель просим вернуть замечания списком в JSON, с цитатой, чтобы человек быстро находил место. Запрос в OpenAI-формате, подробности в документации chat completions:

bash
import json
from openai import OpenAI

client = OpenAI(base_url="https://api.zukko.pro/v1", api_key="fetch_ваш_ключ")

CHECKLIST = """1. Противоречия между разделами (сроки, суммы, стороны).
2. Ссылки на пункты и приложения, которых нет в документе.
3. Отсутствие разделов: предмет, сроки, порядок расчётов, ответственность, реквизиты.
4. Термины, использованные без определения.
5. Разные написания одного и того же названия или имени."""

SYSTEM = f"""Ты проверяешь текст документа по списку. Ничего не исправляй и не выдумывай.
Проверяй только пункты списка:
{CHECKLIST}

Обратите внимание на три приёма: список проверок задан явно (модель не гуляет по тексту), цитата позволяет мгновенно найти место, а «уверенность» помогает расставить приоритеты. Если нужен строго валидный JSON, посмотрите структурированный JSON-ответ.

Как не пропустить ошибки модели

Модель ошибается в обе стороны: придумывает замечание, которого нет, и не замечает настоящее. Что делать:

  • Просите цитату и проверяйте, что она есть в тексте: if item["цитата"] not in text, такое замечание помечайте как сомнительное.
  • Для важных документов запустите проверку дважды на разных моделях и сравните отчёты. Расхождения посмотрите глазами.
  • Тестируйте на документе с заранее внесёнными ошибками: подменили срок, удалили пункт, и посмотрите, что найдено. Так вы узнаете, чего ждать от модели именно на ваших текстах.
  • Очень длинные документы не режьте произвольно: у моделей каталога контекст 1M токенов, обычно документ влезает целиком, и противоречия между далёкими разделами видны только при целом тексте. Если документ всё же длиннее, см. суммаризацию длинных документов.

Сколько стоит проверка

Цены на 18 октября 2026, $ за 1M токенов (вход / выход): gpt-6.1-sol 0.27 / 1.32, deepseek-v4.1-flash 0.013 / 0.038. Пример: договор около 12 000 токенов, плюс список проверок, отчёт на 1 000 токенов.

  • gpt-6.1-sol: 12 000 × 0.27 + 1 000 × 1.32 = 3 240 + 1 320 = 4 560, то есть $0.00456
  • deepseek-v4.1-flash: 12 000 × 0.013 + 1 000 × 0.038 = 156 + 38 = 194, то есть $0.000194

(делим на 1 000 000). Для сотни документов в месяц это порядка $0.46 и $0.02 соответственно (100 × 0.00456 и 100 × 0.000194). Дешёвая модель, возможно, пропустит больше, поэтому сначала сравните отчёты на своих документах. Свежие цены всегда в ответе GET https://api.zukko.pro/v1/models. Если документ нужно сравнить с прошлой версией, пригодится отдельный разбор по анализу договоров.

Чтобы запустить пример, создайте ключ в кабинете и прогоните скрипт на обезличенном документе.

Частые вопросы

Может ли нейросеть полностью заменить вычитку документов?

Нет. Она закрывает смысловые проверки и экономит время, но формальные проверки лучше делать кодом, а содержательные остаются за человеком.

Можно ли просить модель сразу исправить документ?

Можно, но сначала получите список замечаний и примите решение по каждому. Автоматическая правка всего текста может незаметно изменить смысл условий.

Какие документы можно отправлять на проверку?

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

Как понять, что модель нашла не всё?

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

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.