Привет Хабр! Меня зовут Татьяна Ошуркова, я разработчик, аналитик и автор телеграм-канала IT Talks. В этой статье я хочу разобрать преимущества, возможности и недостатки использования больших языковых моделей в работе системного аналитика.
С появлением возможности использовать LLM в работе, решение многих задач приняло совершенно новый вид. Безусловно, как и все технологии, LLM сегодня помогают найти новые подходы, придумать решения или даже могут выполнить работу за нас.
Какие задачи системный аналитик может решить с использованием ИИ? Я разберу те, которые удачно были решены мной в работе. Если вы сталкивались с чем другим, то поделитесь свои опытом в комментариях.
Генерация кода
Начну с нетипичной, на первый взгляд, для аналитика задачи. Во многих своих докладах я часто упоминаю автоматизацию и написание скриптов на языке Python для системного аналитика. На мой взгляд, это решает множества рутинных или ручных задач. Кроме этого, можно применить данный навык для тестирования или интеграционных задач.
Но специалисту, кто не сталкивался ранее с написанием кода, может быть сложно освоить это в короткие сроки. Здесь может помочь LLM. Написав запрос, можно получить не только готовый скрипт, но также тестовые кейсы для его работы и подробное объяснение каждой строки кода.
На тему качества кода и использования LLM в разработке сейчас возникают разного рода дискуссии и споры. Поэтому здесь я подчеркну, что LLM будет отличным решением для простых коротких скриптов, которые могут помочь системному аналитику.
Создание диаграмм и использование нотаций
LLM может помочь сгенерировать разного рода диаграммы, исходя из текстового описания. Это могут диаграммы в нотации BPMN или на языке UML.
Здесь открываются большие возможности создания диаграмм с использованием инструмента PlantUML. Так как он позволяет создавать графическое отображение диаграмм по текстовому описанию с определенными правилами.
Это действительно удобно. Но стоит отметить, что мне не удавалось сгенерировать полную качественную диаграмму, так как ее создание требует анализа проработки системы. Но получалось создать удачный шаблон, приближенный к тому, что мне необходимо. Создавать далее схему не «с нуля» гораздо быстрее и проще.
Написание выборок
Этот пункт я затрону далее в недостатках работы моделей. Из преимуществ хотелось бы выделить написание сложных соединений таблиц, использование не популярных функций, работу с нестандартными объектами или поиск ошибок.
Для того чтобы найти эффективное и правильное решение проблем, которые возникают при работе с данными в базе данных, иногда приходится тратить достаточно немало времени. Сейчас посоветовать нужное решение может LLM. На моем опыте, даже хороший специалист не может помнить абсолютно всю теоретическую базу. Поэтому LLM иногда действительно может посоветовать что-то подходящее, о чем я давно не вспоминала.
Документация и требования
Не соглашусь со многими материалами, где рассматривают удачное написание документации при помощи LLM. Многие сферы используют конфиденциальную информацию, и это решение им явно не подойдет. Также я придерживаюсь мысли, что анализ и проработку информации лучше той, что делает сам человек, пока что сделать сложно, если говорить именно о системном анализе.
Но LLM в данном направлении может посоветовать методологию, подход или инструмент, который решит проблемы, возникающие у вас в процессе работы с требованиями.
Кстати 7 ноября я проведу бесплатный вебинар: «User stories. Теория, практика, инструменты», где я подробно разберу, что такое пользовательские истории и как с ними работать. Также я расскажу про методологию BDD, PlantUML и многое другое. Запись на вебинар доступна по ссылке.
Далее я разберу недостатки LLM, с которыми может столкнуться системный аналитик, при использовании в работе.
Некорректные результаты выборки
LLM очень часто отдает некорректный скрипт для выборки или результаты, если попросить пример данных, полученных по готовому скрипту.
Если с кодом или теоретической информацией эту проблему можно решить повторным запросом или измененным промптом, то именно с выборками LLM заходила в тупик, даже когда я работала с простыми примерами. Здесь нужно быть внимательным. Из этого вытекает следующий пункт.
Необходимость владения материалом и предметной областью
Если вы пытаетесь работать с тем, в чем сами не имеете навыков, то вы не увидите ошибки в работе LLM. А если результаты работы модели вы будете использовать в решении реальных задач, то это может поставить вас в тупик и ресурсы на решение задачи нужно будет лишь увеличивать.
Нужно всегда перепроверять полученную информацию, особенно если это скрипт или выборка. Некорректный код может отрицательно сказаться на работе вашей системы и повлечь за собой множество проблем.
Отсутствие погружения в систему
Даже если вы подробно описали процессы в вашей системе, вы не сможете объяснить модели абсолютно все. Она не видит вашими глазами, не общается с заказчиками и может оценить бизнес-требования только в ограниченной полноте. Поэтому написание требований, проработка бизнес-процессов, а также многое другое модель не сможет сделать на одном уровне с системным аналитиком.
Конечно, можно создать или обучить существующую модель. Тогда вопрос выше уже можно проработать. Но если говорить про системного аналитика, то вряд ли это его сфера задач. Системный аналитик может быть погружен в машинное обучение, но для качественной подготовки и обучения модели требуется множество ресурсов.
В следующих статьях я разберу примеры задач и их решений с использованием LLM и машинного обучения для системного аналитика.
Удачи в запросах к ChatGPT! Буду рада обсуждению ваших кейсов в комментариях!
CitizenOfDreams
"Ты б еще у тумбочки, идиот, спросил".