Езиковият модел 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, където подобна функция няма
- PDF ChatBot (askyourpdf.com) и Docalysis (docalysis.com). Наистина изключително удобни инструменти за зареждане и взаимодействие с произволен PDF документ с помощта на чат. Така например, можете да заредите в него учебник със стотици страници или пък цялостната документация на даден автомобил и след това да задавате въпроси на естествен човешки език по заредения материал.
- Libraria (libraria.dev) – автономна платформа за бързо създаване и разгръщане на персонализирани асистенти, които работят със собствени данни с помощта на OpenAI (например получаване на данни от URL адрес или от PDF файл, както в примера по-горе).
- Разширението 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 има такова огромно увеличение на щастието и удовлетворението от работата.
Изглежда, че ИИ няма да замени програмистите, а по-скоро ще направи програмирането още по-търсена професия. При всички положения ще се създаде една голяма нова индустрия за разработване и поддържане на инструменти за ИИ, така че почти във всяка компания ще има нужда от все повече програмисти и компютърни инженери. Нека да проверим тази прогноза след няколко десетилетия…
Всичко важно от света на технологиите, директно в пощата ти.
С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.
Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!




























