Как искусственный интеллект помогает в работе с требованиями

22.12.23

Бизнес-анализ - Работа с требованиями

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

 

 

Я директор по продуктам школы Systems.Education. Мы занимаемся обучением аналитиков и проектировщиков систем.

Обучением системных аналитиков я занимаюсь уже более 10 лет, а в индустрии работаю больше 25 лет.

В декабре 2022 года я написал статью на habr.com про разработку требований на ChatGPT. И сейчас расскажу о том, как можно применить ChatGPT в работе бизнес и системного аналитика.

Единственный момент: я никогда не работал с продуктами 1С и никогда не создавал решения на базе продуктов 1С, поэтому примеры, которые будут в докладе, почти никак не связаны с 1С. Но думаю, вы все равно сможете найти им применение в своей деятельности.

 

 

В своем докладе я расскажу:

  • как выглядит процесс работы системного аналитика – что он делает и какие артефакты он создает;

  • откуда взялась тема искусственного интеллекта;

  • как можно применить ИИ для анализа предметной области, спецификации требований, построения моделей и диаграмм;

  • дам несколько советов и расскажу, что нас ждет дальше.

 

Процесс работы аналитика

 

 

В процессе анализа мы всегда идем:

  • от известного к новому, потому что обычно мы создаем что-то новое или меняем какие-то процессы;

  • от общего к частному – от большой картины к частным решениям и где-то даже доходим до кода;

  • от деятельности людей – мы автоматизируем то, что люди делают в своих бизнес-процессах – идем к средствам автоматизации.

 

 

Если процесс работы аналитика представить в виде диаграммы, мы должны понять:

  • что у нас в принципе происходит – какую предметную область мы изучаем и пытаемся автоматизировать;

  • какие цели стоят – мы должны с бизнесом совместно проработать и выявить, потому что бизнес не всегда может до конца сформулировать, что он хочет;

  • какие воздействия мы можем оказать;

  • дальше мы описываем бизнес-процессы;

  • предлагаем концепцию решения – как мы меняем бизнес-процессы, если требуется, и какие из них автоматизируем;

  • далее бизнес-анализ закончился, начался системный анализ – мы разрабатываем требования к информационной системе;

  • предлагаем модели решения – как мы реализуем эти требования в системе;

  • критерии приемки – как будем проверять, что требования удовлетворены;

  • в итоге все это доходит до кода.

Давайте посмотрим, что может нам предложить искусственный интеллект на каждом из этапов.

 

 

Здесь на слайде показаны типичные задачи аналитика, возникающие в процессе этой работы:

  • разобраться в предметной области

  • предложить цели проекта;

  • предложить воздействия – как мы можем повлиять на деятельность, чтобы достичь цели;

  • построить модель бизнес-процессов;

  • сформулировать требования и т.д.

 

Чем может помочь искусственный интеллект

 

 

В искусственном интеллекте (далее ИИ) есть много разных направлений, и одно из них – это генерация текстов.

Почти все артефакты, которые создает аналитик – это тексты. И ИИ эти тексты может генерировать.

Началось все еще с 1980-х годов, но тогда это выглядело как исследование – никто не предполагал, что это можно будет применять в реальности.

И в 2017 году произошла практически революция в генерации текстов посредством искусственного интеллекта. Началось все с Google.

 

 

Я не буду сейчас погружаться в какие-то суровые технические детали – расскажу обзорно: оттуда взялся ChatGPT:

  • В 2017 году Google предложил архитектуру нейросетей «Трансформер», но, как это часто бывает, тот, кто предложил технологию, не смог до конца ею воспользоваться.

  • В 2018-м году эту идею взяла на вооружение компания OpenAI, которая создала на ее основе технологию GPT (Generative Pre-trained Transformer).

  • Сначала у OpenAI была модель просто GPT, потом в 2019 году они выпустили GPT-2. Эта модель просто продолжала текст – вы даете какой-то кусочек текста, и она дописывает вам этот текст так, словно его дописывает человек. Результат работы GPT-2 выглядел довольно тревожно – настолько, что OpenAI побоялись выпускать эту модель публично, они решили, что это убьет журналистику, маркетинг, социальные сети и все на свете. Емкость модели GPT-2 была всего 1,5 миллиарда параметров.

  • В 2020 году вышла GPT-3, у которой было уже 175 миллиардов параметров – это уже больше, чем нейронов в мозгеу человека.

  • На основе GPT-3 натренировали еще несколько моделей. В частности, одна из них не просто продолжала текст, который вы вводите, а выполняла инструкции. Так называемая InstructGPT. Вы говорите InstructGPT: «Придумай стихотворение на тему конференции аналитиков». И она вам пишет стихотворение. «Напиши код на таком-то языке» – она пишет код. Это семейство моделей называется GPT-3.5 – это не следующая версия, а натренированная GPT-3. Натренированы они были в 2021 году.

  • И на основе GPT-3.5 в 2022 году уже появился ChatGPT, который прогремел. Фактически, это просто удобный интерфейс к модели GPT-3.5.

