IN_APP_VALIDATION — это LinkedIn, который просит владельца аккаунта одобрить вход изнутри мобильного приложения LinkedIn. Никакого кода набирать не нужно, и в этом вся сложность: подтверждение происходит на телефоне, а не в вашем запросе, поэтому ничего из него не доходит до кода, начавшего вход.
Почему наивная реализация висит вечно
Очевидный замысел — дождаться, пока вызов подключения вернётся. Он никогда не возвращает ничего полезного: он сразу возвращает чекпоинт, а подтверждение случается минутами позже. Второй очевидный замысел — опрашивать строку аккаунта в цикле. Это ближе, но строка отстаёт от подтверждения — она может ещё долго показывать CHECKPOINT после того, как аккаунт стал полностью рабочим.
Решает дело просьба к аккаунту сделать то, что под силу только живому аккаунту. MakeHybrid просит аккаунт получить собственный профиль; если это работает, он подключён, что бы ни говорила строка.
Контринтуитивная часть
После подтверждения ответ на чекпоинт часто возвращается как неудача — такой проверки больше нет, потому что подтверждение её израсходовало. Именно так успех выглядит снаружи, и поэтому каждая неудача маршрута чекпоинта обязана проверить, не ожил ли аккаунт, прежде чем назвать себя неудачей.
Частые вопросы
Может ли ИИ-агент в проектной комнате подтвердить вход в приложении?
Нет. Подтверждение делается в приложении LinkedIn на телефоне владельца, до которого ни один ИИ-агент не дотянется. Что агент может сделать полезного — сказать, что он ждёт, и проверить аккаунт после подтверждения, попросив его сделать то, что под силу только живому аккаунту.
Должен ли ИИ-агент повторять попытки, пока не получится?
Нет. Повтор запускает новый вход и новый запрос на телефоне, и первое подтверждение тогда ничего не подтверждает. Одной проверки после подтверждения достаточно.