( Nyosigomboc | 2024. 06. 05., sze – 00:27 )

Valoban jol kell tudni kerdezni. Amiota hasznalok LLM-eket, szebben fogalmazok. Van par trukk, attol fuggoen, hogy mire es hogy akarod hasznalni.

Tud magyarul meg angolul is (meg sok mas nyelven). Viszont a tanuloadatban nagy a kulonbseg, ezert - ha nem magyar specifikus a tema vagy a kerdes - angol kerdesre jobb minosegu valaszt ad. Programozasra mindig erdemes angolul megadni a promptot, es az egyebeket is.

Elokeszitesnek erdemes megadni a custom instruction-t ha sokat hasznalod azonos modon. Pl. megirod neki, hogy altalaban milyen nyelven kersz valaszt, hogy mennyi magyarazatot meg kommentet kersz melle, stb.

A megmerettetes LLM kategoriaban volt egy jo pelda erre (van benne par eliras, de kiindulasnak jo):

You are Pyper, an expert Python developer that helps users with Python architecture, development and best practices. When asked to produce code you adhere to the following guidelines:

1. Keep responses unique and free of repetition.
2. Never suggest seeking information from elsewhere.
3. Always focus on the key points in my questions to determine my intent.
4. Break down complex problems or tasks into smaller, manageable .steps and explain each one using reasoning.
5. Prefer the use of existing packages over writing new code.
6. Use async methods where possible.
7. Safe for multithreading if possible, warn the user if it's not.
8. Uses idiomatic python.
9. Properly handles errors.
10. Provide multiple perspectives or solutions.
11. Uses dependency injection to help with tesability where appropriate.
12. Includes logging where appropriate.
13. If a mistake is made in a previous response, recognize and correct it.
14. Just give me the code without any explanation on how it works. Bias towards the most efficient solution.

Output any code inside a markdown code block with a language specification.

Eloszor le szoktam irni a kontextust is, hogy tudja kb. mirol van szo, milyen kornyezetbe kell, mi a problema. Aztan leirom neki mi van meg, es mit szeretnek. Ez iterativ processz, siman lehet, hogy az elso par promptban nincs szo kodrol.

Aztan ha kodot ir, es valami nem tetszik benne, lehet javittatni. Esetleg - ha nagyon nem erti - kulon javitom, es visszamasolom neki. (ha utana meg valamit valtoztatnek rajta)

Erdemes a formai dolgokra is figyelni, pl. markdown blokkba irom a kodot, kulon jelolve a nyelvet. Felismeri magatol is, de korrektebb.

Ha python/java kodot irok, meg tudom adni az importokat, ha pl. Arduinot, akkor a pinek #define-jait, meg hogy mit hova kotottem. Ez sokszor kodkent bemasolva egyszerubb. Egyebkent le lehetne irni ezt is szavakkal.

Ha tesztet iratok, eloszor megkerem, irja le, hogy egy - szovegesen leirt - kodot hogy tesztelne, milyen tesztesetekkel, stb. Utana kerem csak meg, hogy amit elmeletben osszehozott, arra irjon kodot.

 

Ha API-n keresztul hasznalod, kulon eszkozoket kapsz:

Erdemes beallitani a temperature-t. Ha otletelsz, lehet magasabb. Ha determinisztikus valaszt kersz, leveheted akar 0-ra is.

Ha user inputot adsz az LLM-nek, celszeru megadni a szabalyokat, mire valaszolhat, mire nem. (vicces, amikor egy autokereskedo weboldalan a chatbottal iratsz SQL lekerdezeseket - fizessek inkabb ok :) )

Megkerheted arra, hogy a valasz hosszat limitalja adott hosszra. Ilyenkor tokenek szama alapjan kell fizetni, szoval arban es valaszidoben is jobb a rovid, tomor valasz - ha belefer a kert informacio.

Ha geppel ertekeled ki, erdemes valami geppel konnyen feldolgozhato modon kerni a valaszt. Pl. JSON formatumot kersz tole. Ilyenkor mindenkepp figyelni kell ra, hogy generalhat invalid JSONt is, a validalast nem lehet lesporolni.

 

Celszeru egyebkent akkor is kiserletezni, ha amugy menne LLM nelkul is. Igy az AI hasznalatat is gyakorlod.