The format is part of the prompt
If you don't say what shape the answer should take, the model picks one, usually a friendly introduction, a numbered list, and an offer to help further. That's fine to read and painful to reuse.
Be specific about the shape
Name four things:
- The format: JSON, a Markdown table, a bulleted list, CSV, plain text
- The fields or columns, by name
- The size: how many items, how long each one is
- What to leave out: "return only the table", "no introduction"
JSON: show the structure
Return product data for a water bottle, a yoga mat, and a jump rope as a JSON array.
Use exactly this structure for each item and return only the JSON, with no other text:
{"name": "string", "category": "string", "price_usd": number, "tagline": "string under 60 characters"}
Showing one example object is few-shot prompting for structure: it fixes the field names and types. If the data must be real, such as your actual prices, put it in the input; otherwise the model makes it up.
Markdown tables: name the columns
"Compare these three plans as a Markdown table with the columns Plan | Monthly price | Best for | Main limit. One row per plan. No text before or after the table."
Tables are ideal for comparisons and paste cleanly into most documents.
Custom formats
You can define any format by example:
For each idea, use exactly this format:
IDEA: <one sentence>
WHY IT WORKS: <one sentence>
FIRST STEP: <one action>
Labelled fields like these are easy to scan and easy to split into separate cells later.
When the format breaks
- Extra chatter around the output? Add "Return only the [format]. No other text."
- Fields missing or renamed? Show the example structure, not just a description.
- Too long? Give an exact count: "exactly five rows", "under 20 words each."
Try it
Pick some information you use regularly, such as a list of clients, products, or tasks. In Ask Ace, ask for it as a Markdown table with named columns, then as JSON with an example object. The lab is next.
Before and after
Before
Prompt
Give me product info for a water bottle, a yoga mat, and a jump rope.
Output
Sure! Here's some information about each product: 1. Water bottle: A reusable bottle that keeps drinks cold for hours... 2. Yoga mat: A non-slip mat that provides cushioning... 3. Jump rope: An adjustable rope great for cardio...
After
Prompt
Return product data for a water bottle, a yoga mat, and a jump rope as a JSON array. Use exactly this structure for each item and return only the JSON, with no other text:
{"name": "string", "category": "string", "price_usd": number, "tagline": "string under 60 characters"}Output
[
{"name": "Steel Water Bottle", "category": "Hydration", "price_usd": 24, "tagline": "Cold for 24 hours, light enough to forget"},
{"name": "Grip Yoga Mat", "category": "Yoga", "price_usd": 39, "tagline": "Stays put in every pose"},
{"name": "Speed Jump Rope", "category": "Cardio", "price_usd": 15, "tagline": "Ten minutes, full workout"}
]Showing the structure and saying "return only the JSON" turns a chatty answer into data a tool can read. The prices are invented by the model, so give it real ones when they matter.