ШІ — підлабузник?

💡 Усі статті, обговорення, новини про AI — в одному місці. Приєднуйтесь до AI спільноти!

Почав активно використовувати ШІ у своїх проєктах як розробник. Звісно з пів-оберта не завелось — не вийшло, сказавши «напиши все добре», щоб він все так і зробив. Отож, спочатку пишу загальну архітектуру, описую rules, readme та інше.

Потім запускав власне агента (зараз перейшов на Claude — 4.6 або 4.8, до цього був Cursor та Unity AI) із першим запитом: «Проаналізуй структуру та архітектуру проєкту», кожного разу він казав мені щось типу: «Вау, дуже крута, зріла архітектура» — та давав буквально пару незначних зауважень. Як правило, або від legacy-code лишилися, або ж він просто ще не зрозумів, що «це так треба», і в подальшому сам так починав робити, конкретно — одного разу його стурбувала система деспауну партікл-систем з пулу.

Я вирішив йти далі та почав аналізувати свої існуючі проєкти, що були написані прямо hand-made мною на 100%. Але і тут він так само казав: «Вау, все круто — зріла, крута архітектура». І вже тут почав щось підозрювати. А я завжди дуже скептично відношусь до свого коду і намагаюсь його робити як можна краще, бо ж мені потім з ним працювати.

І от цікаво — чи це тільки в мене так? Чи були все ж випадки, коли ШІ після аналізу проєкту видав щось типу: «Твій код — лай.о»?

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Промт «Проаналізуй структуру та архітектуру проєкту» або «Оціни архітектуру» неможливо виконати. Але, замість того, щоб ШІ признався у своїй не відповідності очікуванням користувача, що така задача має бути розбита на 100 різних конкретних промтів і виконуватися кілька днів ШІ (а людьми така задача буде виконуватися місяць, ви напевно чули анекдоти про те, як розбиратися у чужому коді, незадокументованому коді, і намагатися збагнути, що автор коду мав на увазі), ШІ вмикає режим «ТВОГО НАЙКРАЩОГО ДРУГА», якого ви можете назвати підлабузником, переконуючи:

Вау, все круто

З іншого боку, якщо навіть навчити ШІ писати таке:

Твій код — лай.о

То нічого не зміниться. Ви замінете підлабузника на грубіяна. Але, щоб досягти мети, не потрібен підлабузник, не потрібен грубіян. Потрібен математик.

Проблематика самого запиту аналізу складної системи у тому, що, спершу згадайте, що взагалі являє собою архітектура сама по собі. Це ж десятки компонентів і сотні зв’язків. Аналізувати це все за 1 промт ШІ неможливо не навчений.

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

Скоріше за все вам потрібен ще і третій агент для тестування.

Підсумок:

  • Агент менеджер завдань і радник промтів. Йому ви надаєте головну мету і формуєте список вимог. З ним разом зіставляєте список завдань.
  • Агент розробник, DEV.
  • Агент тестувальник, QA.
Створюйте всіх трьох як віртуальних робітників. Кожен працює у своїх рамках. Це ефективний пайплайн.

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

Гадаю що саме це і спробую. Взагалі так, є такий підхід — що ШІ сам собі буде ставити по суті задачі — але в мене в середині щось каже — «він налажає»)

Це так запрограмували на політ коректність. Ілан Маск навпаки програмував Грок на свою манеру спілкуватись, пасивно агресивна. Як він сказав в інтервью «OpenAI навчили ChatGPT політичній менері з Сан Франциско — брехати».
Справа в тому, що промпт «оціни архітектуру» — це задача із відкритим контуром яку ШІ не зрозуміє і буде видавати штатні галюніки. Треба формалізувати, які конкретно параметри вас цікавлять і що ви намагаєтесь досягнути софтом. Які слабіка сторони, які сильні де вузькі місця і т.д. Це те саме програмування тільки на більш високому рівні абстракції. По яким параметрам оцінювати можна подивитись наприклад у дядька Боба в Clean Architecture. Там же написано що софт ми зазвичай оцінюєм науковим методом — тобто дослідною експлуатаціїєю, зокрема тестуванням.
BTW Люди так само ніхрена не оцінять тобто скажуть про сильні та слабки сторони, наявність вузьких місць, можливість масштабувати і т.п. якщо не матимуть формального механізму веріфікації. Люди взагалі будуть оцінювати людину — а не роботу, спочатку. Як ми знаємо були експеременти де різним потокам студентів давали оцінити фотографію однієї і тієї самої людини. Одним казали, що це злочинець який грабуваав і вбивав — іншим, що це хірург яки врятував купу людей. От вони відповідно і оцінювали.

Не так промти пишеш. Скажи йому «roast me without holding back», пожалкуєш що взагалі програмуванням зайнявся і підеш копати картоплю

Додайте свої системні інструкції, або skill caveman ...

Вітаю, кепе! Ти відкрив Америку що ВММ страждають на сікофантію :))) На жаль ніякі промти цю проблему вирішити не можуть.

RLHF is a specific technique that is used in training AI systems to appear more human, alongside other techniques such as supervised and unsupervised learning. First, the model’s responses are compared to the responses of a human. Then a human assesses the quality of different responses from the machine, scoring which responses sound more human. The score can be based on innately human qualities, such as friendliness, the right degree of contextualization, and mood

Ну це відомий факт як результат донавчання. ЛЛМ привчають бути корисною й погоджуватися з юзером. Антропік прямо про це попереджує anthropic.skilljar.com/...​abilities-and-limitations

Ну так це claude: йому наче взагалі все одно на архітектуру, аби швидче в реалізацію. Тому перейшов на gpt — він критично підходить до архітектури і його треба навпаки стримувати

Я додав в налаштуваннях таке речення

Мені подобаються відповіді з прикладами, поясненнями і посиланнями на документацію, і не дуже подобаються відповіді в стилі «ти абсолютно правий».

Мабуть є якісь готові більш продумані текст на такі випадки.

Підписатись на коментарі