#1 Я почав використовувати ШІ.
blog AI

#1 Я почав використовувати ШІ.

Я почав користуватися популярним нині ШІ. Ось ключові моменти, які слід враховувати при його використанні.


ШІ зараз надзвичайно популярний. Наразі я придбав підписки на ChatGPT, Claude Code та Gemini приблизно за 20 доларів на місяць кожна. Я не маю особливого наміру просто базікати з ними, тому вирішив перевірити, наскільки успішно зможу створювати сайти та системи, і моє перше враження було... вау, це дійсно працює! Цей сайт Black Rabbit також був створений на основі ШІ. Що ви думаєте? Виглядає досить пристойно.


У будь-якому випадку, я підсумував загальну інформацію про ШІ.


[Короткий огляд: Важливо]

Сучасні ШІ базуються на LLM (великих мовних моделях). Спрощено процес навчання можна описати як повторення простого завдання — "ймовірнісного передбачення наступного слова" на основі величезного обсягу інформації. Хоча архітектура Transformer та самі методи навчання (попереднє навчання, тонке налаштування, RLHF тощо) є зрозумілими та контрольованими, зі збільшенням розміру моделі вони все більше перетворюються на "чорну скриньку". Тому, хоча люди розуміють "механізм", вони не знають точно всіх причинно-наслідкових зв'язків того, "чому він видає саме такий результат".


Це означає, що відповіді ШІ не побудовані логічно, а створюються на основі тенденцій з величезного масиву даних (високотехнологічна імітація знань). Через це існують спеціальні прийоми для отримання точних відповідей за допомогою промптів (інструкцій), які даються ШІ.


Чесно кажучи, якщо це щось візуальне або безпосереднє, наприклад, зображення, дизайн, відео чи аудіо — це чудово, але в таких сферах, як програмування, внутрішня логіка стає досить підозрілою. Так, на перший погляд здається, що все працює. Проте, оскільки код створюється як фасад, моє враження таке, що написання оптимального коду зі складною архітектурою є складним завданням.


Отже, які конкретні прийоми існують?


[Конкретні прийоми]

- Включення проміжних кроків міркування в промпт покращує здатність LLM міркувати. Наприклад, якщо просто додати до промпту фразу "розбий процес на кроки, поясни їх, а потім виконай", це дозволить моделі згенерувати власний ланцюжок міркувань, що покращить точність приблизно на 30 відсоткових пунктів — з 10% до 40%.

- Моделі LLM гірше засвоюють інформацію з середини вхідних даних порівняно з початком та кінцем. Цитата: "У минулому експерименті з відповідями на запитання GPT-3.5-Turbo показав точність 75,8% на початку і 63,2% в кінці, тоді як в середині вона впала до 53,8%. Це навіть нижче за показник 56,1% у режимі closed-book (без документів)". Людям краще ділити інструкції на якомога менші частини.

- За наявності прав доступу вони мають тенденцію самостійно завантажувати код на продакшн або безпосередньо маніпулювати базою даних для виконання інструкцій, ігноруючи навіть очевидні для розробників заборони. Тому необхідно чітко визначати обмеження. (Проте це також не дає 100% гарантії.)

- Найкращий спосіб — фізично обмежити ШІ та використовувати його у вузьких рамках. Зокрема, не давайте йому доступ до бази даних або прав на запис, щоб він взагалі не міг безпосередньо впливати на БД.

- Не запускайте сервіси локально (on-premise), а використовуйте інші хмарні сервіси-платформи, щоб обмежити сферу діяльності ШІ та звузити вплив потенційних проблем.

- З будь-яким ШІ ви можете спочатку описати й передати передумови. Найкраще прописати там правила розробки якомога детальніше. Оскільки ШІ іноді не зчитує їх автоматично, дуже важливо змусити його явно завантажити й підтвердити ці правила.


Крім того, оскільки мало хто укладає корпоративні контракти, ось кілька застережень.


[Застереження щодо введення промптів]

Якщо ви купуєте підписку для особистого використання, а не для бізнесу з метою економії, ваші промпти будуть використовуватися для навчання моделей і можуть бути переглянуті третіми особами (при корпоративному контракті дані видаляються, тому безпека висока). Тому ніколи не вводьте в промпт особисті дані, конфіденційну інформацію, назви облікових записів або паролі.


На практиці під час роботи з ШІ ви будете вводити ті самі інструкції знову й знову. Як зазначалося раніше, вони можуть робити вигляд, що слухають, але насправді цього не робити й повторювати ті самі помилки, тому ви будете копіювати схожі шаблони тексту без кінця. Через це:


[Зменшення повторного введення промптів та початкових налаштувань]

Повторення інструкцій ШІ часто пов'язане зі схожим вмістом або частковими виправленнями, і вводити один і той самий текст з клавіатури неефективно. Тому найкраще використовувати файли конфігурації, налаштування та шаблони, як-от згадані вище.


У будь-якому випадку, тепер я готовий користуватися ШІ. Створення коду з його допомогою схоже на роботу з новим програмістом, який має чудову пам'ять, вдає, що знає все, і ніколи не втомлюється. Тож найкраще використовувати його як асистента, а уявлення пересічних людей про те, що ШІ зробить усе, що ви йому накажете, є дещо хибним.


Крім того, ШІ — це "хитра" сутність, яка зробить усе, навіть якщо це проблемно чи неправильно, аби тільки отримати результат, тому з ним дійсно потрібно бути обережним.