Програмування природною мовою

Зізнаюся! Останнім часом багато програмую природною мовою!

Наприклад, пишу до GPT: «потрібно перетворити об’єкт у масив значень, відфільтрований за такою-то умовою», і отримаю потрібний код.

Ні, мені не складно написати цей код самому. І використання GPT, навіть не завжди швидше. Просто це такий новий стиль роботи. І він мені подобається! Більше зосереджуєшся на логіці задачі. Іноді отримуєш несподівані рішення, які й в голову не приходили. Це так, ніби над задачею працює одразу два сеньйори. Та й взагалі, нудне кодування перетворюється на захопливий діалог.

Але нікуди правди діти, ця написана природною мовою функція, віщує великі зміни. Ні, на мою думку, ШІ не забере роботу в програмістів. І не знизить поріг входу в професію. Він просто докорінно все змінить.
Не факт, що ці зміни всім сподобаються, але помріємо в позитивному ключі! ШІ асистент у вашому ноуті сидить з вами на міті:

— робить замітки
— створює самарі
— аналізує таски
— пропонує рішення
— пише код
— тестує

А шо ж ви?

А ви постите на прод та отримуєте зарплату!))
👍ПодобаєтьсяСподобалось1
До обраногоВ обраному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

Вы успешно закрыли аж 1-2% необходимого для решения задачи по написанию кода по ТЗ. Пр-роздравляю.
Вы не решили остальные 98%, включая, но не ограничиваясь:

— Формирование бизнес-задачи в реализуемом виде.

— Формирование ТЗ по бизнес-задаче с переходом на техническую терминологию.

— Выбор средств для решения ТЗ и, при необходимости, изменение ТЗ в плане, как средства применяются (например, реляционные и документные БД требуют разного обращения, что влияет на все уровни).

— Выбор алгоритма. Может быть нетривиальным, например, если надо выбрать между O(N^2 log M) и O(N^1.4 * M^3).

— Выбор типов данных, мест и принципов конверсии между ними.

— Выбор ограничений типов данных (хватит int32 или нужен int64?)

И прочая и прочая. Никакой ИИ вам этого пока что не обеспечит.

Ну а заметки и документацию, как известно, он перекорёжит по-своему, добавив, грубо говоря, котику пятую лапу, а человеку третью ногу с девятью пальцами, висящую в воздухе, только потому, что ему так привиделось. Представьте себе это в документации, например, в виде аргумента функции, которого реально нет, а остальные аргументы поменяли тип с string на complex.

Ну, успехов бороться с таким.

Мне достаточно наблюдений за «интеллектом» PyCharm с AI Assistant, чтобы понять, что этой штуке ещё далеко даже до школьника младших классов.

перетворюється на захопливий діалог.

якщо це захопливий діалог, то боюсь уявити як буде виглядати звичайний діалог

В мене воно зазвичай занадто мало знає, щоб розв’язати проблему, ну і мені швидше самої написати
ніж запитувати одне і теж саме по колу.

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

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

Дрібних задач загального типу, які зручно вирішувати, більш ніж достатньо, для прикладу:

«Потрібна функція на nodejs, яка перевіряє чи існує папка, а потім видаляє її разом з усіма підпапками та файлами.»

Невже це ще не написано? fs.rm, fs.rmSync

Бувають нюанси, коли треба не так

Ви впевнені на 100% що воно що треба зробить, а то так і `/` собі видалити можна

Для мене на багато цікавіше задавати логіку через програмування природною мовою, тим більше можна на ходу придумувати не стандартні функції і рішення. Для експерментаторів це однозначно плюс.

Ми зараз не маємо геніального штучного інтелекту. Ми зараз маємо штучний інтелект типу людський. Тобто щось ймовірнесне, не пристосоване до логічного мислення.
Я чекаю саме на логічного супер ШІ, з яким зможу спілкуватися на рівні «або доведи мені, що я не правий, або запамятай те, що я тобі ввів»
От тоді все і почнеться.

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

Проблема природньої мови в її неформальності, 90% часу це відлагодження. Відлагодження для природньої мови уявити складно, перевод на формальну треба розібратися, ...