Удивительно, что несмотря на то, что фактически GPT-3,5 был уже почти два года доступен в виде программного интерфейса, в виде API – никто про него в 2021-2022 году не слышал.

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

ChatGPT на данный момент является самым быстрорастущим проектом:

  • 1 млн. пользователей за 5 дней;

  • 100 млн. пользователей за два месяца.

Его популярность выросла быстрее, чем все, что было создано до этого. Быстрее любой соцсети и т.д.

 

Как работает ChatGPT

 

 

ChatGPT – это статистическая модель. Его иногда называют stochastic parrot– «статистический попугай», потому что он не понимает, что говорит.

  • У него огромная база, и он статистически вычисляет, какое слово должно стоять следующим на основе предыдущего ввода. Причем, этим следующим необязательно будет именно слово – иногда это части слов. Именно эти слова или части слов представляют собой токены.

  • Токен – это основная валюта ChatGPT. Если вы покупаете API, вы платите за количество токенов, которые использовали.

  • На английском токены – это практически целые слова, на русском это не так. Дело в том, что обучающая выборка на 92% содержала слова на английском языке, а на русском всего 0,18% – русский язык ChatGPT знает по случайности.

  • Он ничего не знает о событиях после 2021 года, и он не продолжает учиться – его научили один раз, и теперь его знания зафиксированы (прим. ред. доклад от 26 мая 2023 года – сейчас уже не так, OpenAI обновила модель новыми фактическими знаниями).

  • До недавнего времени он не умел ходить в интернет за новой информацией, но буквально на днях OpenAI объявил, что в приложении есть плагин, который позволяет ему ходить в интернет и узнавать что-то новое.

 

 

На слайде показано, как текст разбивается на те самые токены.

В примере на английском – здесь почти целые слова.

А в примере на русском он чуть ли не побуквенно генерирует, поэтому на вывод ответов на русском языке тратится существенно больше токенов:

  • 66 токенов на почти 300 символов на английском;

  • и 434 токена на почти 400 символов на русском.

Тем не менее по-русски он говорит хорошо.

 

 

Как же разговаривать с ChatGPT?

  • С ним можно просто разговаривать, как с человеком. Он натренирован на то, чтобы поддерживать диалог. Именно это и производит такое большое впечатление.

  • Можно не просто попросить его с вами разговаривать, а попросить его выступить в какой-то роли – он умеет играть роль.

  • Его, как и человека, можно в разговоре подводить к какому-то результату. Например, вы ему сначала говорите: «Вспомни, что такое “требования”, и в каких видах их можно записывать. Хорошо. А теперь напиши требование» и т.д. Не кидаете ему сразу какой-то запрос, а подводите к идее через цепочку запросов (промптов).

  • Можно попросить его объяснить, почему он использовал именно такую логику.

  • Можно давать ему пример и просить сделать по образцу – это не всегда получается, но иногда получается.

 

 

На слайде – пример, как выглядит диалог в ChatGPT.

Он выдает результат не сразу целиком, а печатает. Мне кажется, что эта картинка по значимости для человечества сравнима с фильмом братьев Люмьер «Прибытие поезда». Раньше можно было бесконечно смотреть на то, как горит огонь, течет вода, а теперь бесконечно можно смотреть на то, как ChatGPT печатает вам ответ.

На самом деле он довольно медленно печатает, поэтому далее я буду показывать только скриншоты с результатом.

 

 

