I was naming a couple of sources that would appear in OBS, conceptually a list of filenames.
One was text-to-speech. The others were background sounds. I wanted all the sources grouped together, with the text-to-speech source appearing before the sounds when sorted them alphabetically.
We were riffing on names when I said:
“Riff on voice, gotta sort before sounds”
The AI suggested several names. Some sorted correctly. Some didn’t.
So I made the constraint considerably harder to miss:
“Maybe change sound? It keeps bumping into tts. Riff both, only show ones where tts sorts first”
It still gave me answers that violated the constraint.
Twice.
This wasn’t a difficult problem. We were sorting two strings alphabetically.
Eventually we landed on:
Example.App Chat
Example.App Sound – Babbling Brook
Chat sorts before Sound. Solved.
But the interesting part was why such a trivial instruction had failed.
My original instruction stated the constraint: only show names where TTS sorts first.
That should have been enough.
But there were two escape hatches.
First, the AI could forget the constraint while generating possibilities. “Riff both” encouraged it to explore names, and the exploration effectively overwhelmed the little sorting rule.
Second, nothing explicitly required it to check its work. It could generate a pair that sounded good and immediately show it to me without performing the laughably simple alphabetical comparison that would have caught the mistake.
So a much harder version of my prompt would have been:
Hard constraint: TTS must alphabetically sort before every sound. Check the sort before showing me anything.
Two little additions.
Don’t forget the constraint.
Check the result against it.
That’s a useful general technique when working with AI. You don’t necessarily need to tell it how to solve something. Often you need to notice the ways it can technically wander away from your goal and close those exits.
Or, put less politely:
###
Give the AI somewhere to go, then sink the lifeboats so its choices are fewer.
Leave a Reply