Ako napísať dobré výzvy na programovanie

Techniky písania dobrých výziev pre programovanie

Na dokončenie série Tohtomesačné číslo o vývoji softvéru s pomocou umelej inteligencieSekciu venujeme tomu, ako písať dobré výzvy pre programovanie.Toto je veľmi dôležitá časť, pretože ak chceme dosiahnuť optimálny výsledok, musíme presne opísať, čo chceme.

Nikdy neúnavne zdôrazňujem zodpovednosť, ktorú prináša vytváranie aplikácie. Najmä ak túto aplikáciu budú používať ľudia bez potrebných znalostí, ktorí jej zveria citlivé údaje.

Dovoľte mi pripomenúť dialóg medzi Alicou a mačkou Cheshire v knihe Lewisa Carrolla.

„Kocúr Cheshire,“ začala Alice nesmelo, pretože si nebola celkom istá, či sa mačke tento titul páči; ale úsmev mačky sa len rozšíril, a tak Alice usúdila, že áno. „Kocúr Cheshire, mohla by si mi prosím povedať, ktorým smerom by som mala odtiaľto ísť?“

„To do veľkej miery závisí od toho, kam sa chceš dostať,“ povedala mačka.

„V skutočnosti mi to miesto nevadí...“ povedala Alice.

– Potom je vlastne jedno, ktorým smerom pôjdeš, – povedala mačka.

– …za predpokladu, že sa niekam dostanem – dodala Alice na vysvetlenie.

„Och, vždy sa niekam dostaneš,“ uistila ho mačka, „ak budeš kráčať dostatočne dlho!“

Rozsiahle jazykové modely, ako napríklad cesty dostupné Alici, nás vždy niekam dovedú, pokiaľ ich budeme dostatočne používať. Problém je v tom, že ak sa nepýtame presne, systém sa uchýli ku generovaniu riešení prostredníctvom štatistickej inferencie.Pripomeňme si, že žiadny model nedokáže uložiť všetky údaje o vesmíre, takže je nútený rekonštruovať informácie, ktoré nemá, odvodením toho, čo by mohlo byť najpravdepodobnejšie.

Halucinácia je chyba, ktorú urobí silný jazykový model a ktorá ho vedie ku generovaniu informácií, ktoré sa síce zdajú byť správne a zodpovedajú kontextu, ale sú nepravdivé. alebo neoveriteľné. Halucinácie sa vyskytujú, keď výstup:

  • Nie je to podložené údajmi poskytnutými na účely školenia.
  • Nezhoduje sa to so skutočnými udalosťami.
  • Sú úplne vymyslení

Ohľadom preberanej témya, halucinácie často zahŕňajú vyvolávanie funkcií, ktoré neexistujú, alebo odporúčanie zakázaných postupov kvôli použitému programovaciemu jazyku.

Príčiny halucinácií sú zvyčajne:

Modely nemajú prístup ku všetkým údajom, iba k dátovým vzorom.

  • Neschopnosť rozlišovať medzi informáciou a šumom.
  • Jazyková koherencia má prednosť pred výsledkom požadovaným používateľom.

Ako napísať dobré výzvy na programovanie

Interakcia medzi ľuďmi a rozsiahlymi jazykovými modelmi sa uskutočňuje prostredníctvom výziev. Ide o pokyny, otázky alebo kontext, z ktorých sa vygeneruje odpoveď.

Výzva môže byť:

  • Otázka. Napríklad „Ako definujete číselnú premennú v Pythone?“
  • PokynNapríklad „Vytvorte funkciu, ktorá generuje číslo Pí s počtom desatinných miest, ktorý zodpovedá dňu v mesiaci.“
  • Kontext. Napríklad „Vytvorte časovač Pomodoro v Pythone ako začínajúci vývojár.“

Klasifikácia Promts

Jednoduché rýchle

Skladá sa z jednej inštrukcie a deleguje väčšinu rozhodovania na model. Napríklad:
Vytvorte časovač Pomodoro s grafickým rozhraním v Pythone

Nechajme model, aby rozhodol, ktorú verziu Pythonu a ktorú grafickú knižnicu použije, ako aj farby a typografiu. To môže spôsobiť problémy s kompatibilitou s operačným systémom, na ktorom chceme aplikáciu spustiť.

Výzva s kontextom

