Programowanie z wykorzystaniem AI

Programowanie z agentem AI

Sztuczna inteligencja (AI) fundamentalnie zmieniła sposób, w jaki programujemy. Agenci AI potrafią generować kod, optymalizować go, a nawet pomagać w debugowaniu. Mimo to istnieją pewne ograniczenia, o których programiści muszą pamiętać podczas pracy z AI.

Problemy z kolejnością i duplikacją

Agenci AI mają trudności z zachowaniem właściwej kolejności kodu. Mogą na przykład umieszczać inicjalizacje na końcu pliku, co powoduje błędy w czasie wykonywania (runtime errors). Ponadto AI może bez wahania definiować wiele wersji tej samej klasy lub funkcji w ramach jednego projektu, co prowadzi do konfliktów i zamieszania.

Platforma kodowa z pamięcią i strukturą projektu pomaga

Rozwiązaniem tego problemu jest korzystanie z platform programistycznych AI, które potrafią zarządzać pamięcią i strukturą projektu. Pomaga to w utrzymaniu spójności w złożonych projektach. Niestety, funkcje te nie zawsze są stosowane konsekwentnie. W rezultacie AI może stracić spójność projektu i wprowadzić niepożądane duplikaty lub nieprawidłowe zależności podczas programowania.

Większość platform programistycznych AI współpracuje z tak zwanymi narzędziami, które model językowy (LLM) może wywoływać. Narzędzia te opierają się na otwartym standardowym protokole (MCP). Dzięki temu możliwe jest połączenie IDE, takiego jak Visual Code, z agentem programistycznym AI. Opcjonalnie można lokalnie skonfigurować LLM za pomocą llama lub ollama i wybrać serwer MCP do integracji. NetCare stworzył serwer MCP aby pomóc w debugowaniu i zarządzaniu podstawowym systemem (Linux). Przydatne, gdy chcesz od razu wdrożyć kod na żywo.
Modele można znaleźć na huggingface.

Rozszerzenia IDE są niezbędne

Aby lepiej zarządzać kodem wygenerowanym przez AI, programiści mogą korzystać z rozszerzeń IDE, które monitorują poprawność kodu. Narzędzia takie jak lintery, sprawdzacze typów (type checkers) oraz zaawansowane narzędzia do analizy kodu pomagają wczesne wykrywać i korygować błędy. Stanowią one niezbędne uzupełnienie kodu generowanego przez AI, zapewniając jego jakość i stabilność.

Przyczyna powtarzających się błędów: kontekst i rola w API

Jednym z głównych powodów, dla których agenci AI powtarzają błędy, jest sposób, w jaki interpretują API. Modele AI potrzebują kontekstu i jasnego opisu roli, aby generować skuteczny kod. Oznacza to, że prompty muszą być kompletne: powinny zawierać nie tylko wymagania funkcjonalne, ale także wyraźnie określać oczekiwany rezultat i warunki brzegowe. Aby to ułatwić, możesz zapisywać prompty w standardowym formacie (MDC) i standardowo przesyłać je do AI. Jest to szczególnie przydatne w przypadku ogólnych zasad programowania, których przestrzegasz, a także wymagań funkcjonalnych i technicznych oraz struktury Twojego projektu.

Narzędzia takie jak FAISS i LangChain pomagają

Produkty takie jak FAISS i LangChain oferują rozwiązania pozwalające AI lepiej radzić sobie z kontekstem. Na przykład FAISS pomaga w efektywnym wyszukiwaniu i pobieraniu odpowiednich fragmentów kodu, podczas gdy LangChain pomaga w strukturyzowaniu kodu generowanego przez AI i utrzymywaniu kontekstu w ramach większego projektu. Ale również w tym przypadku możesz to skonfigurować samodzielnie lokalnie za pomocą baz danych RAG.

Wniosek: przydatne, ale jeszcze nie samodzielne

Sztuczna inteligencja to potężne narzędzie dla programistów, które może pomóc w przyspieszeniu procesów programistycznych. Mimo to, nie jest ona jeszcze w stanie samodzielnie zaprojektować i zbudować bardziej złożonej bazy kodu bez nadzoru człowieka. Programiści powinni traktować AI jako asystenta, który potrafi automatyzować zadania i generować pomysły, ale wciąż wymaga wskazówek i korekty, aby osiągnąć satysfakcjonujący rezultat.

Skontaktuj się kontakt w celu wsparcia konfiguracji środowiska programistycznego, aby pomóc zespołom w maksymalnym wykorzystaniu tego środowiska i skupieniu się bardziej na inżynierii wymagań oraz projektowaniu niż na debugowaniu i pisaniu kodu.

 

Gerard

Gerard jest aktywnym konsultantem i menedżerem ds. sztucznej inteligencji. Dzięki bogatemu doświadczeniu w pracy z dużymi organizacjami potrafi niezwykle szybko rozwikłać problem i wypracować rozwiązanie. W połączeniu z wykształceniem ekonomicznym zapewnia podejmowanie decyzji uzasadnionych biznesowo.