Нейросеть для таблиц: как дать ИИ доступ к Google Sheets
Короткий ответ: нужно перестать копировать данные в чат и дать модели прямой доступ к таблице. Делается это посредством MCP серверов, устанавливается быстро, а свой писать не нужно. С этого момента вы не просите в чате готовую формулу, а говорите «Данные на листе “Лист 1” из рекламного кабинета ВК, а на листе “Лист 2” данные из CRM, посчитай окупаемость на отдельном листе и сделай формулы, чтобы при обновлении данных в дашборде всегда был актуальный месяц». Через несколько минут проверяете результат и даете комментарии.
Я партнер онлайн проекта, и я закрываю такие сферы как аналитика, автоматизация и лидген. Собираю команду, анализирую их работу и оцифровываю разные процессы. В пике у нас было семь команд по трафику, и работали они в разных направлениях. Сборка одного дашборда занимала у меня день. Сейчас похожая таблица собирается за час, из которого моего внимания - минут десять.
Ниже как это устроено, что ставить и на чём я уже обжегся.
Про ROMI на скриншоте. Он отрицательный, и это не провал маркетинга. В этом бизнесе клиент не окупается с первой продажи, он окупается с повторных, а LTV здесь около года и двух месяцев. На картинке два месяца, поэтому цифра такая.
Почему чат с копипастой не работает
Так делают почти все, и я так делал. Открываешь Клода или ChatGPT, кидаешь скриншот таблицы, пишешь: в столбце А у меня даты, в столбце Б расход, дай формулу для окупаемости. Получаешь формулу, вставляешь, не работает. Снова скриншот, снова «вот такая ошибка», правите вместе.
У этого способа три беды, и все три неустранимы.
Разделители. В русской локали Google Таблиц аргументы формулы разделяются точкой с запятой, а не запятой. Модель раз за разом писала мне через запятую. Я объяснял, она соглашалась, а в следующем сообщении писала снова через запятую - потому что в новом окне она ничего не помнит о моей локали.
Слепота. Модель видит скриншот, а не таблицу. Она не знает, что на листе
raw двести тысяч строк, что три колонки скрыты, а на соседнем листе формулы,
которые сломаются от вставки.
Двойная работа. Многие обходят это так: выгружают данные в Excel, грузят файл в чат, работают, потом переносят результат обратно. Дальше команда что-то меняет в таблице, и всё по новой. Вы занимаетесь не аналитикой, а перекладыванием файлов.
Что меняется, когда доступ прямой
MCP - это протокол, через который модель получает инструменты: не текст про вашу таблицу, а саму таблицу. Читает, пишет, создаёт листы, ставит формулы.
Дальше начинается интересное. Google даёт управлять через API не только данными, но и скриптами Apps Script. То есть модель может написать скрипт, который сам выгружает данные из рекламного кабинета, разложит их по листам и посчитает. А скрипт ставится на расписание. К утру у вас свежий отчёт, который собрался сам.
Ещё одна вещь, которую я не ожидал. У меня математический склад ума и никакого дизайнерского: мои таблицы всегда выглядели как таблицы бухгалтера. Теперь я прошу привести лист в приличный вид, и он приводит. Это звучит мелко, но отчёт, который не стыдно показать собственнику, и отчёт, в котором он не может найти нужную цифру, - разные вещи.
Что ставить: два готовых сервера
Свой сервер писать не надо. Для таблиц есть готовый, ставится одной строкой:
npx -y mcp-gsheets@latest
Авторизация - через сервисный аккаунт Google: указываете ID проекта и путь к файлу с ключом.
Для управления скриптами Apps Script я использую отдельный сервер, google-apps-script-mcp-server от mohalmah. Шестнадцать инструментов, OAuth с автообновлением токена, лицензия MIT. Он про другое: создать проект скрипта, обновить код, выкатить версию.
Оба бесплатны. Платите вы только за подписку на модель.
А вот дальше будет квест. Настройка сервисного аккаунта в Google Cloud Console - это отдельная история: проект, включение нужных API, ключ, выдача доступов. Я хотел бы посмотреть видео, где Марк Цукерберг сам садится и без ошибок настраивает рекламу в своём Фейсбуке. Такого не бывает. Здесь то же самое: всё настраивается глубоко и неочевидно, и это скорее для инженеров, чем для любителей.
По времени: если разбираться самому, закладывайте час. Если повторять за тем, кто уже прошёл, - пятнадцать минут.
И отдельная деталь, из-за которой спотыкаются чаще всего: сервисному аккаунту нужно дать доступ к самой таблице. У него есть свой email, и таблицей с ним надо поделиться, как с обычным человеком. Иначе всё настроено правильно, а модель говорит, что таблицы не существует.
Главный приём: не промпт, а документация
Вот то, из-за чего у одних получается, а у других нет.
Я не пишу длинных инструкций каждый раз. Я один раз описал правила работы и
положил их в папку проекта: как называются таблицы, что лист raw - это сырые
данные без ручной правки, staging - промежуточные расчёты, dashboard - итоговые
метрики. Что разделитель в формулах - точка с запятой. Что и откуда мы тянем.
Дальше типовая задача звучит так:
Зайди в такую-то папку, посмотри документацию, как мы работаем с таблицами. Потом зайди в другую папку, посмотри, как мы работаем с amoCRM. Сделай скрипт, который выгружает такие-то данные, обрабатывает их так-то и складывает в таблицу вот таким образом. Потом посчитай по ним вот эти показатели.
Всё это я наговариваю голосом. Десять минут на объяснение, дальше жду.
Разница принципиальная. Промпт живёт одно окно, документация живёт всегда. Правило про точку с запятой, записанное один раз, больше никогда не возвращается ошибкой.
Грабли, по которым пришлось пройти
Он сносит то, что было. Самая неприятная уязыимость. Просишь добавить отдельный скрипт - он очищает проект и заливает только свой. А потом сообщает: кажется, я удалил то, что там было. У меня это случилось на боевой таблице, восстанавливал через историю версий, и это было непросто.
Лечится предупреждением заранее: в таблице есть данные и код, их трогать нельзя, добавляй рядом, ничего не перезаписывай. Плюс копия перед крупными изменениями.
Скрытые и свёрнутые строки. Он их не любит и путается. Перед работой лучше развернуть.
Границы. Всегда говорите, с какими листами работаем, а какие не трогаем. Без этого он считает, что вся таблица в его распоряжении.
Проверяйте результат. Цифру, которую он посчитал, надо сверить хотя бы один раз руками. Ошибается он редко, но ошибку в отчёте увидит собственник, и объяснять её будете вы.
Отчёт делается под читателя, а не «вообще»
Это не про нейросети, но без этого любой дашборд бесполезен, и модель сама за вас этого не решит.
- Дата-инженеру нужны сырые данные, много строк, никакой красоты
- Собственнику нужны две-три цифры, за которыми он следит постоянно: сходится ли окупаемость и всё ли работает
- Директору по маркетингу нужен разрез по командам: кто эффективнее, какие креативы лучшие, чтобы раздать задачи на неделю. И если одна команда стабильно сливает бюджет, а другая вытаскивает, - забрать бюджет у первой и отдать второй
Когда вы ставите задачу модели, вы должны сказать, для кого отчёт. Иначе получите полотно, в котором собственник не найдёт свою цифру.
Таблица как окно вывода
Неожиданный побочный эффект. Таблица перестаёт быть местом, где считают, и становится местом, куда складывают результаты других процессов.
Пример из моей работы: зайти в amoCRM, выгрузить записи звонков, расшифровать их другим инструментом, агентами найти в расшифровках нужные ситуации, и все найденные случаи со ссылками на сделки сложить в отдельную таблицу. Дальше из этой таблицы данные берут люди и следующие скрипты.
Ни одной строки в эту таблицу руками никто не вносит. Она интерфейс, а не документ.
Про Excel
Всё вышесказанное - про Google Таблицы. С Excel так не выйдет: у него нет такого же открытого API к файлу, лежащему у вас на диске. Варианты есть, но они про работу с файлом, а не с живой таблицей, и всей истории со скриптами по расписанию там не будет.
Если у вас всё в Excel и вы хотите так же, самый короткий путь - перенести рабочие отчёты в Google Таблицы. Звучит радикально, но это один раз, а выигрыш постоянный.
Кому это не нужно
Тому, кто не понимает свои данные.
Это не волшебная таблетка. Это плагин, который позволяет использовать свой мозг на сто двадцать процентов. Но если знаний ноль, он тоже прибавит двадцать - и у вас будет всего двадцать процентов.
Если вы не можете посмотреть на посчитанную конверсию и сказать «здесь что-то не так», инструмент станет для вас источником красивых неправильных отчётов.
Когда всё-таки нужен свой сервер
Готовые серверы есть для популярных систем: таблицы, почта, календарь. Свой нужен тогда, когда вашей системы нет ни в одном каталоге.
У нас так вышло с CRM школы - HollyHop, которую снаружи никто не поддерживает. Пришлось писать сервер самому: тринадцать методов, ограничитель под лимит в шестьсот запросов за тридцать секунд, отдельный составной метод, который собирает всё про одного ученика. После этого на вопрос «сколько детей пришло к этому преподавателю в сентябре» отвечает модель, а не аналитик.
Но начинать с этого не надо. Начинать надо с готового сервера и своей таблицы.
Клод, который видит твои таблицы
Собираем прямой доступ модели к Google Таблицам: от пустого проекта в Google Cloud до Клода, который отвечает по вашим данным.
Урок выйдет в октябре, доступ придёт на почту в день выхода. Если передумаете, отпишетесь одной кнопкой.
Пишу про свои автоматизации в телеграм-канале: короткие заметки по ходу работы, без расписания и без рекламы.
Читать каналЕсли нужна не инструкция, а готовое решение под ваш бизнес — напишите мне, обсудим задачу.