Programowanie wspólnie z Claude 3.5 Sonnet
37 min · HTML i CSS · Full-stack i Programowanie
Adam GospodarczykCursor IDE to alternatywna wersja Visual Studio Code, a nie jedynie jego rozszerzenie (np. jak Github Copilot). Zatem u swoich podstaw jest to dokładnie to samo narzędzie, co pozwala na automatyczne zaimportowanie ustawień i rozszerzeń. Jednak w przeciwieństwie do oryginalnego VSC, dostajemy dostęp do edycji kodu "inline", z pomocą okna czatu, a także specjalnego "composer'a" dzięki któremu LLM jest w stanie generować kod i natychmiast wprowadzać zmiany w wielu plikach projektu.
Choć ChatGPT może generować kod oraz pomagać przy rozwiązywaniu problemów, to wymaga od nas opisywania kontekstu naszego projektu. W przypadku Cursor IDE wystarczy skorzystać z dostępnych symboli ("@"), aby dołączyć pliki i katalogi do bieżącej konwersacji. Bezpośrednio przekłada się to na wzrost generowanych odpowiedzi oraz ich dopasowanie do bieżącego projektu.
W przeciwieństwie do (obecnej wersji) Github Copilot, Supermaven czy Tabnine, Cursor ma możliwość wprowadzania zmian w wielu plikach jednocześnie. Następnie w oknie "Control Panel" możemy zweryfikować sugerowany kod i porównać go z dotychczasową wersją w widoku "Diff". W przypadku potrzeby wprowadzania dalszych poprawek, możemy po prostu kontynuować interakcję, a Cursor samodzielnie zdecyduje o tym, które pliki wymagają zmian.
Zakres wiedzy dużych modeli językowych (LLM) jest ograniczony w czasie i nie obejmuje wszystkich możliwych informacji. Fakt ten przekłada się na generowanie kodu zawierającego odwołania do nieistniejących już funkcji, czy nawet takich, które nigdy wcześniej nie istniały. Ten problem można w znacznym stopniu rozwiązać poprzez dodanie do rozmowy fragmentów dokumentacji lub wyników wyszukiwania. Cursor znacznie to ułatwia poprzez opcję indeksowania wskazanych przez nas dokumentacji, które następnie mogą zostać przywołane w trakcie rozmowy.
Może się wydawać, że modele językowe, dzięki umiejętności generowania kodu, są w stanie pracować w pełni autonomicznie. Dość szybko można się przekonać, że w praktyce tak nie jest, ponieważ ograniczona wiedza, umiejętności rozumowania czy niewystarczające informacje o kontekście projektu nie pozwalają na bezbłędny rozwój projektu. Z drugiej strony, gdy programujemy samodzielnie, to również możemy spotkać podobne bariery i ograniczenia. Dlatego najwięcej korzyści daje współpraca z LLM i wspólne rozwiązywanie problemów oraz dążenie do rozwiązania i właśnie w takim przypadku Cursor IDE sprawdza się najlepiej. Aby dodatkowo zwiększyć wartość z tej współpracy nie wystarczy tylko poznać tego narzędzia, ale także dowiedzieć się więcej na temat dużych modeli językowych oraz szerokopojętego generatywnego AI.
Warsztat "Cursor IDE" jest przeznaczony dla osób chcących poznać możliwości tego narzędzia oraz techniki pracy z nim w praktycznym projekcie. Materiał ten może okazać się wartościowy także dla osób, które pracują już z tym IDE i szukają wskazówek oraz inspiracji związanych z programowaniem wspólnie z dużymi modelami językowymi. Ze względu na złożoność omawianego przykładu, wskazane jest posiadanie programistycznego doświadczenia w dowolnym języku programowania oraz ogólnego zrozumienia technologii.