ChatGPT е наистина най-добрият помощник на разработчика – няколко аспекта от практиката на ИИ програмирането
Езиковият модел ChatGPT в никакъв случай няма да размени програмиста, защото директното писане и редактиране на кода е дребна част от създаването (5% от времето). Но ChatGPT е страховит асистент. И колкото по-високо е равнището на уменията ви, толкоз по-полезен е „ чиракът “, който прави дребните задания и „ черната работа “ по обикновеното шифроване. Той написа простите функционалности, генерира документи, открива и изяснява бъговете и прави куп други задания. Ето един образец:
Днес да не използваш ChatGPT е в действителност глупаво… Това е един в действителност повсеместен помощник, който улеснява живота и издига програмирането на напълно ново равнище. Едно от най-великите изобретения в региона на осведомителните технологии от десетилетия насам, след графичния интерфейс и интернет.
Програмирането сигурно в никакъв случай не е било толкоз прелестно и дейно, колкото в този момент.
Универсалният асистент
Нека изброим някои от типичните разновидности за потреблението на ChatGPT в програмирането.
Генериране на сорс код. Това е първата и най-очевидна задача – генерирането на код за по-опростените случаи, като поръчката може да бъде текстово разказана на най-обикновен език, на който си приказваме.Както е в образеца от началното изображение, в което поръчката има следния тип:
Напиши ми функционалност на Python, която на входа приема масив от цифри, сортира ги по метода на мехурчето и връща към този момент сортирания масив.
Резултатът е следният:
Ето един метод за имплементация на функционалност за подбиране на масив по метода на мехурчето (bubble sort) на Python:
def bubble_sort(arr): n = len(arr) # Проходим през всички детайли на масива for i in range(n): # Последните i детайла са към този момент сортирани, по тази причина можем да ги пропуснем for j in range(0, n-i-1): # Ако настоящият детайл е по-голям от идващия, разменяме ги if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arrВсъщност има още:
Вижда се, че функционалността извежда сортирания масив от цифри – [1, 2, 3]
Този обикновен образец демонстрира опциите на ChatGPT, общо взето, без значение от версията на езиковия модел. Ясно е, че може да подрежда освен цифри, само че и знаци, низове и така нататък посредством определен от потребителя логаритъм за подбиране. При това на съвсем всевъзможен програмен език. Да, чатботът добре познава тази материя.
ChatGPT е по-удобен от StackOverflow за намиране на такива фрагменти от код. Защото може да продължите разговора и да променяте фрагмента, както желаете, да поправяте неточности, да добавяте и така нататък Много е комфортно – не е належащо да губите време за работа с шаблони и търсене на общоприет код в другите складове и библиотеки.
2. Автоматично генериране на текстове и текстови данни
3. Търсене на неточности и проблеми. Можете да подадете откъс от код на чатбота и да го помолите да открие проблемите в него (така работи разширението ChatGPT за VS Code) или да изясни за какво поражда неточност по време на компилиране или при индустриалния развой.
4. Разясняване на неразбираемия код. Подобно на предходната точка, ChatGPT обяснява смисъла и желанията на комплицираните или неразбираеми указания и оказва помощ за тяхното осмисляне.
5. Оптимизация на кода. Рефакторинг.
6. Проверка на кода за сходство на другите стандарти
7. Търсене на уязвимости в най-различните компютърни системи. Хакерите към този момент започнаха да употребяват ChatGPT за основаването на вируси и скриптове за пробив на разнообразни отбрани.
8. Използване на ChatGPT за техническа поддръжка
9. Интегрирането на чатбота в своите лични стратегии благодарение на ChatGPT API. На 1-ви март 2023 година OpenAI даде достъп до REST API, което даде опция на разработчиците да интегрират изкуствения разсъдък в своя личен код. Ето един образец на сорс код на Python с API извикване за приемане отговора на въпроса „ В коя научна публикация е показан „ Трансформърът на дълбокото образование “ и къде може да бъде открита? “.
Разбира се, може да се направи по този начин, че въпросът да може да бъде променян и изкуственият разсъдък да отговори на различен въпрос. Но с цел да се разбере концепцията дано да представим напълно опростено решение:
messages = [{ 'role': 'user', 'content': 'В коя научна публикация е показан " Трансформърът' 'на дълбокото образование " и къде може да бъде открита?' }] response = openai.ChatCompletion.create( model='gpt-3.5-turbo', messages=messages ) print(response.choices[0].message.content)Отговорът ще бъде следният:
„ Трансформърът (Transformer) е модел за надълбоко образование, който бе показан през 2017 година в публикацията Attention Is All You Need на Vaswani et al. Статията може да бъде открита в arXiv на адрес: arxiv.org/abs/1706.03762 “.
10. Проектиране на програмната архитектура на огромни софтуерни планове
11. Генериране на диаграми. Аналитика
12. Генериране на доклади с всякаква трудност
13. Разработване на парсери, разбор и превръщане на данни във всички формати
14. Писане на документи
15. Работа с бази данни и SQL поръчки
16. Търсене на информация и кодове, помощ при образование, отговори на въпроси
17. Търсене на нови хрумвания
Това е напълно дребен и повърхностен лист на методите, по които сега може да се употребява ChatGPT в действителната работа. Проучванията демонстрират, че ChatGPT значително усъвършенства продуктивността.
Забелязва се и повишение на удовлетвореността от работата и общия оптимизъм измежду чиновниците:
Очакванията са, че в напълно близко бъдеще потреблението на ChatGPT ще стане наложително условие при кандидатстване са работа в офис. И в действителност, в случай че вашият сътрудник прави някоя работа за няколко дни, а вие можете да извършите същото единствено за няколко минути, то имате напълно очевидно конкурентно предимство.
Полезни принадлежности за работа с ChatGPT
На базата на ChatGPT са създадени стратегии за извършване на тъкмо избрана, тясно профилирана работа – тестване, писане на документи и така нататък
Playwright-ChatGPT (github.com/upgundecha/playwright-chatgpt). Автоматично генериране на текстове за Playwright. Това е опция на автоматизираното тестване благодарение на Selenium, където сходна функционалност няма https://www.kaldata.com/wp-content/uploads/2023/04/197979804-c4fa3347-8fab-4526-a728-c1b2fbd079b4.mp4 PDF ChatBot (askyourpdf.com) и Docalysis (docalysis.com). Наистина извънредно комфортни принадлежности за зареждане и взаимоотношение с случаен PDF документ благодарение на чат. Така да вземем за пример, можете да заредите в него учебник със стотици страници или пък цялостната документи на даден автомобил и по-късно да задавате въпроси на натурален човешки език по заредения материал.Libraria (libraria.dev) – самостоятелна платформа за бързо основаване и разрастване на персонализирани асистенти, които работят със лични данни благодарение на OpenAI (например приемане на данни от URL адрес или от PDF файл, както в образеца по-горе). https://www.kaldata.com/wp-content/uploads/2023/04/demo.mp4
Разширението TeamSmart AI за Chrome – виртуални ИИ асистенти, които автоматизират осъществяването на най-популярните задачи: Писане на сорс код Генериране на изображения Създаване на логотипи Анализ на текст
Специално за ChatGPT се предлага библиотека с качествени промптове
Предлагат се нативни програмни клиенти за работа с ChatGPT за другите Оценка за съвместимост, с които е доста по-удобно да се работи без да се посещава уеб страницата chat.openai.com. Разширението Unijump за Chrome дава опция след маркирането на текст в някой раздел на браузъра, посредством клавишната композиция Alt+J да се започва ChatGPT, който може да дава най-различни подсказки.
Допълнително се предлага огромен азбучник с потребни промптове за превключването на ChatGPT в тъкмо избран режим на работа – Linux подпора, финансов аналитик, експерт човешки запаси и така нататък
Разработва се и IDE от напълно ново потомство с име e2b, което напълно се базира на генерирането на сорс код благодарение на ChatGPT. Тук особеното е, че отляво пишете спецификациите, а отдясно се генерира нужния код.Microsoft работи върху цялостната и голяма система TaskMatrix.AI. Това е обединен интерфейс за взаимоотношението на индивида с милиони API и профилирани ИИ модели
Вместо да се основават изолирани модели на ИИ, това ще бъде единна екосистема, в която всички модели на ИИ взаимодействат между тях и работят като групов организъм.
Към сегашен ден има общо 24 плъгина за по-удобна работа с ChatGPT
Смяна на парадигмата
Виждаме, че системите с изкуствен интелект трансформират самата парадигма на програмирането и метода, по който се основават стратегии.
Идеята е вместо да пишем код, да обучим подобаваща невронна мрежа да извършва избрани задания или в идеалния случай просто да зададем задача и да изчакаме невронната мрежа да се образова до оптималното решение, което ще бъде крайният резултат от създаването.
Изглежда, че невронните мрежи към този момент заместват огромна част от софтуера: няма потребност от текстови и графични редактори, откакто ChatGPT може да генерира всевъзможен текст и изображения. Същото може да се каже и за календарите/електронните пощи и редица други принадлежности, които могат да се обработват от „ виртуален помощник “, а не непосредствено от индивида.
На базата на невронни мрежи към този момент се създават цели класове програмен продукт: машинен превод, различаване на тирада, синтез на тирада, различаване на облици, улеснена работа с бази данни, програмен продукт за десктоп игри и други
Безплатни други възможности на ChatGPT с отворен код
Въпреки първичното желание за изцяло отворена разработка, OpenAI не разгласява кода на GPT-3.5 и GPT-4, нито техническите описания и таблиците с данни. Ключовата техника тук е RLHF (Reinforcement Learning with Human Feedback), образование с укрепване, учредено на противоположна връзка от хората.
След непредвиденото приключване на кода на модела LLaMA на Meta се следи същински пробив в създаването на LLM. През миналия месец са оповестени повече свободно налични планове, в сравнение с през всички предишни години. Днес към този момент можете да стартирате местен аналог на ChatGPT на домашния си компютър (Ryzen 7900X, 32 GB RAM, 8 GB VRAM). Върху изтеглянето, стартирането и потреблението на локалната опция на ChatGPT ще се спрем на една от идващите публикации.
Бъдещето на програмирането
Шумът към изкуствения разсъдък евентуално е прекомерно огромен. В началото всяка задоволително напреднала технология наподобява като магия. Постепенно всички ще свикнат с новите принадлежности и ще ги употребяват по този начин, като че ли те постоянно са били с нас – като интернет, смарт телефоните и други софтуерни нововъведения от последните десетилетия.
ChatGPT прави създаването по-смислена. Не е належащо да се разсейвате с дреболии като свързването и сортирането на данни или четенето от файл, а да се концентрирайте върху концепциите от по-високо равнище. На най-интересните и значими неща. Ако преди програмирането ви е отвращавало поради скучните рутинни процедури и задълбаването в дреболиите, това към този момент е в предишното. Сега сходни проблеми няма да ни тормозят. Това, което е останало, е чистата тръпка от творчеството. Нищо чудно, че при потреблението на ChatGPT има такова голямо нарастване на щастието и удовлетворението от работата.
Изглежда, че ИИ няма да размени програмистите, а по-скоро ще направи програмирането още по-търсена специалност. При всички положения ще се сътвори една огромна нова промишленост за създаване и поддържане на принадлежности за ИИ, тъй че съвсем във всяка компания ще има потребност от от ден на ден програмисти и компютърни инженери. Нека да проверим тази прогноза след няколко десетилетия…