Что важно учесть:

  • В запросе хорошо бы подсказать ChatGPT, в каком виде мы ожидаем ответ. Если мы не конкретизируем, он придумает формат согласно своей статистике. В этом случае результат может быть неожиданный – совсем не то, что мы ожидаем.

  • Запрос лучше делать на английском.

  • Если что-то не так, можно попросить исправить, сказать: «Ты здесь ошибся», он скажет: «Извините, действительно ошибся, может вот так подойдет?» Вплоть до того, что он может исправлять ошибки в программном коде.

  • Если какая-то сложная задача, то у ChatGPT есть токены и есть окно контекста. На предыдущих слайдах было указано: на запрос и на ответ у ChatGPT дается около 8000 токенов – это то, что он помнит из вашего диалога, плюс его ответ. Это не очень много, примерно две страницы, поэтому очень большие ответы он не может давать и очень большие документы на вход тоже не может получать. Надо нарезать: брать кусочки и из кусочков потом конструировать ответ, разбивать задачу на несколько.

  • Он не умеет рисовать – это текстовая модель. Чтобы сгенерировать какую-то диаграмму, вам нужно задействовать какой-то сервис типа PlantUML, Mermaid.js, GraphViz, который по тексту строит диаграмму.

  • И очень важный момент: результат идентичных запросов не будет одинаковым. Несмотря на то, что это статистическая модель, там есть случайность – он может по-разному отвечать. Даже те промпты, которые я вам дам, могут у вас не сработать по какой-то причине из-за внутренних свойств модели. Можно попробовать несколько раз – он в разное время будет по-разному отвечать на запрос. Поэтому Prompt Engineering (генерация промптов) – это немного искусство.

 

Разбираемся с предметной областью и проблемами бизнеса

 

 

 

Разберемся с предметной областью и проблемами бизнеса.

Я взял абстрактную тему – прошу ChatGPT выступить в качестве бизнес-консультанта. Есть медицинский центр «Клиника здоровья», который в период COVID терпит потери до 30% общего дохода, потому что врачи болеют, и срываются приемы. Нужно предложить варианты решения проблемы.

Во-первых, это реальный кейс, во-вторых, мы это даем нашим студентам, чтобы они с этим разобрались. Посмотрим, как с этим разберется ChatGPT.

ChatGPT говорит, что готов и предлагает варианты решения проблемы: усилить меры безопасности, ввести телемедицину и т.д.

Ок, мы собираемся создавать IT-решение, развивать телемедицину. Давайте его спросим: «Как развить телемедицину?»

 

 

Ответ ChatGPT:

  • определите цели и задачи;

  • разработайте стратегию;

  • создайте инфраструктуру;

  • разработайте программное обеспечение;

  • разработайте интеграцию…

Вполне нормальные ответы, которые мог бы дать и достаточно опытный эксперт.

 

 

Далее выбираем цель: хотим сократить затраты на лечение и снизить риск заболеваний медицинского персонала. Просим составить план.

Ответ ChatGPT:

  • Определить целевую аудиторию;

  • Оценить доступность оборудования;

  • Провести обучение медицинского персонала – об этом, кстати, часто забывают. Обратите внимание, ChatGPT здесь советует учитывать не только технические аспекты, но и вопросы этики и конфиденциальности информации. Это интересно. Он периодически выдает такие вещи, про которые с первого раза и не вспомнишь. Мы все сфокусированы на ИТ-решениях, а ChatGPT в этом смысле мыслит более широко.

  • Предлагает провести пилотный проект – не сразу внедрять, а провести пилот. Умный.

 

 

Спрашиваем его конкретику: Телемедицина же, наверное, регулируется. Какие есть стандарты, связанные с телемедициной?

И здесь начинается такая штука, которая называется галлюцинация.

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

Сработает статистика, будет очень похоже на название, как на слайде: ГОСТ такой-то, Р ИСО, придумает федеральные законы таким же образом, постановления правительства и т.д.

Где-то он попал, а все остальное – фантазии. Поэтому доверять ChatGPT в фактологии не стоит. Он – модель общего назначения. (прим. ред. доклад от 26 мая 2023 года – сейчас с этим тоже стало лучше, но, конечно, галлюцинации тоже встречаются).

 

 

Хорошо. Далее мы просим ChatGPT сформулировать цель проекта.

Он сформулировал нормально, но слишком обще – если вкратце, то: «За все хорошее, против всего плохого».

 

 

Наводим его на мысль. Мы хотим снизить заболеваемость. Он говорит: «Ок, хорошо, я переформулирую».

ChatGPT суперотзывчивый. Он может сказать нет – я чуть позже скажу, когда. Но если вы его просите, он готов все делать, как вы хотите: переформулировать, добавлять и т.д.

 

 

Снова наводим его на мысль, что цели вообще-то формулируются по SMART. Спрашиваем, что это такое. Он в курсе.

 

 

Теперь просим переформулировать цель проекта по критериям SMART. И вот у него появилось «…на 30% в течение первого года» – ограничил по времени и добавил измеримость. Молодец, соображает.

 

 

