Пошаговые инструкции intermediate 13 мин

Как сделать ИИ-агента для таблиц: Excel, Google Sheets и pandas

Пошаговая инструкция по AI-агенту для таблиц: Excel, CSV, Google Sheets, pandas, openpyxl, schema, data validation, расчеты, write-back и audit log.

AI-агенты Инструкция таблицы Excel Google Sheets pandas openpyxl

ИИ-агент для таблиц должен работать не как чат, который “посмотрел на Excel”, а как аккуратный аналитический инструмент: прочитал листы, понял схему колонок, проверил типы данных, сделал расчет, объяснил результат и записал изменения только после валидации. Таблицы легко испортить: сдвинуть строки, потерять формулы, перепутать даты, валюты и пустые значения.

Короткая версия: не отправляйте всю таблицу в модель как текст. Сначала прочитайте файл через pandas/openpyxl или Google Sheets API, опишите schema, дайте модели summary и нужные строки, проверьте результат кодом и только потом записывайте изменения.

Что мы собираем

Соберем схему ИИ-агента для Excel, CSV и Google Sheets. Он сможет отвечать на вопросы по таблице, искать ошибки, делать сводки, извлекать данные, готовить формулы и безопасно записывать результат.

  • Читает XLSX, CSV или Google Sheets.
  • Определяет листы, колонки и типы данных.
  • Делает summary таблицы.
  • Выполняет расчеты кодом, а не “на глаз”.
  • Возвращает объяснение с проверяемыми цифрами.
  • Пишет изменения только в разрешенные диапазоны.
  • Логирует, какие ячейки были изменены.

Шаг 1. Определите режим работы

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

  • Q&A по таблице: ответить на вопрос.
  • Data validation: найти ошибки, дубли, пропуски.
  • Analytics: посчитать метрики, сводки, динамику.
  • Enrichment: добавить категории, теги, комментарии.
  • Formula helper: предложить формулы.
  • Write-back: записать результат в Excel или Google Sheets.

Самый безопасный старт - read-only режим: агент читает таблицу и объясняет выводы, но ничего не меняет.

Шаг 2. Прочитайте таблицу через код

Не заставляйте модель парсить XLSX как текст. Для Python-агента используйте pandas для анализа данных и openpyxl для аккуратной работы с Excel-файлом.

import pandas as pd

df = pd.read_excel("sales.xlsx", sheet_name="Orders")

print(df.head())
print(df.dtypes)
print(df.describe(include="all"))

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

Шаг 3. Опишите schema таблицы

Модель должна видеть не весь файл, а описание структуры и релевантные данные.

{
  "sheet": "Orders",
  "rows": 1250,
  "columns": {
    "order_id": "string",
    "created_at": "date",
    "customer": "string",
    "amount": "number",
    "currency": "string",
    "status": "enum: paid, pending, refunded"
  }
}

Schema помогает модели понять, какие колонки существуют, какие типы данных ожидаются и какие значения допустимы.

Шаг 4. Очистите данные перед анализом

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

  • Удалите полностью пустые строки.
  • Приведите даты к одному формату.
  • Приведите суммы к числам.
  • Нормализуйте статусы и категории.
  • Отдельно обработайте листы с итогами и примечаниями.
  • Сохраните исходный файл без изменений.

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

Шаг 5. Делайте расчеты кодом

LLM не должна считать большие таблицы в голове. Пусть модель формулирует задачу, а расчеты делает pandas, SQL или spreadsheet engine.

revenue_by_status = (
    df.groupby("status", dropna=False)["amount"]
    .sum()
    .sort_values(ascending=False)
)

После расчета модель может объяснить результат человеческим языком. Так меньше ошибок в числах и проще проверить ответ.

Шаг 6. Передавайте модели только нужный срез

Большую таблицу нельзя целиком отправлять в prompt. Передавайте summary, schema и релевантные строки.

{
  "question": "Почему выручка упала в апреле?",
  "schema": "...",
  "summary": {
    "rows": 1250,
    "date_range": "2026-01-01..2026-05-20",
    "total_revenue": 1830000
  },
  "relevant_rows_sample": [
    {"month": "2026-03", "revenue": 520000, "orders": 190},
    {"month": "2026-04", "revenue": 310000, "orders": 118}
  ]
}

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

