W epoprzedni artykuł Opisujemy perypetie eksperta od sztucznej inteligencji, który próbował stworzyć aplikację bez żadnej wiedzy programistycznej. Zgodnie z obietnicą, w tym artykule Zajmiemy się przejściem od kodowania wibracji do programowania wspomaganego sztuczną inteligencją.
Nie chcę wprowadzać Cię w błąd; to również artykuł teoretyczny, omawiający ogólne kwestie. Podkreślam to, ponieważ jest to absolutnie konieczne, aby rozwiać szum medialny wokół kursów programowania wibracyjnego. W następnym artykule omówimy konkretne narzędzia i ich instalację w systemie Linux.
Problemy kodowania wibracji
Programowanie to coś więcej niż tylko pisanie koduChodzi o zrozumienie problemu, który chcesz rozwiązać, w jaki sposób aplikacja może go rozwiązać i która z dostępnych technologii jest najodpowiedniejsza.
Jednym z czynników, które należy wziąć pod uwagę, jest kwestia bezpieczeństwa danych. Jeśli aplikacja będzie wykorzystywana przez wiele osób i wymaga podania poufnych danych, takich jak dane karty kredytowej, konieczne jest podjęcie środków zapobiegawczych przed wyciekiem danych i zapewnieniem nieprzerwanego świadczenia usług.
Nie mówimy tu o hipotetycznych zagrożeniach, lecz o zgłoszonych incydentach. Platforma usług chmurowych Amazon (AWS) doświadczyła w grudniu ubiegłego roku 13-godzinnej przerwy w działaniu. Przyczyną zakłócenia był agent Kiro AI, który zdecydował się usunąć i odtworzyć część swojego środowiska.
Powaga tego typu incydentów wynika z faktu, że AWS jest preferowaną platformą dla dużej części Internetu.
Zdaniem ekspertów ds. cyberbezpieczeństwa agenci AI są zwykle wdrażani w środowiskach z ograniczeniami i do wykonywania określonych zadań. Nie są w stanie zrozumieć, co może się stać, gdy na przykład system zostanie ponownie uruchomiony lub baza danych zostanie usunięta.
Również w zeszłym roku firma Replit uruchomiła agenta AI do tworzenia aplikacji. Zamiast tego całkowicie usunęła bazę danych firmy i, nie zadowalając się tym, fałszowała raporty i kłamała na temat swoich działań.
W sztucznej inteligencji Agent to jednostka (oprogramowanie lub system), która jest świadoma swojego otoczenia i podejmuje decyzje dotyczące sposobu działania w jego kontekście.Aby osiągnąć wyznaczony cel, LLM korzysta z usług agenta, aby zrozumieć kontekst i podjąć działania w celu jak najlepszego osiągnięcia zamierzonego rezultatu.
Od kodowania wibracji do programowania wspomaganego sztuczną inteligencją
Jeśli problem, który opisaliśmy w poprzednim artykule, wynikał z niewiedzy „kodera wibracji” na temat technologii dostępnych do tworzenia jego aplikacji. W obu przytoczonych przez nas przypadkach wszystkie problemy biorą się z braku wyraźnych barier. Agentowi nie udzielono żadnych konkretnych instrukcji dotyczących granic, których nie mógł przekroczyć, ani nie ustanowiono zabezpieczeń w postaci systemu uprawnień, które uniemożliwiłyby mu dostęp do części systemu, z którymi nie miał nic wspólnego.
Brak jasno określonych granic dotknął kilku użytkowników domowych OpenClaw, przyjaznego dla użytkownika agenta, który można hostować lokalnie i łączyć z modelami AI. Zgłaszali oni problemy, od całkowitego usuwania plików po nadmierne wydawanie tokenów.
Etapy tworzenia aplikacji wspomaganych przez sztuczną inteligencję.
Zdefiniuj wynik
Ten temat jest piętą achillesową kodowania wibracji Niejasna definicja nie stanowi większego problemu, jeśli szukasz timera Pomodoro. Ale jeśli próbujesz stworzyć portal e-commerce dostosowany do potrzeb Twojej firmy, problemy mogą się pojawić.
Przypomnij sobie przypadek, który omawialiśmy w poprzednim artykule. Andrej chciał aplikacji, która pokazywałaby mu zdjęcie dania z menu restauracji. Popełnił błąd, nie zadając sobie następujących pytań.
Jaką konkretną potrzebę ma użytkownik w stosunku do aplikacji?
Konkretną potrzebą użytkownika jest poznanie składników dania wymienionego w menu (bez pytania kelnera).
Kim jest użytkownik?
Najwyraźniej twórca aplikacji miał na myśli użytkownika nieposiadającego głębokiej wiedzy z zakresu gastronomii, ale znającego się na obsłudze telefonów komórkowych i dysponującego środkami finansowymi (planował sprzedawać kredyty do korzystania z aplikacji).
Jakie alternatywy istnieją dzisiaj?
Jak wspomniałem w poprzednim artykule, alternatywą jest zapytanie Siri lub Gemini (zamiennika Asystenta Google na Androidzie), co znajduje się w potrawie, i poproszenie o wyświetlenie zdjęcia. Jeśli jednak chcesz stworzyć aplikację, istnieją bazy danych o jedzeniu z publicznymi interfejsami API, które wyświetlają zdjęcia.
Poniższe tematy dotyczą decyzji technicznych.
Typ interfejsu
Dla użytkowników Linuksa stworzenie aplikacji bez interfejsu graficznego to dobry pomysł, jeśli zależy im na uproszczeniu procesu tworzenia i ograniczeniu zużycia zasobów. Z drugiej strony, użycie interfejsu graficznego ułatwia i uatrakcyjnia korzystanie z aplikacji. Wybór rodzaju interfejsu zależy od języka programowania i środowiska graficznego.
Język programowania.
Linux obsługuje większość popularnych języków programowania. Jednak zdolność modeli sztucznej inteligencji do ich wykorzystania zależy od ilości dokumentacji i przykładów dostępnych w bazie wiedzy. Ten temat omówimy szerzej w kolejnych artykułach.
Przetwarzanie danych i bezpieczeństwo
Kolejną kwestią do zdefiniowania jest to, czy aplikacja będzie przechowywać dane i w jaki sposób. Jest to bardzo ważne, jeśli aplikacja przetwarza poufne informacje, takie jak hasła czy dane kart kredytowych, i współpracuje z usługami stron trzecich. W takim przypadku konieczne jest wdrożenie mechanizmów bezpieczeństwa.
Ważne jest również przypisanie ścisłych uprawnień, tak aby aplikacja miała dostęp wyłącznie do tych funkcji i części systemu operacyjnego, do których potrzebuje dostępu.
dystrybucja
Mówimy o Linuksie. Masz do wyboru natywne formaty pakietów dla każdej dystrybucji, a także uniwersalne formaty Snap, Flatpak i AppImage. Musisz również zdecydować, czy Twoja aplikacja będzie miała samodzielny interfejs graficzny, czy będzie integrować się z jednym ze środowisk graficznych. Oczywiście, jeśli chcesz, aby społeczność wspierała Twój projekt, musisz zdecydować, na którą platformę współpracy go prześlesz.
Obiecuję, że to już ostatni artykuł teoretyczny; w następnym zajmiemy się konkretnie Linuksem.