Что еще можно сделать в плане выявления бизнес-проблемы?

Можно подготовиться к интервью со стейкхолдером. На слайде примеры трех промптов:

  • сначала широкий;

  • потом уточняющий;

  • потом еще более уточняющий – когда мы сужаемся до одного бизнес-процесса. Сначала ChatGPT нам выдаст общую канву, а потом можно идти вглубь, делать drill down: выбираем один бизнес-процесс и спрашиваем уже дальше только по нему.

 

 

Ну и навскидку другой пример – система подготовки учебного контента для какой-то онлайн-школы: «Поговори с человеком, который не знаком с нюансами IT и выясни у него бизнес-процессы».

Он спрашивает про бизнес-процессы,

  • С какими проблемами вы сталкиваетесь;

  • Какие вопросы безопасности и конфиденциальности вы считаете наиболее важными для вашей работы – такое тоже не вдруг вспомнишь;

  • Мне понравился вот этот вопрос: «Как вы представляете себе план внедрения нашей платформы?» А то ж обычно никак не представляют. Мы софт сделали, отдали и все – дальше ничего, с нас взятки гладки. А это может быть самое сложное.

Дальше можно спрашивать про каждый пункт, он будет генерировать дополнительные вопросы, а можно попросить ChatGPT сыграть роль стейкхолдера и попробовать ответить на эти вопросы тоже. Получается система сама в себе.

 

 

Может предложить еще несколько вопросов. Например, поддержка и обслуживание, интеграции.

 

Выявляем бизнес-процессы и формулируем функциональные требования к системе

 

 

Мы разобрались с предметной областью, провели интервью. Теперь давайте посмотрим на бизнес-процессы поглубже и сформулируем функциональные требования к системе.

Бизнес-процессы мы обычно рисуем. ChatGPT рисовать не умеет, но он умеет писать код. Например, он может выдать код BPMN-диаграммы в виде XML.

Мы этот XML сохраняем как файл, загружаем в ту же Comunda и получаем примерно такую штуку:

 

 

Ну немножко разъехалось. Хотя у меня ребята порадовались: «Какой молодец, нарисовал так, как это в жизни будет происходить».

Если вы игрались с Midjourney или с другими нейросетями, генерирующими изображения – они часто по 7-8 пальцев рисуют, по три руки, у ChatGPT примерно такая же проблема – он схемы не умеет рисовать.

 

 

Здесь получилось чуть получше, но все равно не все корректно – процесс «Запись на прием к врачу» отдельный, без стрелок вообще. Сложно.

Почему сложно?

  • Во-первых, сам BPMN так устроен, что даже в виде XML там нужно указать точные координаты – откуда и куда каждая стрелочка приходит. А у ChatGPT с математикой все плохо, он теми же самыми токенами пытается генерировать числа. Он не понимает, что такое число. Для него число – это кусочек строки текста, и он наиболее вероятные туда подставляет числа. Поэтому с ориентацией в пространстве у него не очень хорошо. К сожалению, нет никакого хорошего инструмента, чтобы нарисовать BPMN-диаграмму, не указывая конкретных чисел.

  • Плюс – за счет того, что это XML, он очень избыточный, там много дополнительных элементов, и все токены тратятся на XML-теги. Поэтому редко какой процесс вы сможете описать одним выводом – обычно придется делать все в несколько этапов. Поэтому не будем его BPMN-ом мучить.

 

 

Вместо этого мы можем его попросить нарисовать не BPMN, а Activity Diagram из UML, используя нотацию PlantUML.

 

 

Это попроще, потому что в PlantUML не XML, и ChatGPT более-менее это рисует.

 

 

С бизнес-процессами не очень задалось, давайте теперь попросим ChatGPT написать, например, пользовательские истории (user story).

Функциональные требования можно оформлять в разных вариантах:

  • пользовательскими историями;

  • через Use Cases;

  • можно классическими требованиями: «Система должна делать то и это».

ChatGPT в принципе все это знает и умеет, ему не надо объяснять, как писать User Story. Он пишет: «Я как пользователь хочу создать то и то».

На слайде показано, как ChatGPT генерирует пользовательские истории к приложению для отслеживания питания, с возможностью проконсультироваться у нутрициолога.

Я специально беру немного разные системы, чтобы показать, что ChatGPT ориентируется в разных областях.

 

 

