Що може робити ШІ на вашому проєкті — горизонтально і вертикально. Досвід архітектора
Ви ж також нещодавно експериментували з інструментами ШІ і думали, як їх застосувати у повсякденній роботі? Останнім часом ми з колегами активно займаємось вивченням і напрацюванням практичних рішень для використання штучного інтелекту в проєктах. Мене звати Вадим Власенко, я співпрацюю з «ЕРАМ Україна» у ролі архітектора рішень.
В цьому матеріалі я поділюсь своїм досвідом і думками про те, в яких напрямках ШІ буде доречним. Доповнюйте в коментарях, сподіваюсь на конструктивну дискусію.
ШІ — вдалий інструмент для пошуку і виокремлення потрібної інформації з великого обсягу даних. Саме тому він корисний в багатьох аспектах проєктної роботи. При цьому, на мою думку, неважливо, хто саме його буде запроваджувати.
Якщо у спеціаліста є цікавість і певні цілі, він чи вона відчуває, що витрачає багато часу на рутину, яка може бути автоматизована, то починає пошук рішень. Керівництву проєкту варто підтримувати такі ініціативи, адже вони сприяють не лише покращенню процесів, але й загальному росту команди.
Давайте розберемо декілька напрямків, де ШІ гарантовано приносить користь. Спершу підемо за горизонтальною шкалою: тобто різними зонами відповідальності одного проєкту. По кожному напрямку я наведу кейс з реального робочого життя.
SDLС процес, або Software Development Lifecycle
Управління командою, проєктний менеджмент, розробка і аналіз вимог до різних задач і відстеження їхнього виконання, загальний моніторинг процесу розробки в Jira, створення документації — все це можна зробити ефективнішим завдяки штучному інтелекту і зекономити багато часу.
Я із задоволенням спостерігав, як майже пів року тому, коли розпочався певний бум ШІ, багато колег тестували і вивчали напрямки, де він може допомагати. Спільними зусиллями ми описали багато кейсів. Наведу їх в загальних рисах, з огляду на NDA.
Кейс
Під час масштабування та оптимізації гнучких процесів доставки (agile delivery process) ми бачимо випадки, коли рекомендовані методологіями практики в конкретній команді не вдається застосувати. Мова йде про оптимізацію потоку, керування беклогом, показники ефективності тощо.
ChatGPT може допомогти зекономити час на визначення індивідуальних підходів для запровадження потрібних процесів.
Пишіть промпт якомога детальніше, описуйте свій блокер, специфіку середовища/ робочої групи, цілі, яких треба досягти. Корисно запитати ШІ про плюси та мінуси кожного запропонованого сценарію. Це допоможе обрати найоптимальнішу опцію.
Software development
Цей напрям я навмисно відокремлюю, адже в розробці є безліч прикладів використання штучного інтелекту у різних мовах програмування і для різних задач. Зокрема завдяки ШІ можна описати, як працює кодова база доступною і зрозумілою мовою. Це допомагає новачкам на проєкті швидше розібратись з тим, що вже написано і як воно працює. Час на онбординг завдяки цьому зменшується.
Також штучний інтелект певною мірою допомагає писати код. Інженери використовують декілька популярних інструментів як асистентів для прискорення роботи: один з найпопулярніших — Github Copilot.
Також штучному інтелекту можна «делегувати» рутину: написання unit-тестів, тест-кейсів, сценаріїв тестування на основі бізнес-вимог, рефакторинг коду тощо. Дехто розбирається з новими технологіями чи завданнями не за допомогою Google, а просить пояснення у ChatGPT.
Кейс
Дуже якісно описав свій досвід використання інструментів ШІ у роботі мій колега Олег Васильєв. Рекомендую його статтю про Github Copilot, ChatGPT та інші тули у технічному розділі DOU.
Розробка архітектури
У власній повсякденній роботі я неодноразово переконувався, яким корисним може бути штучний інтелект для оптимізації задач архітектора рішень.
Але необхідно завжди пам’ятати про безпеку і відокремлювати приватні
В нашій компанії, наприклад, ми частіше використовуємо OpenAI сервіси в хмарі Microsoft Azure. Ця приватна
Майте на увазі, що деякі замовники можуть відмовитись від використання ШІ через певні перестороги. Поважайте це рішення і не порушуйте його навіть з приватною
Кейс
Розповсюджена ситуація: я поспілкувався з представниками замовника і стейкхолдерами проєкту і зафіксував основні тези стосовно функціональних і нефункціональних вимог. Тепер їх необхідно оформити в документацію з виявленням атрибутів і показників якості, а також задовольнити конкретні вимоги відповідними тактиками та шаблонами.
Якщо нотатки зустрічі достатньо розгорнуті і мій запит-промпт буде точним, то я за лічені хвилини отримаю результат, на який раніше витрачав би години: хорошу базу документації з усією необхідною інформацією і невеликим, але змістовним резюме на початку.
Так само доречним буде використання штучного інтелекту на фазах presale та discovery. В першому випадку він допоможе проаналізувати наявну інформацію і зробити це швидко: 100 сторінок запиту на пропозицію для впровадження ШІ опрацює за декілька хвилин.
Нам залишиться опрацювати інформацію і сформувати резюме, яке допоможе сфокусуватись. У другому випадку штучний інтелект полегшить опрацювання поточної архітектури, кодової бази тощо.
У будь-якому разі важливо наводити якомога повніший контекст і ставити конкретні задачі ШІ, адже від цього напряму залежить результат.
Тестування і тест-автоматизація
Можливості використання ШІ для тестувальників дуже широкі — так само як і для інженерів. Для автоматизації тестування він може пропонувати сценарії, покривати більшість з них тест-кейсами і створювати чек-лісти.
Це окрема велика тема, яку вивчають профільні фахівці. Рекомендую експериментувати.
Кейс
ШI може аналізувати вимоги до програмного забезпечення і автоматично генерувати тести для перевірки функціональності застосунку або компонента. Це значно прискорює процес їхньої підготовки і забезпечує повніше покриття.
Штучний інтелект також може використовувати аналітику і машинне навчання для побудови ефективних стратегій тестування, які враховують різні фактори: історію помилок, специфікацію вимог, архітектуру системи тощо.
Крім того, ШІ здатен автоматично створювати сценарії тестів на основі вимог користувачів, забезпечуючи відповідність продукту їхнім очікуванням і працюючи коректно в реальних умовах. Також ШI може генерувати автоматизовані тестові скрипти для перевірки функціональності та нефункціонального тестування (наприклад, для API або вебінтерфейсу).
Це не тільки прискорює процес тестування, але й забезпечує вищу коректність результатів.
Бізнес-аналіз
Бізнес-аналітикам штучний інтелект допомагає з узагальненням і систематизацією контенту, якого у цих фахівців завжди дуже багато.
Інструменти ШІ можна використовувати для створення формальнішого ТЗ, аналізу вимог, наведення сценаріїв, створення критеріїв прийому тощо.
Кейс
Штучний інтелект може неабияк допомогти, коли бізнес-аналітик починає працювати в новій для себе сфері і має визначити основні аспекти і кроки в плануванні виявлення вимог.
В даному випадку в промпті необхідно надати контекст ситуації і попросити підказок, які треба врахувати на ранньому етапі. По кожному кроку варто пошукати додаткову інформацію, заглибитись в тему, поставити ШІ додаткові запитання.
Також можна попросити вивести резюме у вигляді таблиці або сформувати невеликий опитувальник.
Хороший варіант — давати запит на наведення прикладів. Вони допоможуть заглибитись в тему ВА, який або яка тільки розбирається в домені. Також спробуйте використати додатковий ШІ інструмент, щоб порівняти результати, точність, глибину відповідей і таке інше.
DevOps-задачі
Зараз ми спостерігаємо тенденцію, коли для DevOps використовується підхід Infrastructure-as-a-Code. Тобто системний інженер пише код, який відтворює задачі в хмарі.
ШІ в даному випадку може переформатовувати запит людською мовою в формат такого коду, а ще — створить інструкції для упорядкування набору компонентів, з яких будуються IaaС-рішення, з урахуванням вимог і завдань.
Кейс
ШІ може допомогти створити добре структурований і готовий до використання сценарій PowerShell, який використовує Azure Pipelines для порівняння дочірнього модуля Terraform і версій постачальника з однаковим кореневим модулем.
Загалом штучний інтелект швидко й ефективно, лише за декілька ітерацій створює майже готові сценарії для оптимізації роботи. Водночас варто стежити, щоб ШІ їх не ускладнював. Традиційно — що конкретніша задача, то краще.
Існує ще багато сценаріїв і сфер, де можна використовувати ШІ: продажі, дослідження ринку, дизайн користувацького досвіду. Головне — не мати завищених очікувань. Все ж таки штучний інтелект ще не настільки розумний, щоб повністю замінити фахівців. Всі, хто хоча б трохи розуміє принцип роботи LLM, усвідомлюють це.
До речі, щоб заглибитись в тему не лише за допомогою самонавчання, статей і практичних спроб і помилок, можна відвідати онлайн-конференцію Devoxx Ukraine, яка відбудеться 22 вересня. Адже цьогорічна тема якраз стосується штучного інтелекту і експерти розглядатимуть найрізноманітніші сценарії і способи використання ШІ. Особисто я зареєструвався.
Наступні рівні використання ШІ. Вертикальна шкала
Отже, як бачимо, для багатьох напрямків штучний інтелект може буде непоганим помічником, який покриває низку завдань.
Окрім перелічених прикладів він може лягти в основу чат-ботів, асистентів та інтегруватись в різноманітні бізнес-потреби клієнтів, як-от підтримка користувачів чи ШІ-помічники. Багато бізнесів приходять до того, щоб зменшити кількість працівників кол-центру або консультантів, віддаючи перевагу цифровим інструментам.
Але що далі, то складнішими можуть бути запити користувачів: наприклад, порівняти декілька видів товарів, відповісти на персональне запитання тощо. Це потребуватиме глибшого аналізу, тому для заміни людини знадобляться додаткові ресурси.
Ще один розповсюджений запит зі сфери електронної комерції — генерування звітів для оцінки ефективності бізнесу. Раніше для автоматизації цієї задачі був необхідний досить потужний інструмент або ж додатковий агент, під’єднаний до бази даних клієнта.
Плюс, додаткової роботи потребував аналіз середньої кількості і вартості замовлень і надсилання результатів на пошту. Зараз це можна робити завдяки ШІ. Але як саме?
Варто мати на увазі, що існує декілька вертикальних рівнів використання ШІ. Раніше ми обговорили перший рівень, де в чистому вигляді можна підключати ChatGPT, Azure Open AI тощо, надаючи інструкції прямо і конкретно, але з огляду на безпеку.
Другий рівень — це коли до
Третій рівень — використання ШІ за допомогою агентів. Напрям не те щоб новий, але дуже потужний зараз. На цьому етапі ШІ вже може створювати ілюзію того, що працює самостійно: він більше не консультант, а виконавець, який аналізує свою задачу.
Наприклад, він здатен оркеструвати певну кількість інструментів. Завдяки цьому можна, скажімо, отримати звіт з порівнянням цін на певний товар в різних магазинах одразу в пошту. Такий формат залучення штучного інтелекту відкриває безліч можливостей і може надати бізнесу значну користь.
Саме тому ми з колегами зараз активно вивчаємо і напрацьовуємо можливі варіанти використання, розробляємо рішення і інтегруємо їх клієнтам, які погоджуються спробувати нові підходи до роботи. Цей підхід здатен значно покращити ефективність.
Тож хоча зараз фахівці частіше сприймають ШІ як асистента-консультанта, все ж таки варто пам’ятати, що він може керувати інструментами і виконувати складніші завдання. Звісно, для цього інженерам потрібні додаткові знання і навики. Рекомендую тренуватись та експериментувати.
Наприклад, існує плагін для пошуку авіаквитків. Спробуйте підключити його до ChatGPT — LLM зможе переформатувати ваш запит «Знайди і придбай квиток до Риму» у параметри, яких очікує плагін, і за відповідних нашалтувань зможе піти далі: замовити квиток і надіслати його вам на пошту.
В реальних робочих умовах будьте обережнішими: вкотре наголошу на безпеці даних і порекомендую створювати власні плагіни під потреби проєкта.
Дізнатись більше про практичне використання ШІ можна завдяки таким курсам. На мою думку, вони цілком вдалі:
Чи варто через ШІ непокоїтись за своє робоче місце
Це запитання хвилює багатьох, але здебільшого, на мою думку, воно бентежить людей, які далекі від розуміння того, що таке штучний інтелект і як він працює. З цього витікає порада опановувати хоча б базу ШІ, перш ніж він опанував вашу професію.
Щодо ІТ-галузі, то у короткотерміновій перспективі сплеск цікавості до штучного інтелекту, навпаки, може викликати збільшення кількості вакансій — спеціалісти знадобляться для інтеграції чи розробки ШІ-продуктів. Згодом, на мою думку, ситуація стабілізується.
Сумніваюсь я також у тому, що ШІ замінить джуніорів. Попри всі експерименти, штучний інтелект — хороший помічник, за яким завжди треба перевіряти результати роботи. Людина з досвідом у будь-якому разі генерує якісніші, глибші і нетривіальні результати.
Але вже зараз треба розширювати свій професійний обрій з класичної розробки до розробки чи інтегрування штучного інтелекту в системи.
Варто приділити час на покращення навиків промпт інжинірингу — створення коректних і точних запитів до ШІ. Вже існують досить непогані безкоштовні матеріали (як от цей довідник промптів для ChatGPT), а деякі компанії інвестують у розробку внутрішніх програм під свої потреби.
Проходьте навчання, спостерігайте за новою інформацією в мережі, розглядайте опенсорсні інструменти, які можуть допомогти з генерацією промптів (це своєрідні middleware для middleware). Все це буде корисно в практичній роботі. Слід також стежити за новою інформацією за темою, адже ваш поріг входу в неї може бути вище, ніж ви очікуєте.
Загалом я переконаний, що будь-яку нову технологію, бібліотеку, фреймворк тощо варто вивчати і хоча б поверхнево з нею знайомитися. Це допоможе залишатись в тренді, розширювати технологічне бачення і розуміння того, в якому напрямку розвиватимуться ІТ-технології.
Але чи потрібно кожну з них намагатись додати у свій поточний проєкт? Моя думка: якщо новий інструмент кардинально змінює картинку і вимагає оновлювати весь технологічний стек, то скоріш — ні. Проте у разі, коли долучити його легко і він значно покращить процеси, робити це варто. Так можна додати цінності бізнесу.
10 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів