Мэтт Уэбб, автор блога Interconnected, выпустил вторую версию iPhone-приложения Galactic Compass и в заметках о разработке описал необычный способ работы с нейросетью. Когда упёрся в математику трёхмерных вращений, он не стал просить ChatGPT написать код. Он попросил объяснить тему.

Этот фрагмент процитировал в своём блоге Саймон Уиллисон. История небольшая, но в ней видно, как по-разному ИИ помогает в одном и том же проекте.

Что за приложение и что в нём нового

Galactic Compass — зелёная стрелка, которая всегда показывает на центр Млечного Пути, до которого около 26 000 световых лет. Первую версию Уэбб выпустил в 2024 году. Приложение ненадолго попало в топ бесплатных приложений App Store в категории «Путешествия».

Популярность автор отчасти объясняет тем, что это был ранний пример вайб-кодинга: код он собирал, перекладывая фрагменты между ChatGPT и Xcode.

Во второй версии появились:

ФункцияКак работает
Режим дополненной реальностиСтрелку можно поставить в пространстве и обойти вокруг
Приложение для Apple WatchСтрелка на запястье; в режиме выравнивания часы дают тактильный отклик, когда стрелка смотрит прямо вперёд
Новое оформлениеВнешний вид Liquid Glass под iOS 27

В AR-режиме стрелку можно зажать и «перетащить»: пока палец на экране, она держится примерно в 75 см от телефона, а после отпускания закрепляется в пространстве.

С часами вышла отдельная история. RealityKit, графический SDK Apple, на watchOS не поддерживается. По словам Уэбба, собственную библиотеку 3D-графики для этой задачи написал агент Claude Fable. Сам автор называет это поразительным.

Где вайб-кодинг не справился

Уэбб подчёркивает, что работа с ИИ-агентами не сводится к принципу «запустил и забыл». Первая версия Galactic Compass переставала работать, если поднять телефон выше примерно 30 градусов. ChatGPT не смог правильно выстроить математику.

А математики там много: вращение устройства, вращение системы координат мира, астрономические расчёты. Правильный способ объединить такие 3D-вращения и не попасть в gimbal lock («складывание рамок», при котором теряется одна степень свободы) — кватернионы.

Кватернионы — числа из четырёх компонентов, которыми в 3D-графике и играх принято описывать повороты. Уэбб признаётся, что, несмотря на физическое образование, так в них и не разобрался.

ChatGPT в роли репетитора

После выхода версии 1.0 Уэбб решил, что вращения придётся делать самому. Дальше — его собственные слова, которые и процитировал Уиллисон:

«Я сел с ChatGPT и не стал просить его писать код — я попросил меня научить. С терпеливым интерактивным репетитором я наконец сделал то, чего не добился, читая книги и расспрашивая друзей-математиков: научился пользоваться кватернионами ровно настолько, чтобы приложение заработало».

Важная деталь — «ровно настолько». Речь не о глубоком освоении теории, а о прикладном минимуме под конкретную задачу.

Если свести опыт Уэбба в одну таблицу, в одном проекте ИИ сыграл три разные роли:

ЗадачаРоль ИИРезультат
Первая версия приложенияГенератор кода: фрагменты переносились между ChatGPT и XcodeПриложение вышло и стало популярным, но ломалось, если поднять телефон выше ~30°
Математика вращенийРепетитор: объясняет, а код пишет человекУэбб освоил кватернионы настолько, чтобы приложение заработало
Стрелка на Apple WatchАгент: Claude FableСобственная 3D-библиотека вместо недоступного на watchOS RealityKit

Вывод самого Уэбба

Логично было бы ожидать обратного: если отдать ИИ часть мышления, собственных знаний станет меньше. Уэбб делает из своей истории другой вывод:

«Так что обучение не останавливается только потому, что я передаю часть мышления ИИ. Оно подталкивает меня учиться большему. Мне нравится такой результат».

Это опыт одного человека, и обобщать его на всех разработчиков рано. Но сценарий понятный: когда сгенерированный код не работает, а разобраться в предметной области не получалось годами, ИИ в роли объясняющего собеседника может снять этот барьер.

Слабое место ИИ-репетитора

В этой же истории есть предупреждение. ChatGPT не справился с математикой вращений, когда писал код. Нет гарантии, что, объясняя ту же математику, модель не ошибётся в формуле или знаке.

С 3D-вращениями проверка сравнительно простая: если что-то понято неверно, стрелка на экране будет смотреть не туда. Ошибку первой версии как раз было видно, стоило поднять телефон выше 30 градусов. В задачах, где результат нельзя так легко увидеть, объяснения модели стоит проверять строже.

Что это значит для читателя

Наша оценка: из опыта Уэбба можно вынести несколько практических правил.

  • Меняйте запрос, когда генерация буксует. Если модель раз за разом выдаёт неработающий код в незнакомой области, попросите объяснить принцип, а не переписать функцию.
  • Учитесь под задачу. Уэббу не понадобился курс высшей алгебры — хватило того объёма, который нужен, чтобы стрелка показывала правильно.
  • Проверяйте на результате. Каждое объяснение стоит сразу применять в коде и смотреть, что происходит.
  • Совмещайте режимы. Генерация, обучение и работа агента не исключают друг друга: в Galactic Compass 2 нашлось место всем трём.

Источники