Мы можем попросить ChatGPT сделать карту пользовательских историй, User Story Map, чтобы создавалось целостное представление о процессе, и пользовательские истории были записаны в отношении каждого отдельного шага этого процесса.

Мы даем ему несколько промптов, говорим это вывести в таблицу.

Он выводит таблицу – мы ее копируем, вставляем, например, в Miro или через API можно загрузить в систему учета задач типа Trello или Jira.

 

 

В Miro вставляем таблицу как стикеры, поворачиваем и у нас получается User Story Map в виде стикеров в Miro с разбивкой по релизам. А дальше начинаем перетаскивать – как мы обычно с User Story Map работаем.

 

 

Use cases – если нам нужно более детально спроектировать взаимодействие пользователя с системой. .

ChatGPT описывает пользовательские сценарии точно так же: сначала список, а потом мы просим описать каждый конкретно – и он пошел по структуре Use Case.

 

 

Здесь Use Case – проконсультироваться с нутрициологом. ChatGPT пишет:

  • Какие здесь есть действующие лица.

  • Предусловия: система должна иметь информацию, пользователь должен иметь доступ.

  • Триггер – процесс начинается с того, что пользователь выбирает функцию.

 

 

Основной сценарий:

  • пользователь запускает приложение;

  • пользователь выбирает день и время консультации;

  • система проверяет доступность и т.д.

Честно говоря, я бы здесь как преподаватель придрался бы к формулировкам этого Use Case, потому что не должно быть «если», должно быть что «система удостоверяется» и т.д. Но в первом приближении нормально, меня устроит.

 

 

Еще у Use Case есть альтернативные сценарии – что может пойти не так. На слайде просто вывод модели – то, что она генерирует.

 

 

ChatGPT может сгенерировать техническое задание сразу в виде документа – насколько ему хватит токенов, он все это сгенерирует.

Правильно или неправильно – про это можно долго спорить, но это хорошее подспорье. Вы уже не пишете все с нуля, а просто проверяете за ним. Где-то что-то убираете, где-то что-то добавляете, и ваша работа за счет этого ускоряется.

 

Модели системы: данные, состояние, последовательность

 

 

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

Что еще может делать ChatGPT: мы можем дать этой машине какой-то текст и дать задание что-то с этим текстом сделать.

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

Можно сделать хитрее: попросить ChatGPT выписать все объекты из текста и построить диаграмму объектов. Именно такой анализ я прошу делать студентов на наших курсах, и ChatGPT с этим справляется

 

 

Даем ChatGPT какой-то текст – главное, что он должен вмещаться в один промпт.

 

 

ChatGPT его читает и делает из него:

  • во-первых, список функций;

  • во-вторых, PlantUML делает из него уже диаграмму классов – то есть связи из текста он тоже может вытащить.

 

 

Если вторым запросом его попросить: «Добавь дополнительные атрибуты для этих объектов, как ты считаешь нужным.» – ChatGPT добавляет.

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

 

 

Если текст не вмещается в один промпт, есть хитрый прием. Можем задать два промпта подряд. Говорим ChatGPT: «Сначала я дам тебе начало текста. Ты скажи, когда ты его загрузишь в себя, я дам тебе вторую часть. И когда будешь выдавать мне результат, ты их склей». Эта схема работает.

Если у нас кусок текста, кода или еще чего-то еще слишком большое, чтобы уместилось в один промпт, можно попытаться задать этот текст для ChatGPT двумя промптами.

Точно так же работает и с выдачей. Если он не справляется выдать за один ответ BPMN, диаграмму или другой текст, можно ему сказать: «Дай мне первую часть этого текста в одном ответе. Потом я тебе напишу слово “Продолжай” и дай мне продолжение этого текста».

За три раза так сделать получается не всегда, ChatGPT иногда теряет контекст: окно уходит, и он забывает, о чем мы его просили. Но иногда получается.

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

 

 

С помощью диаграмм мы описываем нашу предметную область с разных сторон:

  • Через бизнес-процессы описали – что у нас происходит, и что люди делают;

  • Через объекты описали – в случае с 1С наиболее часто это те самые учетные регистры, где вы учитываете какую-то информацию.

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

 

 

По запросу ChatGPT выдает текст на PlantUML – в случае на слайде это как раз будет модель состояний.

Мы копируем полученный текст, вставляем его в PlantUML (или в аналогичный сервис mermaid.js) и получаем на выходе изображение.