Pridajte ďalšie informácie čo umožňuje primeranejšiu reakciu.
Vytvorte časovač Pomodoro s grafickým rozhraním v Kubuntu 25.04
Táto inštrukcia vám povie, že je lepšie použiť Python 3 a knižnicu PyQT.

Štruktúrovaná výzva

Le Označuje modelovú úlohu, formát a cieľ
„Ste vývojár projektu v KDE, vytvorte v Pythone časovač Pomodoro, ktorý sa prispôsobí tomu, či sa používa svetlá alebo tmavá téma.“

Prepojené výzvy

Sú v debne postupné výzvy

  1. "Vytvorte časovač Pomodoro v Pythone 3."
  2. "Pridajte grafické rozhranie, ktoré sa prispôsobí pracovnej ploche KDE."
  3. „Pridáva podporu pre tmavé témy“

Pokiaľ nepoužívate agenta alebo sprievodcu integrovaného vývojového prostredia (Integrated Development Environment), táto metóda zvyčajne nefunguje dobre v programovaní, pretože model zabúda predchádzajúce rozhodnutia.

Kritériá, ktoré treba zvážiť pri písaní dobrých výziev, sú:

Jasne definujte očakávaný výsledok

Modely nie sú dobré v hádaní požiadaviek nešpecifikované, obchodné pravidlá a systémové obmedzenia. Preto je potrebné objasniť účel, technológiu a očakávanú funkcionalitu. Zopakujem vyššie uvedený príklad.

Namiesto toho
Vytvorte časovač Pomodoro v Pythone
Je to lepšie
„Vytvorte v Pythone 3 časovač Pomodoro, ktorý používa knižnicu PyQT a prispôsobuje sa svetlým a tmavým témam pracovnej plochy KDE. Bude sa používať v Kubuntu 25.04.“

Zadajte výstupný formát

Musíš modelu presne povedať, čo chceš.Ak potrebujete, aby vám povedali, či je kód správny alebo nie, mali by ste objasniť, že by mali odpovedať iba ÁNO alebo NIE, namiesto toho, aby vás zaťažovali dlhým vysvetľovaním, prečo je kód nesprávny, s príkladmi, ktoré vás nezaujímajú.

Niektoré príklady vhodných výstupov sú:
„Len mi daj kód“
"Dajte mi kód s komentármi vysvetľujúcimi jeho funkciu"
"Uveďte iba funkcie s chybami"

Uveďte všetky relevantné informácie o kontexte

  • Informácie o technológiách, ktoré chceme používať: Programovací jazyk, knižnice
  • Prostredie: Operačný systém, počítač, či sa bude používať s grafickým rozhraním alebo z prehliadača.
  • Obmedzenia: Množstvo dostupnej pamäte, miesto na disku, nepodporované technológie.

Dobrým podnetom v tomto prípade by bolo:
„Chcem vytvoriť nákupný košík v PHP, ktorý odosiela dáta e-mailom. Potrebujem systém captcha, aby som zabránil spamu.“

Ako Peter Drucker varoval pred toľkými rokmi, nové technológie neodstraňujú pracovné miesta; nahrádzajú ich inými pracovnými miestami, ktoré vyžadujú ešte viac vedomostí. Programovanie s pomocou umelej inteligencie si bude vyžadovať lepšie pochopenie toho, ako fungujú programy, ktoré sa majú vytvoriť, a dostupných technológií.

Používanie nástrojov umelej inteligencie pri programovaní vytvára viac problémov, ako ich rieši
Súvisiaci článok:
Problémy s kódovaním Vibe a ako ich vyriešiť v Linuxe

Umelá inteligencia je skvelým pomocníkom pre programátorov.
Súvisiaci článok:
Od vibračného kódovania k programovaniu s pomocou umelej inteligencie

Existuje niekoľko aplikácií s umelou inteligenciou, ktoré je možné použiť v systéme Linux.
Súvisiaci článok:
Nástroje založené na umelej inteligencii pre programovanie s verziami Linuxu

Používanie AI asistenta zrýchľuje programovanie
Súvisiaci článok:
Nástroje s technológiami umelej inteligencie pre programovanie v Linuxe

Existuje niekoľko riešení založených na umelej inteligencii, ktoré možno použiť na programovanie v Linuxe.
Súvisiaci článok:
Riešenia založené na umelej inteligencii pre Linux

Možnosti programovania s pomocou umelej inteligencie.
Súvisiaci článok:
S čím programovať v Linuxe