← Все статьи

OAuth и человек в контуре

OAuth и человек в контуре

Почта - это рутина, которая ест время кусками. Открыл ящик, прочитал десяток входящих, по каждому второму надо что-то ответить: согласовать, уточнить, вежливо отказать. Каждое письмо - заново вчитаться, заново подобрать тон, заново набрать ответ. К обеду ты уже устал, а ящик снова полный.

Логичная мысль - отдать это ассистенту. И тут же страх: а если он отправит не то и не тому? Письмо - не черновик в редакторе, его не отзовёшь. Один лишний клик от имени агента - и неверный ответ ушёл клиенту, начальнику, в налоговую. Доверить машине читать почту - ладно. Доверить ей нажимать “отправить” - совсем другое дело.

Хорошая новость: эти две вещи можно развести. Пусть агент делает всю муторную часть - читает, разбирает, пишет черновики. А финальное “отправить” остаётся за человеком. Разберём это на скиле, который работает с Яндекс Почтой именно так.

В чём идея

Здесь два приёма, и оба важны.

Первый - доступ по OAuth. Чтобы скил видел твою почту, ему нужен доступ к ящику. Пароль давать нельзя: пароль - это всё, его не ограничишь и не отзовёшь по-тихому. Вместо пароля используется OAuth-токен: ты один раз проходишь авторизацию, выдаёшь приложению ровно нужные права (например, только чтение писем) и получаешь токен. Его в любой момент можно отозвать, и он не открывает доступ ни к чему лишнему. Токен живёт в переменной окружения или менеджере секретов - в сам скил его не вписывают.

Второй и главный - человек в контуре (human-in-the-loop). Это правило, по которому самое необратимое действие - отправку письма - всегда подтверждает человек. Скил доходит до края и останавливается: вот письма, вот черновики ответов, какой отправить? Дальше решаешь ты. Скил не отправляет письмо сам ни при каких условиях - ни по таймеру, ни “если уверен”, ни “ответь всем”. Это не ограничение из-за слабости модели, это сознательная защита: цена ошибки тут высокая и необратимая, поэтому последний шаг оставляют человеку.

Почему так и надо? Потому что агент отлично справляется с тем, что обратимо и проверяемо: прочитать, разложить по полочкам, набросать вежливый текст. А необратимое - отправку - оставляешь себе. Ты тратишь не двадцать минут на разбор, а двадцать секунд на просмотр готовых черновиков и одно “да, этот”. Вся скучная работа сделана, а контроль за тобой.

Как себе сделать

Не пиши скил руками. Отдай задачу своему ассистенту - Claude Code, Codex, Cursor, Gemini, любому. Он сам разберётся, как настроить доступ и куда положить файл. Просто скопируй промпт:

Создай мне скил, который разбирает входящие в моей Яндекс Почте и готовит черновики ответов.
Срабатывай на просьбы вроде "разбери почту", "что нового во входящих", "подготовь ответ на письмо".
Доступ к почте - по OAuth-токену (oauth.yandex.ru), подключение по IMAP (imap.yandex.ru, порт 993,
авторизация XOAUTH2), а не по паролю.
Токен бери из переменной окружения или менеджера секретов, в файл скила его не вписывай.
Что делать: получи новые входящие, по каждому письму собери "от кого, тема, суть в одну строку",
подготовь черновик ответа в вежливом деловом тоне, покажи мне дайджест "письмо плюс черновик".
Жёсткое правило: скил только готовит черновик. Отправляет письмо всегда человек после моего апрува.
Сам письмо не отправляй ни при каких условиях и не добавляй авто-отправку.

Откуда взять токен. Перед первым запуском попроси ассистента помочь получить OAuth-токен Яндекса. Шаги такие: зарегистрируй приложение на id.yandex.ru/oauth и поставь права на доступ к почте по IMAP; запусти device-flow через oauth.yandex.ru/device - ассистент покажет короткий код и ссылку, открой её в браузере и подтверди доступ; в ответ придёт токен. Положи его в переменную окружения YANDEX_MAIL_TOKEN - именно оттуда скил его и берёт, в файл вписывать нельзя.

Как понять, что заработало: напиши ассистенту “разбери почту”. Если он покажет список входящих с готовыми черновиками и спросит, какой отправить, а сам ничего не отправит - всё собрано правильно. Главная проверка простая: после команды в ящике у адресатов не должно появиться ни одного нового отправленного письма, пока ты сам не нажал “да”.

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


Telegram: t.me/chernovdev | Сайт: chernovdev.ru | VK: vk.com/chernovdev

Автоматизирую задачи, которых ещё нет.

Смотреть полностью

Коротко