А шо ж ви?
— виправляєте замітки на лаконічніші і зрозуміліші
— переписуєте ту всю AI-воду з саммарі ’людською’ мовою
— аналізуєте самі ще раз, бо там трапляються абсолютні дурниці
— тратите купу часу, щоб переконатися в адекватності і правильності AI-рішення
— переписуєте неоптимізований, а часом і взагалі неробочий, згенерований AI-код
— тестуєте ще раз від гріха подалі

Протягом дня, приблизно, дві-три задачі для мене виконує ChatGPT.

Значит задачи у тебя простые. По моему опыту легче/лучше/быстрее написать самому, но я программирую с 2008 года, поэтому мой опыт может быть другим чем для начинающих

Якщо задачі занадто складні, то вони просто не декомпозовані на прості. Саме для такої декомпозиції досвід і потрібен.

Если ты разбил до уровня:
Задача 1 Добавить новый аргумент в функцию
Задача 2 Добавить вызов сервиса если есть новый аргумент

То ты просрал время на через чур детальное расписывание, все что сложнее чем это ЧатГПТ не тянет

Та ні, потрібні параметри воно й саме додасть.

Зрозумло що можна самому, або різними способами, але так зручніше. Та можна попросити зробити іншим способом, до речі. Ось приклад простої задачі.

«Потрібна функція на nodejs яка перевіряє чи існує папка, а потім видалить всі підпапки разом з усіма файлами.»

Эту функцию быстрее и проще написать руками чем вот этот текст а потом проверяй на сколько оно адекватно

Сподіваюсь, мова йде про якусь enterprise версію LLM від компанії, дані в якій надійно захищені, інакше, якщо використовується звичайна публічна версія, це виглядає не дуже добре з сторони безпеки

Співчуваю тому хто буде реалізовувати такі «реквайременти»

Відчув силу деміурга? Універсалізуй все. Щоб з якихось кубиків та паличок можна було скласти будь що матеріальне. Наприклад — стіл та стільці, а ще шафку. Зараз кругом секретні таємні рецепти, але солодка універсалізація знищить таку прихватизацію і захистить децентралізацію виробничих потужностей.
P.S.
`Якщо що — децентралізацію значно складніше знищити чи пограбувати. Якби ото люди розум мали, то й жили б собі більш менш щасливо у достатку всі...

— робить замітки
— створює самарі
— аналізує таски
— пропонує рішення
— пише код
— тестує

А шо ж ви?

А ви постите на прод та отримуєте зарплату!))

👇

— робить замітки
— створює самарі
— аналізує таски
— пропонує рішення
— пише код
— тестує
— постить на прод

А шо ж ви?

А ви отримуєте зарплату!))

І хай потім скажуть що програмування це не творчість :)

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

Та то поверхнево ти, спробуй от дізнатись щось що ти НЕ знаєш. Наприклад якусь технологію з якою не працював. І спитай чатжпт тобі зробити самарі. Це в рази ефективніше ніж гуглити. Скільки реклами ти не побачиш. Гугл не просто так в гонку вліз

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

Це як колись джобс казав що комп це велосипед для мозку, так от чатжпт довбаний реактивний літак.

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

Ну а якісь специфічні області вистрелять звісно, лиш от навряд чи вихлоп з того задовольнить всяких воренів бафетів й прочіх буржуїв на волстріт

Це в рази ефективніше ніж гуглити.

Конкретне питання напевно так, summary... мені більше заходять книжки та статті щоб розібратися.

мені недавно знадобилося розвернути в wsl докер і підняти там кілька сервісів для llm, при цьому досвіду з лінуксом, wsl і докером мінімум. Страшно уявити скільки гуглити довелося б. А з чатгпт підняв і налаштував неспішно за 2 дні з теребеньками на кофебрейках.

Коли я це в перше робив за інструкцію, мені знадобилось десь так пара годин. Там пара сторінок інструкцій. Щоправда з Linux досвід з Red Hat 9. Там по суті треба поставити компонент вінди, поставити якись дістр зазвичай ubuntu, далі докер, компоус, файли для сервісів і один yaml для компоус.
Складності є тільки коли треба щоби воно підхопило GPU, драйвер відеокарти. Працюватиме тільки з Nvidia і то не з усіма картами, там дійсно декілька днів можна вбити на це.

Да там повно складності, щось не працює, помилки в консолі, десь треба щось прописувати, якісь пакети не ставляться із-за якогось конфлікту, добавляти environment variables, правити конфіги. В чатгпт просто кидаєш весь аутпут і він тобі каже що робити.

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