Привет, Хабр! Меня зовут Даниил Смородин, я работаю техническим писателем в Just AI — компании, которая разрабатывает решения на базе искусственного интеллекта. Когда каждый день пишешь об AI, рано или поздно задаёшься вопросом: а можно ли применить его в собственной работе?

В этой статье расскажу, как мы автоматизировали подготовку release notes и первичную вычитку с помощью наших продуктов.

Как AI помог с release notes

Как у нас выглядит подготовка релизных заметок? Когда появляется релизная задача, технический писатель вручную пробегается по связанным задачам, выбирая значимые. Далее он читает описание и комментарии в них, формулирует первую версию текста, а потом приводит ее к стандарту стиля и формата.

Самая важная часть этой работы — понять, как интересно и полезно рассказать об изменениях. И в этом процессе сбор информации — просто механический труд, который может занять много времени, особенно если релиз большой. Чтобы избавить себя от рутинного анализа тикетов, мы задумались об автоматизации и решили работать именно над путем к первому качественному черновику.

Мини-инфраструктура вокруг Jira

Сейчас это простой Python-скрипт, который подключается к Jira по API и извлекает содержание релизной задачи: заголовок, описание, комментарии, связанные задачи и те же данные по ним.

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

Далее начинается взаимодействие с Jay Copilot. В нём мы создали два пользовательских приложения, которые скрипт вызывает последовательно. Приложения можно в��брать после запуска скрипта прямо в командной строке.

Скрипт, генерирующий RN, обращается к Jay Copilot через его API. Каждое приложение оформлено с чёткими правилами, настройками и встроенной обратной связью.

Преимуществ у подхода с двумя приложениями несколько:

  • Мы можем переиспользовать шаблоны. Например, если генерация RN для разных продуктов расходится только в правилах форматирования и стилистике, AI-приложения могут быть общими.

  • Логика шаблонов редактируется без вмешательства в код. Писатель или редактор может открыть настройки пользовательского приложения Jay Copilot, изменить промпт, модель или создать новое приложение и применить эти изменения сразу, без перекомпиляции.

Результатом всего процесса сегодня становится черновик RN, подготовленный примерно за 10–15 минут.

Как работают два AI-приложения

Первое приложение играет роль AI-аналитика. Оно получает очищенную информацию из Jira и извлекает из нее значимые аспекты:

  • Ключевые изменения и новые функции;

  • Материал, важный для конечного пользователя;

  • Срез тех изменений, которые лучше всего отражать в release notes.

AI на этом этапе сконцентрирован на выделении фич, которые будут полезны пользователю, он исключает обсуждения архитектуры, технические детали и внутренние комментарии команды, не предназначенные для внешней документации, а также не заботится о самом тексте, главное — собрать полезную информацию.

В промпте второго приложения описаны наши принципы оформления RN, а также приведены примеры удачных заметок. Его задача — привести стиль изложения в соответствие с шаблонами предыдущих RN, обеспечить единый tone of voice, подготовить текст в целевом формате (в нашем случае — MDX) и выдать финальный черновик.

Какой итог

В результате мы получаем черновик RN, написанный по всем нашим правилам. Приложение даже расставляет якоря для заголовков и ссылки на документацию. Иногда даже предлагает места для скриншотов или гифок. Скрипт справляется даже с масштабными задачами: релизы с десятками тикетов не создают проблем — входные данные грамотно фильтруются, а нагрузка на модель оптимизирована.
Да, этот черновик редко бывает финальным — мы дорабатываем подачу, дополняем примеры, где-то меняем формулировки. Но список фич и структура остаются на уровне, с которого легко стартовать.

Легко настроить, легко адаптировать

После того как писатель доработал текст, его нужно отдать на вычитку. А чтобы избавиться от очевидных проблем еще до нее, можно воспользоваться расширением для Visual Studio Code — моей второй разработкой.

AI-приложения прямо в VS Code

