Tehnici de bază ale Prompt Engineering
Prompt Engineering include o varietate de tehnici și metodologii destinate optimizării interacțiunii cu modelele lingvistice de mari dimensiuni (LLM) pentru obținerea rezultatelor dorite. Aceste tehnici vizează structurarea cererilor, furnizarea contextului, gestionarea stilului de ieșire și îmbunătățirea capacității de raționament a modelului. Deoarece LLM generează răspunsuri prin predicția următoarelor token-uri pe baza prompt-ului de intrare, calitatea și structura acestui prompt influențează direct rezultatul. Tehnicile de bază ale prompt engineering permit dezvoltatorilor și utilizatorilor să gestioneze eficient comportamentul modelului, să reducă erorile și să o adapteze la sarcini specifice fără a fi necesară modificarea parametrilor interni ai modelului.
Principii de bază și structura prompt-ului
Deși implementările concrete variază, prompt-urile eficiente sunt adesea construite ținând cont de principii și structuri comune:
- Repere empirice: Ca unul dintre cadrele practice (dar nu un standard de industrie), se propune respectarea următoarelor principii: Oferă Direcție, Specifică Formatul, Furnizează Exemple, Evaluează Calitatea și Împarte Sarcina.
- Un prompt eficient include adesea următoarele componente:
- Introducere/Rol: Stabilește contextul sarcinii sau rolul/persona modelului.
- Instrucțiuni: Indicații clare despre ce trebuie făcut.
- Context: Informații necesare (statice sau extrase dinamic prin RAG).
- Exemple (Few-shot): Demonstrarea formatului/stilului dorit.
- Solicitarea răspunsului: Indicarea explicită a ceea ce modelul trebuie să genereze.
- Mesajul de sistem (System Prompt): În interfețele de chat prin API (de exemplu, la modelele OpenAI, Anthropic) permite stabilirea instrucțiunilor globale și a rolului pentru întreaga sesiune.
- Formatare: Utilizarea Markdown, JSON, XML sau YAML ajută la structurarea prompt-ului și facilitează parsarea răspunsului. Delimitatorii (```, `\"\"\"`, taguri XML) sunt importanți pentru separarea instrucțiunilor de date.
Tehnici de bază privind instrucțiunile și exemplele
- Instrucțiuni clare și specifice: Descrierea cât mai precisă a sarcinii, a rezultatului dorit și a constrângerilor. Evitarea ambiguității.
- Modelare prin rol (Role Prompting): Atribuirea unui rol modelului („Ești un expert în...") pentru gestionarea tonului, stilului și bazei de cunoștințe.
- Zero-shot Prompting: Cerere fără exemple. Eficient pentru sarcini simple sau bine cunoscute de model.
- Few-Shot Prompting: Furnizarea câtorva (de obicei între 2 și 5) exemple „întrebare-răspuns" pentru demonstrarea sarcinii. Un caz particular este One-shot Prompting cu un singur exemplu. Deosebit de util pentru formate sau stiluri complexe. Necesită prudență pentru a evita ancorarea (anchoring) sau captarea unor tipare false din exemple.
Tehnici de gestionare a contextului
- Retrieval-Augmented Generation (RAG): Adăugarea dinamică a informațiilor relevante din baze de cunoștințe externe în prompt înainte de trimiterea către LLM. Propusă pentru prima dată de Meta AI în 2020, această metodă este esențială pentru combaterea halucinațiilor și asigurarea actualității datelor.
- Chunking: Împărțirea textelor mari în porțiuni mai mici (chunk-uri) pentru a se încadra în fereastra de context a modelului. Strategiile includ împărțirea după propoziții, paragrafe, token-uri (cu suprapunere).
- Sumarizare: Comprimarea textelor lungi sau a istoricului dialogului pentru a transmite sensul esențial într-un context limitat.
Tehnici de îmbunătățire a raționamentului (Reasoning)
Aceste tehnici vizează determinarea modelului să „gândească" mai riguros și mai structurat. Eficiența multora dintre ele, în special CoT, se manifestă la modele de mari dimensiuni (de regulă, peste 100 de miliarde de parametri).
- Chain-of-Thought (CoT): Instrucțiunea modelului de a genera un raționament pas cu pas înainte de răspunsul final. Îmbunătățește semnificativ rezultatele în matematică, logică și sarcini cu mai multe etape.
- Zero-shot CoT: Forma cea mai simplă, care nu necesită exemple. Adăugarea în prompt a unei fraze de tipul „Să raționăm pas cu pas" (Let's think step by step) poate declanșa deja un lanț de raționament.
- Variații ale CoT:
- Auto-CoT: Generarea automată de exemple de raționament pentru few-shot prompting.
- Self-Consistency: Generarea mai multor lanțuri de raționament și selectarea răspunsului cel mai frecvent prin „vot", ceea ce crește fiabilitatea.
- Tree-of-Thoughts (ToT): Explorarea mai multor căi de raționament sub forma unui arbore, cu posibilitatea de revenire și evaluare a pașilor intermediari. Această tehnică demonstrează o eficiență ridicată în sarcini complexe, de exemplu, crescând rata de succes la rezolvarea „Game of 24" de la ~4% la ~74%.
- Graph-of-Thought (GoT), LogiCoT și altele, destinate raționamentelor mai complexe sau verificate logic.
- ReAct (Reason and Act): Tehnică ce extinde CoT. Reprezintă un ciclu iterativ în care modelul alternează pași de Raționament (Thought) și Acțiune cu utilizarea Instrumentelor (Act), actualizându-și înțelegerea pe baza Observațiilor (Observation).
- Self-Refine: Proces iterativ în care modelul generează mai întâi un răspuns, apoi îl critică și, în final, îl îmbunătățește pe baza propriei critici. Acest ciclu „generare-critică-îmbunătățire" poate fi repetat de mai multe ori.
- Take a Step Back Prompting: Modelul formulează mai întâi principii generale sau abstracții, apoi le aplică la sarcina concretă.
Tehnici avansate: agenți și instrumente
- Utilizarea instrumentelor (Tool Usage) / Apel de funcții (Function Calling): Oferirea posibilității LLM de a apela API-uri externe (căutare, calculator, baze de date). Modelul generează o cerere structurată de apelare a unui instrument, care este executată de aplicație, iar rezultatul este returnat modelului. LLM-urile moderne (GPT-4, Claude 3) au suport nativ pentru această funcție.
- Agenți (Agents): Sisteme bazate pe LLM care pot planifica autonom, utiliza instrumente și acționa pentru atingerea unui obiectiv. Folosesc adesea cicluri de tip ReAct. Framework-urile (LangChain, AutoGen, CrewAI) simplifică crearea acestora.
- Sisteme multi-agent: Interacțiunea mai multor agenți specializați pentru rezolvarea sarcinilor complexe.
Tehnici de reducere a erorilor și a halucinațiilor
- RAG: Ancorarea răspunsurilor la date factuale extrase.
- Instrucțiuni de limitare a răspunsului: Cerința de a răspunde doar pe baza contextului furnizat sau de a indica incertitudinea („Dacă răspunsul nu este cunoscut, spune «Nu știu»").
- Solicitarea de citare: Cerința ca modelul să indice sursele sau să citeze părțile din context pe care se bazează răspunsul.
- Verificare și autocritică: Utilizarea tehnicilor precum Chain-of-Verification (CoVe) (generarea unui răspuns urmată de verificarea și corectarea acestuia), Self-Refine sau solicitarea directă a modelului de a-și verifica răspunsul pentru erori.
- CoT: Raționamentul pas cu pas în sine poate reduce erorile logice.
Tehnici de evaluare și iterație
Deși evaluarea este un proces distinct, unele aspecte ale sale fac parte din prompt engineering:
- Testare A/B a prompt-urilor: Compararea eficienței diferitelor versiuni de prompt-uri pe aceleași sarcini.
- Utilizarea LLM pentru evaluare: Aplicarea unui model puternic (de exemplu, GPT-4) pentru evaluarea calității răspunsurilor generate de un alt prompt sau model (LLM-as-a-Judge).
Tipare de prompt-uri
Structuri reutilizabile frecvent utilizate:
- Tiparul Personei (Persona Pattern).
- Tiparul de Personalizare a Ieșirii (Output Customization Pattern).
- Tiparul de Solicitare a Clarificărilor (Question Refinement Pattern).
- Tiparul de Verificare Cognitivă / Autocritică (Cognitive Verifier / Self-Critique Pattern).
- Tiparul de Raționament Pas cu Pas (Step-by-Step / Chain-of-Thought Pattern).
- Tiparul Șablon (Template Pattern).
Bibliografie
- Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. PDF.
- Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
- Lewis, P. et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. arXiv:2005.11401.
- Li, X. L.; Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. arXiv:2101.00190.
- Liu, Y. et al. (2021). Fantastically Ordered Prompts and Where to Find Them: Overcoming Few-Shot Prompt Order Sensitivity. arXiv:2104.08786.
- Bai, Y. et al. (2022). Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073.
- Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Kojima, T. et al. (2022). Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916.
- Zhang, Z. et al. (2022). Automatic Chain of Thought Prompting in Large Language Models. arXiv:2210.03493.
- Zhou, D. et al. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. arXiv:2205.10625.
- Yao, S. et al. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. arXiv:2210.03629.
- Besta, M. et al. (2023). Graph of Thoughts: Solving Elaborate Problems with Large Language Models. arXiv:2308.09687.
- Madaan, A. et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback. arXiv:2303.17651.
- Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
- Rafailov, R. et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. arXiv:2305.18290.
- Wang, Y. et al. (2023). Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
- Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
- Chen, S. Y. et al. (2023). Extending Context Window of Large Language Models via Positional Interpolation. arXiv:2306.15595.
- Chang, K. et al. (2024). Efficient Prompting Methods for Large Language Models: A Survey. arXiv:2404.01077.
- Genkina, D. (2024). AI Prompt Engineering Is Dead. IEEE Spectrum. [1].
- Li, Z. et al. (2024). Prompt Compression for Large Language Models: A Survey. arXiv:2410.12388.
- Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
- Han, H. et al. (2025). Retrieval-Augmented Generation with Graphs (GraphRAG). arXiv:2501.00309.
- Li, W. et al. (2025). A Survey of Automatic Prompt Engineering: An Optimization Perspective. arXiv:2502.11560.
- Wu, Z. et al. (2025). The Dark Side of Function Calling: Pathways to Jailbreaking Large Language Models. EMNLP 2025. PDF.
- Yang, B. et al. (2025). Hallucination Detection in Large Language Models with Metamorphic Relations. arXiv:2502.15844.
Vezi și
- Modele lingvistice de mari dimensiuni
- Chain-of-Thought Prompting
- Halucinații și răspunsuri incorecte ale LLM