Writing a Prompt That Works — Including in Arabic
Most prompts that fail do not fail because the model is weak. They fail because the instruction was a topic rather than a task, or left out a constraint the model had no way of knowing. In Arabic a further set of failures arrives on top: the dialect you asked for does not hold, and the instructions themselves cost more to send.
State the task, not the topic
The commonest broken prompt is a topic dressed up as an instruction. "Write about our new delivery service" leaves the model to invent the format, the length, the reader and when the job is finished — and it will invent all four, confidently. The repair is a fixed sequence: name the artifact (a 120-word Instagram caption), the reader (Baghdad customers who already order from you), the purpose (get them to try same-day delivery), and the fact that must appear (free this month).
A model knows a great deal about the world and nothing about your situation: your house style, that you do not deliver outside the city, the price that changed last week. Those are the constraints worth spending words on. The most valuable covers the missing fact — tell it to leave a marked blank like [PRICE] rather than estimate, which turns a draft you must check line by line into one you can scan.
Phrase constraints as targets, not fences. A prohibition marks a region to avoid; an instruction names something to hit. "Don't be too formal" rules out one thing and leaves everything else open, which is why results scatter; "write it the way you'd message a colleague you like" points somewhere. If you need a prohibition, pair it with the alternative.
Describing a format in prose is slower and less exact than showing it once: for a four-column table with dates in a particular form, show one filled row. Extra examples earn their place when edge cases are the point, but each occupies context — in Arabic, more than you expect.
Ask for the working, and fix the prompt rather than the answer
When the answer can be wrong without looking wrong — a calculation, a legal deadline, a dosage — ask for the working: the assumptions, the intermediate numbers, where each figure came from. The explanation is generated text, not a transcript of the computation that produced the answer, and a wrong result can arrive with a fluent justification. What you gain is visible assumptions: a wrong assumption can be seen where a wrong answer cannot.
Arguing with the output in the chat fixes today's answer and nothing beyond it. The prompt is what you keep, so put the fix there. Change one element per revision — otherwise you learn nothing about which change worked — and keep the three or four inputs that broke the previous version as a rough test set.
Arabic or English: which language to write the prompt in
The language of the instructions and the language of the output are separate decisions, and mixing them is ordinary practice: an English prompt ending with اكتب الجواب بالعربية is a normal thing to send. Decide it on purpose, because each combination costs something.
On long, constraint-heavy prompts, English instructions are often followed more precisely, likely because most instruction-tuning data is English. Treat this as a hypothesis to test rather than a law: it varies by model, and it varies by prompt. Take a prompt that failed on you, translate only the instructions, leave the task and required output identical, and run both five times.
The cost of English instructions shows in the texture of the Arabic that comes back: chains of أنّ, stacked relative clauses, nominal openings where a verb-initial sentence is natural, an overused passive, idioms carried across word for word. It is readable, and it is not what an Arabic writer would have produced. If the output must read as though it was composed in Arabic, write the prompt in Arabic.
A rough division: machine-shaped output — JSON, code, an extraction schema whose fields are English anyway — suits an English prompt; anything where tone, register or rhythm is the product suits an Arabic one.
Dialect drifts; the situation holds
Ask for Iraqi Arabic and you will often get a paragraph of it followed by a slide back into Modern Standard, or an Egyptian accent — كده, دلوقتي, حاجة — sitting in the middle of otherwise Baghdadi writing.
Three things drive this. Written Arabic in training data is overwhelmingly standard, because dialect lives in speech rather than in books. Among dialects that do get written, Egyptian is best represented, helped by film and television, while Iraqi appears far less. And "Iraqi" is not one variety: Baghdadi gilit, the qeltu of Mosul, the southern ones. A one-word label is a weak instruction, and a model resolves weak instructions toward what it has seen most of.
Describing the situation works better than naming the dialect. رسالة واتساب من موظف في محل بالكرادة لزبون سأل عن سعر التوصيل tells the model the channel (short, no opening formulas), the relationship (service, polite, not deferential), the place and the subject. Dialect follows from the situation far more reliably than from its own name.
Nothing does more than a sample: two lines you would be happy to sign beat any adjective. Pin words that matter — شلونك rather than كيف حالك, هواي rather than كثير — and say whether you want ١٢٣ or 123.
Drift tends to appear later in a long output rather than at the start, so read the end first, and generate section by section rather than arguing with a long answer. For formal registers, name the kind of document instead of asking for "formal Arabic": كتاب رسمي إلى دائرة حكومية, or بريد إلى عميل. Each kind carries its own fixed formulas, from تحية طيبة وبعد to وتفضلوا بقبول فائق الاحترام, and naming it summons them.
English terms inside an Arabic prompt
Practitioners say deployment, endpoint, token, dashboard, and writing those in Latin script inside an Arabic sentence usually helps. The English term is unambiguous, whereas the Arabic equivalent may be one of several competing renderings, and the model may read it in its everyday sense rather than its technical one — نموذج means model and also means a form you fill in. Ambiguity in an instruction costs more than a mixed script.
For a document that will be published, put a small glossary in the prompt: English term against the Arabic you want, plus a rule for the first occurrence — the English in brackets, say.
Whether the output itself mixes scripts is a style decision, and one to make rather than discover. State the rule in the prompt — English terms in Latin script throughout, or Arabic throughout with the English in brackets on first use — because an unstated rule tends not to hold across a long answer.
Length costs more in Arabic
Everything is metered in tokens, and Arabic text generally consumes more of them than English carrying the same content — the reasons sit in the tokenisation part of our article on why Arabic is hard for language models. The same instructions in Arabic cost more per call, and an Arabic few-shot example is heavy to carry on every request.
It affects the output too. A response limit is counted in tokens, so an Arabic answer runs out of room sooner than an English one of the same word count; if long answers keep stopping mid-sentence, ask for them in parts. Full tashkeel adds characters most tokenisers have no merged units for, so it inflates the count noticeably for very little return unless you are producing teaching material, poetry, or resolving a real ambiguity.
So: keep instructions tight, and prefer one example to four. Pasting a long reference document into every call is the expensive version of a problem retrieval already solves; Firas Brain is our answer to it.
The short version
A prompt is a small specification, and like any specification it improves by getting more precise, not longer. Arabic adds two dials: name the audience and the situation instead of the dialect, and remember that every sentence of instruction costs more here than in English. Keep your prompts in a file and edit them rather than retyping them.
More like this