Контекст
С 2019 года я ежедневно ношу Apple Watch для отслеживания данных о своём здоровье: частота сердцебиения, сожженные калории, качество сна и т. д. Эти данные содержат годы поведенческих сигналов о моей повседневной жизни, но приложение Apple Health в основном отображает их с помощью простых представлений тенденций.
Я попытался проанализировать двухлетний экспорт Apple Health шесть лет назад. Но это превратилось в один из тех боковых проектов, которые вы никогда не завершите… На этот раз моя цель — быстро извлечь больше инсайтов из необработанных данных с помощью ИИ.
Имеющиеся ресурсы
Вот соответствующие ресурсы, которыми я располагал:
- Необработанные данные экспорта Apple Health: 1,85 ГБ в формате XML, загруженные в мой Google Drive.
- Образец кода для парсинга необработанного экспорта в структурированные наборы данных из моего репозитория GitHub от шести лет назад. Но код мог быть устаревшим.
Рабочий процесс без ИИ
Стандартный рабочий процесс без ИИ был бы похож на то, что я пробовал шесть лет назад: изучить структуру XML, написать Python для парсинга в структурированные локальные наборы данных, провести исследовательский анализ данных с помощью Pandas и Numpy и обобщить инсайты.
Я уверен, что каждый специалист по данным знаком с этим процессом — это не наука, но на его построение требуется время. Чтобы получить полированный отчёт с инсайтами, потребовалось бы как минимум полный день. Вот почему репозиторий шести-летней давности всё ещё отмечен как WIP…
Комплексный рабочий процесс с ИИ
Мой обновленный рабочий процесс с ИИ:
- ИИ находит необработанные данные в моём Google Drive и загружает их.
- ИИ ссылается на мой старый код GitHub и пишет скрипт Python для парсинга необработанных данных.
- ИИ загружает парсированные наборы данных в Google BigQuery. Конечно, анализ можно было бы провести локально без BigQuery, но я настроил это таким образом, чтобы лучше имитировать реальную рабочую среду.
- ИИ выполняет SQL запросы к BigQuery для проведения анализа и компиляции отчёта анализа.
По сути, ИИ обрабатывает практически каждый шаг от инженерии данных до анализа, а я действую скорее как рецензент и принимающий решения.
Отчёт, созданный ИИ
Теперь давайте посмотрим, что Codex смог сгенерировать под моим руководством и после некоторого обсуждения за 30 минут, не считая времени на настройку окружения и инструментов.
Я выбрал Codex, потому что в основном использую Claude Code на работе, поэтому хотел изучить другой инструмент. Я воспользовался этой возможностью, чтобы с нуля настроить своё окружение Codex, чтобы лучше оценить все требуемые усилия.
Видно, что этот отчёт хорошо структурирован и визуально отполирован. Он обобщил ценные инсайты в годовые тенденции, консистентность упражнений и влияние путешествий на уровень активности. Он также предоставил рекомендации и указал ограничения и предположения. Что произвело на меня наибольшее впечатление, так это не только скорость, но и то, как быстро вывод начал выглядеть как анализ, обращённый к заинтересованным сторонам, вместо грубого блокнота.
Обратите внимание, что отчёт очищен для защиты моей приватности данных.
Как я это на самом деле делал
Теперь, когда мы видели впечатляющую работу, которую ИИ может сгенерировать за 30 минут, позвольте мне разобраться и показать вам все шаги, которые я предпринял, чтобы это произошло. Я использовал Codex для этого эксперимента. Как и Claude Code, он может работать в настольном приложении, IDE или CLI.
1. Настройка MCP
Чтобы позволить Codex получить доступ к инструментам, включая Google Drive, GitHub и Google BigQuery, следующим шагом было настроить серверы Model Context Protocol (MCP).
Самый простой способ настроить MCP — попросить Codex сделать это за вас. Например, когда я попросил его настроить Google Drive MCP, он быстро настроил мои локальные файлы с чёткими следующими шагами по созданию клиента OAuth в Google Cloud Console.
Это не всегда срабатывает с первой попытки, но настойчивость помогает. Когда я попросил его настроить BigQuery MCP, он не менее 10 раз терпел неудачу, прежде чем соединение установилось. Но каждый раз он предоставлял мне чёткие инструкции по тестированию и информацию, полезную для устранения неполадок.
2. Составьте план с помощью режима планирования
После настройки MCP я перешёл к самому проекту. Для сложного проекта, включающего несколько источников данных/инструментов/вопросов, я обычно начинаю с режима планирования, чтобы согласовать шаги реализации. Как в Claude Code, так и в Codex вы можете включить режим планирования с помощью /plan. Это работает так: вы описываете задачу и свой приблизительный план, модель задаёт уточняющие вопросы и предлагает более подробный план реализации для вашего рассмотрения и уточнения. На скриншотах ниже вы можете найти мою первую итерацию с ним.
3. Выполнение и итерация
После того как я нажал «Да, реализуйте этот план», Codex начал выполнять самостоятельно, следуя шагам. Это заняло 13 минут и создало первый анализ ниже. Он быстро перемещался между разными инструментами, но проводил анализ локально, так как столкнулся с большим количеством проблем с BigQuery MCP. После ещё одного раунда устранения неполадок ему удалось правильно загрузить наборы данных и запустить запросы в BigQuery.
Однако первичный вывод был всё ещё поверхностным, поэтому я направил его копать глубже с помощью дополнительных вопросов. Например, у меня есть авиабилеты и планы путешествий из прошлых путешествий в моём Google Drive. Я попросил его найти их и проанализировать мои модели активности во время поездок. Он успешно нашел эти файлы, извлёк мои дни путешествий и запустил анализ.
После нескольких итераций он смог создать намного более полный отчёт, как я поделился в начале, за 30 минут. Вы можете найти его код здесь. Это был, вероятно, один из самых важных уроков из упражнения: ИИ двигался быстро, но глубина по-прежнему исходила из итерации и более качественных вопросов.
Выводы для специалистов по данным
Что меняет ИИ
Выше приведён небольшой пример того, как я использовал Codex и MCP для проведения комплексного анализа без самостоятельного написания ни одной строки кода. Какие выводы из этого можно сделать специалистам по данным на работе?
- Думайте за пределами помощи в кодировании. Вместо того чтобы использовать ИИ только для кодирования и письма, стоит расширить его роль