V epredchádzajúci článok Opisujeme nehody experta na umelú inteligenciu, ktorý sa pokúsil vytvoriť aplikáciu bez akýchkoľvek znalostí programovania. Ako sme sľúbili, v tomto článku... Budeme sa venovať prechodu od vibračného kódovania k programovaniu s pomocou umelej inteligencie.
Nechcem vás zavádzať; toto je tiež teoretický článok, ktorý rozoberá všeobecné veci. Zdôrazňujem to, pretože je absolútne nevyhnutné rozptýliť humbuk okolo kurzov Vibe kódovania. V ďalšom článku si povieme o konkrétnych nástrojoch a ich inštalácii v Linuxe.
Problémy s vibračným kódovaním
Programovanie ide ďaleko za rámec písania kóduIde o pochopenie problému, ktorý chcete vyriešiť, ako ho aplikácia dokáže vyriešiť a ktoré zo všetkých dostupných technológií sú najvhodnejšie.
Medzi faktory, ktoré treba zvážiť, patrí otázka bezpečnosti údajov. Ak bude aplikáciu používať veľa ľudí a vyžaduje citlivé údaje, ako sú informácie o kreditných kartách, je potrebné prijať opatrenia na zabránenie únikom a zabezpečenie neprerušenia poskytovaných služieb.
Nehovoríme o hypotetických rizikách, ale o hlásených incidentoch. Platforma cloudových služieb (AWS) spoločnosti Amazon zaznamenala v decembri minulého roka 13-hodinový výpadok. Príčinou prerušenia bol agent umelej inteligencie Kiro, ktorý sa rozhodol vymazať a znovu vytvoriť časť svojho prostredia.
Závažnosť týchto typov incidentov spočíva v tom, že AWS je preferovanou platformou pre veľkú časť internetu.
Podľa expertov na kybernetickú bezpečnosť sú agenti umelej inteligencie zvyčajne nasadzovaní v prostrediach s obmedzeniami a pre špecifické úlohy a nie sú schopní pochopiť, čo sa môže stať napríklad pri reštartovaní systému alebo vymazaní databázy.
Spoločnosť Replit minulý rok tiež spustila agenta s umelou inteligenciou na vytváranie aplikácií. Namiesto toho úplne vymazala databázu spoločnosti a neuspokojila sa s tým, falšovala správy a klamala o tom, čo urobila.
V umelej inteligencii Agent je entita (softvér alebo systém), ktorá si je vedomá svojho prostredia a rozhoduje sa o tom, ako naň reagovať.Na dosiahnutie stanoveného cieľa LLM využíva agenta na pochopenie kontextu a prijatie opatrení, aby reagoval najlepším spôsobom na dosiahnutie zamýšľaného výsledku.
Od vibračného kódovania k programovaniu s pomocou umelej inteligencie
Ak problém, ktorý sme opísali v predchádzajúcom článku, spočíval v nedostatku vedomostí „vibe kódera“ o technológiách dostupných na vytvorenie jeho aplikácie. V oboch prípadoch, ktoré sme uviedli, všetky problémy pramenia z nedostatku jasných bariér. Agentovi neboli dané žiadne konkrétne pokyny týkajúce sa limitov, ktoré nemohol prekročiť, ani neboli zavedené ochranné opatrenia prostredníctvom systému povolení, ktoré by mu zabránili v prístupe k častiam systému, s ktorými nemal nič spoločné.
Niekoľko domácich používateľov OpenClawu, užívateľsky prívetivého agenta, ktorý je možné hostiť lokálne a pripojiť k modelom umelej inteligencie, zaznamenalo nedostatok jasného stanovenia hraníc. Hlásili problémy od úplného vymazania súborov až po nadmerné míňanie tokenov.
Kroky na vytváranie aplikácií s pomocou umelej inteligencie.
Definujte výsledok
Táto téma je Achillovou pätou vibračného kódovania. Vágna definícia nie je príliš problematická, ak hľadáte časovač Pomodoro. Ak sa však snažíte vytvoriť e-commerce portál prispôsobený potrebám vášho podnikania, môžu nastať problémy.
Spomeňte si na prípad, o ktorom sme hovorili v predchádzajúcom článku. Andrej chcel aplikáciu, ktorá by mu zobrazovala obrázok jedla uvedeného v jedálnom lístku reštaurácie. Urobil chybu, že si nepoložil nasledujúce otázky.
Aké konkrétne potreby má používateľ pre aplikáciu?
Konkrétnou potrebou používateľa je poznať zložky jedla uvedeného v menu (bez toho, aby sa pýtal čašníka).
Kto je používateľ?
Vývojár mal zjavne na mysli používateľa bez hlbších znalostí gastronómie, oboznámeného s používaním mobilných telefónov a s peniazmi na míňanie (plánoval predávať kredity na používanie aplikácie).
Aké alternatívy existujú dnes?
Ako som už spomenul v predchádzajúcom článku, alternatívou je opýtať sa Siri alebo Gemini (náhrada Google Assistant v Androide), čo je v jedle, a požiadať ich, aby vám ukázali obrázok. Ak si stále chcete vytvoriť aplikáciu, existujú databázy potravín s verejnými API, ktoré zobrazujú fotografie.
Nasledujúce témy sa týkajú technických rozhodnutí.
Typ rozhrania
Pre používateľov Linuxu je vytvorenie aplikácie bez grafického rozhrania dobrým rozhodnutím, ak chcú zjednodušiť vývoj a spotrebovať menej zdrojov. Na druhej strane, použitie grafického rozhrania uľahčuje a spríjemňuje jej používanie. Typ zvoleného rozhrania bude závisieť od programovacieho jazyka a prostredia pracovnej plochy.
Programovací jazyk.
Linux podporuje väčšinu populárnych programovacích jazykov. Schopnosť modelov umelej inteligencie ich využívať však závisí od množstva dokumentácie a príkladov dostupných v jeho znalostnej báze. Túto tému budeme podrobnejšie skúmať v nasledujúcich článkoch.
Spracovanie údajov a zabezpečenie
Ďalším bodom, ktorý treba definovať, je, či bude aplikácia ukladať dáta a ako ich bude ukladať. To je veľmi dôležité, ak pracuje s citlivými informáciami, ako sú heslá alebo údaje o kreditných kartách, a interaguje so službami tretích strán. Ak áno, musia byť začlenené bezpečnostné mechanizmy.
Je tiež dôležité priradiť prísne povolenia, aby aplikácia pristupovala iba k tým funkciám a častiam operačného systému, ku ktorým potrebuje prístup.
distribúcia
Hovoríme o Linuxe. Pre každú distribúciu máte na výber z natívnych formátov balíkov a tiež univerzálne formáty Snap, Flatpak a AppImage. Budete sa tiež musieť rozhodnúť, či bude mať vaša aplikácia samostatné grafické rozhranie alebo sa bude integrovať s jedným z desktopových prostredí. A samozrejme, ak chcete do svojho projektu príspevky od komunity, budete sa musieť rozhodnúť, na ktorú platformu pre spoluprácu ich nahráte.
Sľubujem, že toto je posledný teoretický článok; v ďalšom sa budeme venovať konkrétne Linuxu.