Часто бывает, что внутри этого кода есть какая-то ошибка: либо ChatGPT его как-то неправильно сгенерировал, либо он где-то не то слово подставил. Просить ChatGPT найти и исправить эту ошибку иногда может быть мучительным процессом. Он будет пытаться, у него не будет получаться, он так попробует, сяк попробует…

Поэтому я делаю на него скидку – просто вставляю результат его генерации в PlantUML и оцениваю результат. Если где-то есть ошибка, я сам исправляю. Когда проблема в одной-двух строчках, мне проще самому исправить, чем заставлять искусственный интеллект искать ошибку. Так бывает, и к этому нужно быть готовым.

Когда ChatGPT сгенерирует вам кусок текста, достаточно что-то в нем поправить, где-то что-то скопировать и перенести. Все равно это происходит быстрее, чем писать вручную.

А здесь у вас получается совместная работа: вы не отдаете полностью искусственному интеллекту на откуп всю генерацию всех аналитических артефактов. Вы – художник, а он – подмастерье: он грунтует холст, что-то дорисовывает, а вы потом рукой мастера делаете пару взмахов, и возникает шедевр.

 

 

Продолжаем все дальше спускаться по этим ступенькам к уровню кода. Диаграмма последовательности и программные интерфейсы.

ChatGPT может придумать интерфейсы, например «добавление информации в медицинскую карту». Притом это полный запрос – я больше ничего не говорил. А он сам придумал, что здесь еще могут быть какие-то примеры, вставляет и показывает их.

Дальше с ним можно поговорить о том, что должно быть в медицинской карте, и как она должна быть устроена.

Сейчас здесь в ответе один endpoint, но можно дальше его можно попросить сгенерировать всю спецификацию для Swagger, если вы им пользуетесь.

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

 

 

Здесь он показывает, как будет выглядеть спецификация для результатов приема.

ChatGPT понимает, как конструируется endpoint в REST API. Как вы видите, здесь в названиях endpoint-ов нет глаголов, только различные ресурсы.

В этом смысле он иногда действует лучше, чем какие-нибудь аналитики, которые пишут в названиях endpoint-ов API глаголы, а не используют классический REST-подход.

 

 

Когда у нас речь заходит о взаимодействии систем, это взаимодействие хорошо показывать в виде sequence-диаграммы – диаграммы последовательности из UML.

Если делать анализ статистики запросов, на текущий момент sequence-диаграммы из UML самые популярные, потому что тема интеграций в принципе востребована и популярна. Вы можете никакие другие диаграммы не использовать, но sequence вы обязаны уметь рисовать.

У CHatGPT получилась достаточно высокоуровневая диаграмма последовательности – описан весь процесс приема у врача, причем довольно странновато.

Можем попросить ее детализировать.

 

 

Например, мы можем просто описать ему на естественном языке, как устроен прием у врача. Неважно откуда мы этот текст взяли – может из интервью, может из какого-то документа.

Даем текст и говорим: «А теперь эту последовательность изобрази, пожалуйста, в виде sequence-диаграммы на языке UML».

 

 

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

  • инициализация консультации,

  • проведение консультации,

  • завершение консультации.

Можно написать ему конкретно: «Пакеты не используй!» или наоборот: «Используй пакеты, разбей этот процесс, сгруппируй взаимодействие на какие-то части».

Здесь есть небольшая хитрость – когда ChatGPT выдает результат, с ним потом можно работать, как с заготовкой. В исходном UML на месте «Хранилища видео» был прямоугольник – я посмотрел, как в PlantUML прямоугольник заменить на бочонок (чтобы это было хранилище), и поменял в тексте.

Получается, что работа с диаграммами после ChatGPT сводится к добавлениям отдельных штрихов.

 

 

У вас в экосистеме 1С есть очень классная штука – Vanessa Automation. В ней можно написать BDD-сценарии проверки и запустить их. А она автоматически будет проверять функциональность и даже генерировать видеоинструкции.

Штука отличная. Я всем рассказываю: «Вы думаете, что в 1С все плохо? А там есть ТАКОЕ!» И люди, которые никогда с этим не сталкивались, у них глаза становятся круглые, и они спрашивают: «И видеоинструкции еще?! Ничего себе!»

И если вы видели BDD-сценарий, он представляет собой текстовый файл в определенном формате (given, when, then и т.п.). ChatGPT его отлично генерирует.

Вы даете описание какого-то процесса, какой-то функции, фичи, требования. Если вам нужно это сделать конкретно под 1С, можете написать: «Используй при этом такие-то существительные», которые Vanessa Automation потом автоматически распознает, и он сгенерирует вам этот BDD-сценарий.

 