Вторая задача, которую мы хотели решить — это редакторская правка документации. Когда долго работаешь над текстом, особенно если есть особенности внимания (как в моем случае), очень легко пропустить повторы, канцеляризмы или просто перестать замечать очевидное. Мелкие ошибки просто отнимают время и раздражают как самого автора, так и ревьюера. Мы решили перенести эту часть ревью в сам процесс его написания и сделали AI-редактор, встроенный в VS Code. Теперь он — часть нашей повседневной работы.

Как это работает:

  • Открываешь .mdx-файл;

  • Нажимаешь кнопку проверки;

  • Через несколько секунд в боковой панели появляется список замечаний.

Каждое замечание оформлено в виде карточки: указан номер строки, оригинальный текст, предложенное исправление и комментарий.

Исправления применяются одним кликом
Исправления применяются одним кликом

Хочешь посмотреть контекст — плагин подсветит нужную строку в редакторе. Можно также задать AI уточняющий вопрос и получить альтернативное предложение, перейдя в диалоговый режим.

Другими словами, ревью перенеслось внутрь написания текста. Расширение подскажет, исправит, предложит альтернативы — и всё в рамках привычной среды. Мы не покидаем редактор, не дублируем правки вручную и не откладываем мелкие доработки на потом.

Что под капотом?

Расширение для VS Code написано на TypeScript с использованием WebView (через @vscode/webview-ui-toolkit). Я разделил архитектуру на модули, чтобы было проще масштабировать и добавлять поддержку новых провайдеров (например, если захочу подключить еще и Agent Platform). Особенно удобно, что расширение может вызывать по API любые шаблонные Jay Copilot-приложения, а также ML-сервисы в Caila. Далее чуть подробнее о них.

Copilot vs Caila

В привычных сценариях (например, «проверь стиль», «адаптируй для разработчиков») нам удобнее использовать Jay Copilot: шаблонные AI-приложения уже обучены на примерах и стандартах команды. А если задача выходит за рамки привычного, например, когда нужно поиграть с форматами или проверить, как текст читается глазами новичка, в дело вступает Caila. Она позволяет экспериментировать: выбрать модель, задать промпт на лету, адаптировать формат вывода без переписывания логики. И все это не выходя из редактора, без переключений и вне привычной экосистемы.

Что мы получили

Количественный эффект:

  • Подготовка первого черновика RN сократилась с 2–3 часов до 10–15 минут.

  • Внутренние итерации ревью укладываются теперь в минуты, а не часы.

  • Единый стиль и структура RN стали нормой, а не редкостью.

Качественные изменения:

  • Давление рутины снизилось: команда фокусируется на смысле, а не на механике сбора информации.

  • Новых членов команды проще вводить в работу — AI-помощник подсказывает нужный стиль.

  • Стало легче экспериментировать с подходами к документированию: AI помогает быстро проверить, как будет звучать текст в разных форматах.

И бонус для меня — я глубже узнал наши API. Когда я это все создавал, то использовал в основном продукты команд, для которых и пишу документацию. И теперь я стал куда ближе и интимнее знаком с внутрянкой работы наших продуктов, которую при обычном использовании попробовать не было повода (особенно это касается API).

Выводы

Главный урок: AI не заменяет технических писателей. Но он может забрать на себя все, что их замедляет: сбор, сверку, вычитку, стандартизацию.

Наша стратегия оказалась простой, но эффективной:

  • Используем собственные продукты: и так хорошо понимаем их потенциал и ограничения. А через эту работу стали понимать ещё лучше!

  • Интегрируем AI в привычные инструменты — VS Code, JIRA, CI, а не создаем отдельные параллельные процессы.

  • Строим работу на шаблонах — один промпт решает конкретную задачу, а не все сразу.

  • Развиваем решения итеративно: от скрипта до полноценного редактора внутри IDE.

Спасибо, что читаете. Буду рад ответить на вопросы в комментариях!

Комментарии (0)