← Все материалы

Гайд

ИИ исправит таблицу? Почему начинать нужно с отчёта об ошибках

Как использовать ИИ для очистки таблиц без потери данных: отчёт о проблемах, правила преобразования и подтверждение изменений в Чатиуме.

Обновлено

Таблица данных, диаграмма и лупа над отличающейся ячейкой

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

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

Промпт

Создай кабинет проверки таблиц. Сохраняй исходный файл, находи неоднозначные значения и показывай предлагаемые изменения по строкам. Не объединяй записи и не исправляй данные молча. Дай подтвердить правила, получить новую версию и увидеть отчёт о преобразованиях.

Сначала определите смысл столбцов

Значение 00125 может быть артикулом, номером сотрудника или количеством. Только в последнем случае преобразование в число обычно сохраняет смысл. Название столбца помогает, но иногда тоже недостаточно: «код» требует пояснения.

Опишите типы, допустимые значения и обязательность полей. Для даты укажите формат и контекст, для денежных сумм — единицы, для идентификаторов — необходимость точного сохранения. Модель может предложить правила, но не должна сама выбирать их там, где возможны разные интерпретации.

Пример: четыре подозрительные ячейки

Значение Возможная проблема Безопасный следующий шаг
00125 Потеря ведущих нулей Уточнить, идентификатор ли это
03/04/2026 Два порядка дня и месяца Проверить формат источника
1,250 Разделитель дроби или тысяч Уточнить числовой формат
Два одинаковых имени Возможный дубль или разные люди Сравнить устойчивые идентификаторы

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

Разделите смысловую помощь и вычисления

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

Если нужно объединить «ООО Ромашка» и «Ромашка, ООО», сначала подтвердите, что речь об одной организации. Похожее название не заменяет устойчивый идентификатор. Ошибочное объединение иногда труднее заметить, чем оставшийся дубль.

Короткий вызов Mistral в Чатиуме

В sourceText передайте описание столбцов и подготовленный фрагмент таблицы с номерами строк. Этот вызов составляет отчёт; он не перезаписывает файл и не выполняет предложенные преобразования.

Это фрагмент серверного обработчика Чатиума. ctx передаёт платформа, sourceText содержит проверенный текст из формы. done и failed — заранее зарегистрированные маршруты app.function для результата и ошибки. Они проверяют, что вызов пришёл от приложения start: caller.type === 'plugin' && caller.appSlug === 'start'.

TypeScript
import { startCompletion } from '@start/sdk'

const { completionId } = await startCompletion(ctx, {
  model: 'mistralai/mistral-large-4-0',
  system: 'Проверь описание столбцов и строки таблицы. Составь отчёт: строка, поле, проблема, предлагаемое правило и вопрос. Не меняй значения и не объединяй записи; неоднозначность сохраняй явно.',
  messages: [{
    role: 'user',
    content: [{ type: 'text', text: sourceText }],
  }],
  onCompletionCompleted: done,
  onCompletionFailed: failed,
})

Метод возвращает completionId. Сам ответ приходит позже в onCompletionCompleted, ошибка — в onCompletionFailed; до этого приложение показывает ожидание. Это схема вызова, а не полный код приложения.

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

Что проверять после преобразования

Сравните количество строк, набор идентификаторов и обязательные поля до и после. Если строки удалялись или объединялись, у каждого изменения должно быть понятное основание. Суммы и другие контрольные показатели пересчитывайте из данных, а не просите модель оценить их на глаз.

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

Когда стоит остановить автоматическое исправление

Если правило зависит от неизвестного смысла, отправьте записи на уточнение. Например, разные форматы дат в одном столбце могут происходить из разных систем. Универсальное преобразование всех строк способно исправить часть и испортить остальные.

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

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

Можно ли просто загрузить CSV и получить чистый файл?

Для однозначных правил — возможно. Но сначала нужно определить типы столбцов и условия исправления. Иначе «чистота» будет означать скрытые догадки.

Нужно ли показывать каждую простую правку?

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

Как использовать очищенные данные дальше?

Связать их с устойчивыми ID и версией импорта. Для каталога товаров следующий шаг описан в генерации карточек, а права на изменение — в ручной проверке.