Реверс инжиниринг

 

 

Использование ChatGPT – это тоже очень хорошее подспорье для реверс инжиниринга.

Ему на вход можно подать функцию/процедуру и попросить объяснить, что она делает. В том числе (я пробовал специально) на языке, который используется в 1С.

 

 

По виду функции он может объяснить, что здесь происходит человеческим языком.

Это касается и запросов и непосредственно кода.

 

 

Подаем запрос – он расшифровывает запрос.

 

 

В обратную сторону он тоже может. Вы человеческим языком ему пишете: «Сделай мне запрос остатков со склада, отбери товары таких-то поставщиков» – он напишет.

Языков программирования он знает много. Если у вас стоит задача взять какую-то существующую систему не на 1С, и сделать постановку требований для реализации ее на 1С, он может вам помочь.

Если вы доберетесь до скриптов, которые есть в исходной системе, он объяснит вам, например, что делает этот SQL-запрос или что делает эта функция.

Вы можете описать ему экранную форму: «На этой экранной форме находятся такие-то поля» или дать html-код экранной формы. Он создаст вам текстовое описание экранной формы и попытается предположить – что эта экранная форма делает, какой процесс она автоматизирует.

 

Заключение

 

 

Как можно применять ChatGPT:

  • Можно прорабатывать требования и использовать результат как некий шаблон, чек-лист или подсказку.

  • Можно переводить текст в диаграммы. Как вы видели он берет кусок текста на естественном языке, рисует диаграмму, а можно попробовать наоборот;

  • Можно раскрывать объем – по короткому описанию генерировать набор функций, набор пользовательских историй или набор Use Cases.

  • Можно вычленять из текста какие-то структурированные данные, например, набор объектов, последовательность действий, описание бизнес-процессов, состав ролей пользователей.

  • Можно использовать для написания заготовок кода, требований.

  • Можно использовать для реверс инжиниринга – чтобы он описал какую-то существующую функцию на человеческом языке.

 

 

Часто возникает вопрос: что с безопасностью?

  • ChatGPT сохраняет все ваши запросы, но не присоединяет их в свою модель. По умолчанию другие пользователи ваши запросы не увидят, но их могут увидеть инженеры OpenAI. Они это анализируют в обезличенном виде, как-то перемалывают и делают файн-тюнинг этой модели, но они это могут увидеть.

  • Если вы получаете доступ через API – не через ChatGPT, а GPT-3.5, ваши данные никому не доступны. Уровень их сохранения такой же, как если бы вы использовали какой-то облачный сервис.

  • Сейчас другие компании тоже начали эту технологию догонять – Google уже выпустил свою модель.

  • Также очень активно развивается Open source-движение, которое позволяет эту модель, может быть не такую крутую, как ChatGPT, поставить себе и натренировать ее самостоятельно. Если вас очень сильно волнует безопасность, вы можете поставить ее непосредственно на ваших серверах – никто к ней доступа не получит.

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

 

*************

Статья написана по итогам доклада (видео), прочитанного на конференции "Анализ & Управление в ИТ-проектах".

Инфостарт A&PM Event 2026

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Работа с требованиями Аналитик Бесплатно (free)

Разбираем, почему управление требованиями остается одним из ключевых факторов успеха проекта, и как ошибки на этом этапе приводят к срывам сроков, перегрузке команды и «синдрому скользящей дорожки». Показываем, как превратить сбор требований в понятный процесс: вовлекать заинтересованные стороны, использовать активное слушание, визуализацию, прототипирование и микротребования. Объясняем, как расставлять приоритеты через MoSCoW и матрицу Эйзенхауэра, визуализировать задачи в Jira на Kanban-доске и сохранять фокус даже в условиях постоянных изменений. На практическом кейсе портала кандидата показываем, как системная работа с требованиями помогает довести проект до результата и получить продукт, который не просто используют, но и любят.

28.10.2026    225    0    user1916475    1    

1

Работа с требованиями Аналитик Бесплатно (free)

ИТ-ландшафт стремительно усложняется: растет число систем и потоков данных между ними, процессы выходят за рамки платформы 1С, а требования к надежности, доступности и безопасности становятся все выше. Поэтому современному аналитику уже недостаточно быть только «переводчиком требований бизнеса» – ему нужно проектировать взаимодействие систем, координировать работу нескольких ИТ-команд и учитывать нефункциональные требования еще до передачи задачи в разработку. Разбираем, почему концептуальный дизайн интеграции входит в зону ответственности аналитика, и какие знания платформы 1С, системного дизайна, баз данных и инженерных практик помогают сократить количество итераций и быстрее находить реализуемые решения. Объясняем, на какие характеристики архитектуры следует обращать особое внимание и как развивать техническую насмотренность, не пытаясь при этом стать экспертом во всех технологиях сразу.

