Проверка документов нейросетью: чек-лист ошибок, которые ИИ находит хорошо
Чек-лист проверок, которые удобно отдать модели, и тех, что нельзя. Плюс короткий код: проверки в коде отдельно, смысловые замечания от модели отдельно.
5 мин · · бизнес · автоматизация
Нейросеть для проверки документов полезна как второй читатель: она быстро находит противоречия между разделами, пропущенные обязательные пункты и битые ссылки на пункты. Но не всё стоит отдавать модели: контрольные суммы и арифметику надёжнее считать кодом, а юридическую и фактическую силу документа оценивает человек. Ниже чек-лист из трёх групп (код, модель, человек), рабочий пример на Python и расчёт стоимости. Нейросеть для исправления документов и правки текста работает по тому же принципу: сначала находим замечания, потом вы решаете, что принять.
Три группы проверок
Разделите проверки по тому, кто надёжнее с ними справляется.
| Группа | Кто проверяет | Примеры |
|---|---|---|
| Формальные | Код | контрольные суммы ИНН, формат дат, обязательные поля, подсчёт сумм |
| Смысловые | Модель, затем человек | противоречия, пропуски, неопределённые термины, несогласованные имена |
| Содержательные | Человек | соответствие закону, реальные факты, подписи, допустимость условий |
Эта таблица главное в статье: модель не отменяет остальные группы, а закрывает среднюю.
Чек-лист: что поручить модели
Эти пункты хорошо формулируются словами и плохо ловятся регулярными выражениями. Проверьте на своих документах, насколько точно модель их находит:
- Противоречия между разделами. В одном месте срок оплаты 5 дней, в другом 10.
- Несогласованные данные. Разные написания названия стороны, разные суммы в тексте и приложении.
- Висячие ссылки. «См. п. 4.3», а такого пункта нет; «Приложение 2», которого в документе нет.
- Пропуски обязательных разделов относительно списка, который вы дали (предмет, сроки, порядок расчётов, ответственность, реквизиты).
- Неопределённые термины. Слово с большой буквы используется, но нигде не расшифровано.
- Сумма цифрами и прописью. Модель может заметить расхождение, но итоговую арифметику всё равно перепроверьте кодом.
- Опечатки и стилистика. Единый стиль обращения, повторы, двусмысленные формулировки.
- Нумерация и форматирование. Перескоки номеров, разные форматы дат.
Чек-лист: что оставить коду
Если проверка алгоритмическая, не тратьте токены и не рискуйте ошибкой модели. Пример: контрольная цифра десятизначного ИНН.
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:
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.00456deepseek-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.
Похожие статьи
- Нейросеть для тестировщика: тест-кейсы, чек-листы и баг-репортыКак QA-инженеру использовать модель для тест-кейсов, чек-листов и баг-репортов, проверять полноту покрытия и не получить придуманные требования.
- Обезличивание данных перед отправкой в нейросеть: практический подходПерсональные данные не нужно отправлять модели, чтобы она обработала документ. Показываем, как заменять их метками, возвращать в ответ и проверять, что ничего не просочилось.
- Нейросеть для HR: вакансии, письма кандидатам и разбор резюмеМодель может готовить черновики вакансий и писем и делать первичный разбор резюме. Разбираем, что отдавать, как работать с персональными данными кандидатов и как не допустить предвзятых решений.
- Генерация FAQ нейросетью: вопросы из обращений и ответы по базе знанийХороший FAQ строится на том, что клиенты правда спрашивают. Показываем пайплайн: группируем обращения, отвечаем по базе знаний со ссылкой на источник и проверяем результат.