![]()
Просьба «исправь таблицу» скрывает опасную неоднозначность. Модель может принять артикул за число, убрать ведущие нули или объединить двух людей с одинаковым именем. Поэтому полезный первый результат — отчёт о подозрительных данных и предложениях изменений, которые ещё можно проверить.
В Чатиуме можно собрать кабинет подготовки таблиц: исходный файл остаётся неизменным, а пользователь видит предложенные правки по строкам. Только подтверждённые правила применяются к новой версии.
Создай кабинет проверки таблиц. Сохраняй исходный файл, находи неоднозначные значения и показывай предлагаемые изменения по строкам. Не объединяй записи и не исправляй данные молча. Дай подтвердить правила, получить новую версию и увидеть отчёт о преобразованиях.
Сначала определите смысл столбцов
Значение 00125 может быть артикулом, номером сотрудника или количеством. Только в последнем случае преобразование в число обычно сохраняет смысл. Название столбца помогает, но иногда тоже недостаточно: «код» требует пояснения.
Опишите типы, допустимые значения и обязательность полей. Для даты укажите формат и контекст, для денежных сумм — единицы, для идентификаторов — необходимость точного сохранения. Модель может предложить правила, но не должна сама выбирать их там, где возможны разные интерпретации.
Пример: четыре подозрительные ячейки
| Значение | Возможная проблема | Безопасный следующий шаг |
|---|---|---|
00125 |
Потеря ведущих нулей | Уточнить, идентификатор ли это |
03/04/2026 |
Два порядка дня и месяца | Проверить формат источника |
1,250 |
Разделитель дроби или тысяч | Уточнить числовой формат |
| Два одинаковых имени | Возможный дубль или разные люди | Сравнить устойчивые идентификаторы |
Ни одно из этих значений не нужно автоматически «улучшать» по внешнему виду. Отчёт показывает причину сомнения и нужное правило, а не маскирует выбор модели под исправление ошибки.
Разделите смысловую помощь и вычисления
Нейросеть полезна для обнаружения похожих категорий, объяснения странных формулировок и предложения правил нормализации. Точное применение утверждённого правила лучше выполнять программно: удалить согласованные пробелы, проверить формат, посчитать количество строк.
Если нужно объединить «ООО Ромашка» и «Ромашка, ООО», сначала подтвердите, что речь об одной организации. Похожее название не заменяет устойчивый идентификатор. Ошибочное объединение иногда труднее заметить, чем оставшийся дубль.
Короткий вызов Mistral в Чатиуме
В sourceText передайте описание столбцов и подготовленный фрагмент таблицы с номерами строк. Этот вызов составляет отчёт; он не перезаписывает файл и не выполняет предложенные преобразования.
Это фрагмент серверного обработчика Чатиума. ctx передаёт платформа, sourceText содержит проверенный текст из формы. done и failed — заранее зарегистрированные маршруты app.function для результата и ошибки. Они проверяют, что вызов пришёл от приложения start: caller.type === 'plugin' && caller.appSlug === 'start'.
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 и версией импорта. Для каталога товаров следующий шаг описан в генерации карточек, а права на изменение — в ручной проверке.