02.10.2026    1298    0    romandredan    26    

10

Работа с требованиями Взгляд со стороны Заказчика Работа с заинтересованными сторонами Аналитик Руководитель проекта Бесплатно (free)

На приемке пользователь может уверенно сказать «все понятно», хотя половину показа он мысленно переводил с языка аналитиков и разработчиков. В статье я подробно расписала, как описывать пользовательские сценарии обычными рабочими словами, что именно давать бизнесу на проверку, как формулировать ожидаемый результат и что фиксировать после приемки, чтобы «да, все хорошо» действительно что-то означало.

01.10.2026    417    0    YA_826532418    0    

5

Работа с требованиями Анализ потребностей и поиск решений Внедрение изменений Бесплатно (free)

Каждый архитектор и руководитель 1С-проектов рано или поздно сталкивается с выбором: продолжать латать старую систему или снести всё до основания и заложить правильный фундамент. Что делать, если появились "золотые гвозди"? Когда система на "пластырях" не работает.

28.09.2026    358    0    nik-boss    2    

1

Работа с требованиями Оценка проекта Аналитик Руководитель проекта Бесплатно (free)

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

25.09.2026    613    0    YA_826532418    6    

5

Работа с требованиями Аналитик Руководитель проекта 1С:Франчайзи, автоматизация бизнеса Бесплатно (free)

Когда я работала специалистом по системе менеджмента качества в компании, занимающей внедрением 1С, регулярно сталкивалась с такой ситуацией - в базе знаний может лежать десяток регламентов, шаблонов и методичек, однако аналитики продолжают оформлять ТЗ по-разному, оценки собирать в переписке, а важные договоренности искать в старых протоколах. Из аудита в аудит всплывали одни и те же несоответствия и одни и те же причины. Став уже позже бизнес-аналитиком, я поняла, что проблема часто не в дисциплине сотрудников, а в самих стандартах, которые существуют отдельно от ежедневной работы. В статье постаралась разобрать, какие документы действительно приносят пользу и помогают аналитикам в ежедневной работе.

16.09.2026    474    0    YA_826532418    0    

3

Работа с требованиями Бесплатно (free)

Рассказываем об инструменте "Требования", зачем они нужны, чем отличаются от Канбан-доски и как правильно применять в рабочих процессах

29.07.2026    510    0    1Concept    0    

1

Работа с требованиями Бесплатно (free)

Описание крупного процесса может согласовываться месяцами: пока аналитик уточняет исключения в одном блоке, устаревают решения по другому, а разработка ждет финальную версию документа. В статье разберу, как делить требования на самостоятельные пакеты, определять границы приемки, фиксировать зависимости и запускать работу, не дожидаясь идеального описания всего процесса.

22.07.2026    539    0    YA_826532418    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. serg33rus 36 22.12.23 18:32 Сейчас в теме
Сейчас есть чисто модели для которых русский родной - GigaChat от сбера и YaChat от яндекса. С русским они работаю даже лучше, а вот насколько они знают 1С - это интересный вопрос.
ChatGPT на 1С пишет ... ну так себе. А вот на питоне очень даже неплохо.
Интересно будет погонять наши модели.
2. Ykkks 19 26.12.23 18:53 Сейчас в теме
Я пробовал GigaChat, он совсем не в курсе ИТ-шной специфики. Юскейсы, юзер-стори -- этого он всё у него получается не очень хорошо. А уж схемы рисовать на формальном языке -- вообще никак.
3. serg33rus 36 26.12.23 20:39 Сейчас в теме
(2) Печально. Хотелось бы уровень chatGPT, но на русском и с 1С. И тогда оно будет работать, а я зп получать :-)
4. Vladimir_Konyrev 267 16.06.24 20:06 Сейчас в теме
Спасибо за статью, очень полезная.
Не смог воспроизвести Ваш тезис "Мы этот XML сохраняем как файл, загружаем в ту же Comunda и получаем примерно такую штуку:" Можете подсказать инструмент, в котором на основании XML генерировали диаграмму BPMN?
Для отправки сообщения требуется регистрация/авторизация