The prompt that summarises
support tickets
came with one worked example.
A made up customer called Maria,
a delayed parcel,
a refund of thirty four euros,
and the neat three line summary
you wanted back.
It worked beautifully.
Then somebody read the summaries
for a whole week.
A surprising number of customers
were called Maria.
Refunds of thirty four euros
turned up in tickets
that never mentioned money.
Parcels were delayed
in complaints about a password.
The model did not invent this
out of nowhere.
You gave it to it.
An example in a prompt
is not only a picture of the format.
To the model
it is text like any other text,
sitting close to the answer,
and the nearest, clearest thing
it has to copy from.
When the real ticket is vague,
the example is not vague.
So the gaps get filled
from the one story
you told it in detail.
Nothing flags it.
The summaries still have three lines.
They are still fluent.
A reviewer skimming them
sees the right shape
and moves on.
It gets worse
the more alike your examples are.
Three examples,
all about parcels,
and the model learns
that tickets are about parcels.
All of them polite,
and every angry customer
comes out sounding polite.
So write examples
that cannot be mistaken for content.
Use values that are obviously fake,
names like Customer A,
amounts like one hundred and twenty three point four five,
so a leak stands out
the moment you see it.
Make them different from each other
on purpose,
different topics,
different lengths,
one where the right answer
is that nothing happened.
Say plainly in the prompt
that the examples show the shape only.
Then test for the leak.
Search a week of outputs
for every name and number
that appears in your examples.
It takes one line of code.
Any hit
is an answer the model wrote
about your example
instead of about your customer.
Show it the shape.
Do not hand it a story
it will be glad to tell again.
– Serguey Asael Shinder
Top comments (0)