Шаг 7. Настройте проверки данных

ИИ-агент для таблиц особенно полезен в data validation.

Проверяйте:

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

Каждая проверка должна возвращать строки, колонки и причину, а не только “нашел ошибки”.

Шаг 8. Сделайте безопасный write-back

Запись в таблицу - рискованное действие. Сначала работайте в preview mode: агент показывает, какие ячейки хочет изменить, и ждет подтверждения.

{
  "action": "update_cells",
  "sheet": "Orders",
  "changes": [
    {"cell": "H42", "old": "", "new": "needs_review", "reason": "Нет номера телефона"},
    {"cell": "H84", "old": "", "new": "duplicate", "reason": "Повтор order_id"}
  ],
  "requires_approval": true
}

После подтверждения backend записывает изменения через openpyxl или Google Sheets API и сохраняет audit log.

Шаг 9. Не ломайте формулы и форматирование

Если открыть XLSX, переписать DataFrame и сохранить файл целиком, можно потерять форматирование, формулы, графики или скрытые листы. Для аккуратного редактирования используйте openpyxl и пишите только нужные ячейки.

from openpyxl import load_workbook

wb = load_workbook("sales.xlsx")
ws = wb["Orders"]
ws["H42"] = "needs_review"
wb.save("sales_reviewed.xlsx")

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

Шаг 10. Подключите Google Sheets

Для Google Sheets агент должен работать через API и ограниченные права. Не давайте ему полный доступ ко всему Drive.

  • Используйте service account или OAuth с понятными scopes.
  • Ограничьте доступ конкретной таблицей.
  • Читайте диапазоны через values.get.
  • Пишите только разрешенные диапазоны через values.update или batchUpdate.
  • Логируйте spreadsheet_id, range и количество измененных ячеек.
  • Не храните access tokens в prompt или logs.

Если агент работает с таблицей команды, добавьте подтверждение перед массовой записью.

Шаг 11. Добавьте human review

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

Передавайте на review, если:

  • меняется больше N ячеек;
  • затронуты суммы, реквизиты, налоги, зарплаты;
  • модель не уверена в mapping колонок;
  • есть неоднозначные даты или валюты;
  • формулы могут быть перезаписаны;
  • результат влияет на отчетность или клиентов.

Для read-only анализа review обычно не нужен, но для write-back лучше включить его с первого дня.

Шаг 12. Тестируйте на реальных файлах

Соберите маленький набор проблемных таблиц.

  • XLSX с несколькими листами.
  • CSV в неправильной кодировке.
  • Таблица с объединенными ячейками.
  • Даты в разных форматах.
  • Суммы как текст.
  • Скрытые листы.
  • Формулы и итоговые строки.
  • Большой файл на десятки тысяч строк.

Проверяйте отдельно: чтение, schema detection, расчеты, validation, write-back и сохранение формул.

Мини-чеклист

  • Режим выбран: read-only, validation, analytics, enrichment или write-back.
  • Таблица читается через код, а не как сырой текст.
  • Schema колонок описана.
  • Данные очищаются до анализа.
  • Расчеты выполняются pandas/SQL/Sheets, а не “на глаз” моделью.
  • Модели передается summary и релевантный срез.
  • Write-back работает через preview и approval.
  • Оригинальный файл не перезаписывается без копии.
  • Формулы и форматирование защищены.
  • Есть audit log изменений.

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

Можно ли просто загрузить Excel в ChatGPT или другую модель?

Для разового анализа небольшой таблицы можно. Но для агента нужен pipeline: чтение через код, schema, проверки, расчеты, preview изменений и безопасная запись результата.

Что лучше для Excel: pandas или openpyxl?

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

Как работать с большими таблицами?

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

Можно ли агенту разрешить запись в Google Sheets?

Да, но с ограниченными правами, разрешенными диапазонами, preview изменений, approval и audit log. Для массовых изменений лучше требовать подтверждение человека.

Как избежать ошибок в числах?

Считать кодом, а не моделью. Пусть pandas, SQL или spreadsheet engine считают суммы, средние, группировки и проверки. Модель должна объяснять результат и формировать следующий шаг.

Дальше по теме

Похожие материалы