The basics
Most good prompts cover four things:
- Context. Who is the audience? What does the model need to know?
- Task. What exactly should it do? Use a verb: summarize, classify, rewrite, extract.
- Format. How should the answer look? A list, a table, JSON, a single word?
- Limits. Length, tone, and what to do when it isn't sure.
Rules that apply to every turn belong in the System Prompts. The specific task goes in the user message.
Techniques worth knowing
- Zero-shot: just ask. See Zero-Shot Prompting.
- Few-shot: show a few input and output pairs first. See Few-Shot Prompting.
- Delimiters: wrap documents and data in tags so the model can tell them apart from instructions. See XML Prompts.
- Step by step: ask the model to reason before it answers. See Chain-of-Thought Prompting.
- Grounding: give the model source text and tell it to answer only from that. See Retrieval-Augmented Generation.
Testing prompts
Keep a small set of real inputs, including hard and odd ones. Each time you change the prompt, run the whole set and compare. Settings like Temperature also change results, so keep them fixed while you test wording.
Example
curl https://api.luv13.ai/v1/chat/completions \
-H "Authorization: Bearer $LUV13_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "luv13/glm-5.3-flash",
"messages": [
{"role": "system", "content": "You write release notes for developers. Be brief and concrete."},
{"role": "user", "content": "Summarize this change as one bullet under 20 words: Added retry with exponential backoff to the upload client."}
]
}'