Във втората статия от тази поредица описваме проблемите, причинени от вибрационното кодиране, и стъпките, които трябва да се следват, за да се внедри много по-добра алтернатива. В тази статия ще говорим за инструменти за програмиране, базирани на изкуствен интелект, които имат версии за Linux.
В тези статии твърдим, че противно на твърденията на доставчиците на курсове, инструментите за изкуствен интелект не елиминират необходимостта от изучаване на програмиране. Напротив, те го правят още по-важно. Тъй като това са по-мощни инструменти, те изискват по-добро разбиране на това, което се прави.
Ако искате да създадете просто приложение без графичен интерфейс, като например програма за вашето дете, която да упражнява умножение в Linux терминала, можете да се справите с уеб версията на предпочитания от вас модел. Ако обаче ще включвате графичен интерфейс, взаимодействие с външни услуги и регистрация на потребители, нещата стават по-сложни. За щастие, ние имаме инструменти, които могат да помогнат.
Инструменти за програмиране, базирани на изкуствен интелект
Програмирането с помощта на изкуствен интелект включва комбинация от специфични знания и инструменти, които взаимодействат с разработчика.Това позволява на индивида да се съсредоточи върху важните неща и да делегира рутинните задачи. Под „важно“ имаме предвид идентифициране на проблема и определяне на най-доброто решение.
Инструментите, за които говорим, могат да бъдат част от локално инсталирани програми, самостоятелни инструменти, които подпомагат специфични функции, или платформи за облачни услуги, които предоставят цялостни решения. От писане на кода до хостване на приложението. Въпреки че всички те използват модел на голям мащаб (LLM), те го правят по различни начини.
Модели, агенти, умения и MCP
Преди да започнем със списъка с инструменти, нека изясним някои термини, които ще бъдат полезни за разбирането на функцията на всеки един от тях.
- Модели на езика в голям мащаб: Те са системи, базирани на изкуствен интелект, обучен с големи количества данни, за да разбира и реагира, използвайки човешки език.
- Агенти: В контекста на изкуствения интелект, агент е всяко същество, способно да действа автономно в дадена среда. То е способно да взема решения въз основа на информацията, която получава от тази среда, и да действа, за да я промени.
- Умения: Това е специализиран и многократно използваем набор от инструкции, който казва на агента как да изпълни конкретна задача.
- МКП: Акронимът за Model Context Protocol (Протокол за контекст на модела) е стандарт за комуникация между модел и външни ресурси от данни.
В първата статия обсъдихме случая на вайб кодер, който създаде приложение, показващо изображение от какво се състои ястие в ресторант. Нека използваме този пример, за да обясним функцията на всеки споменат от нас елемент.
Да кажем, че виждаме Boeuf Stroganoff в менюто. Приложението би трябвало
- Прочетете менюто.
- Намерете съставките.
- Генерирайте изображението.
Моделът може
- Разберете въпроса.
- Намерете отговора.
Но той не може:
- Прочетете менюто.
- Намерете и покажете изображението
Агентът определя, че му е необходимо
- Извършете оптично разпознаване на символи.
- Намерете изображението на ястието.
- Покажи го.
Това определя необходимите умения
- OCR.
- Връзка с бази данни за храни.
- Показване на изображения
За всяка от тези задачиНеобходимо е библиотеките и/или интерфейсите за приложно програмиране да имат общ език.в агента. Тук се намесва MCP.
Предимството на използването на агент, вместо директното взаимодействие с модела, е, че избягваме неясноти и спестяваме време за специфичните инструкции за определена дейност.
Видове инструменти за програмиране с изкуствен интелект
Интегрирани среди за разработка
Интегрираните среди за разработка (IDE) включват, директно или чрез разширения, помощник, който предоставя помощ в реално време за завършване, отстраняване на грешки и преглед на код. Сред неговите характеристики:
- Предложете кой ред код да напиша следващия.
- Отговори на въпросите.
- Коригиране на грешки
- Покажете примери.
Най-популярният от интегрираните редактори за разработка със и без изкуствен интелект е Visual Studio Code.
Това беше първият продукт на Microsoft, който имаше версия за Linux и можеше да бъде инсталиран от магазина на Snap с командата
sudo snap install code --classic
Или ако искате да изпробвате най-новите продукти преди всички останали.
sudo snap install code-insiders --classic
Въпреки че това е версия за разработка, която може да съдържа грешки.
Асистентът за изкуствен интелект на Visual Studio Code е GitHub Copilot. Това е нещо като автоматичното довършване на телефона ви, но с подобрени функции. То не само предлага как да завършите реда код, който пишете, но и довършва функцията, която сте започнали да пишете, въз основа на контекста или дори я пише вместо вас. Може също така да генерира функцията директно, ако въведете какво трябва да направи (например „OCR менюто“).
Въпреки че не позволява разговор на човешки език, както при LLM, GitHub Copilot има предимството, че Адаптира се към вашия стил на програмиране. Например, ако решите да наименувате променливите на героите от „Смърфовете“, ще следвате този модел.
GitHub Copilot има безплатна версия с ограничени функции и платена версия за $10 на месец, която ви позволява да използвате кодиращите агенти на OpenAI (ChatGPT) и Claude.
Освен това, Visual Studio Code има разширения, които ви позволяват да взаимодействате с други асистенти за изкуствен интелект. Можете да ги инсталирате от
Файл ➡️ Предпочитания ➡️ Разширения и ги потърсете по име в прозореца за търсене.
Продължи.dev
Това е разширение с отворен код, което има две предимства пред GitHub Copilot.
- Можем да изберем модела, с който искаме да работим, независимо дали е локален или в облака.
- Можем да чатим на естествен език, точно както правим с уеб интерфейса на всеки модел.
Например, „Променете имената на променливите на герои от „Семейство Флинтстоун“. Ако не ни харесват имената, избрани от ChatGPT, можем да опитаме Claude.ai.
Това разширение анализира файловете на проекта и, съгласно нашите инструкции, предлага конкретни промени или генерира код, подходящ за контекста.
В следващата статия ще продължим да изброяваме инструментите, налични за програмиране с изкуствен интелект в Linux.


