Monday, February 24, 2025

Writing Directions Is Hard

I finished assembling a new bed frame yesterday. I seems solid with good quality materials and seems well designed. The directions on the other hand left something to be desired.  Some things were unclear and resulted in some errors on my part. The “steps” were diagrams that usually clearly showed where all the pieces should go. It was not clear in what order things should be attached leaving the assembler to  make assumptions which sometimes resulted in things being more difficult than they might have been. In at least one place, it would have been helpful to say something like “leave some slack here until step x” where step X involved pieces that had to fit in with the pieces in that step.

And finally, saying that a piece goes on the left or right is less helpful if the instructions are unclear about if left is based on facing the headboard or facing the foot board.

So what does this have to do with computing? Well, I kept thinking about how a robot AI would assemble from these directions. I decided that a robot AI would require a lot more in the way of direction. Software, even so called artificial intelligence software, does not handle ambiguity well. Even things that are obvious to humans need to be spelled out for software.

We’re probably a long way from having general purpose robot assembling household furniture but even if the hardware was ready I don’t think we’re ready for giving it instructions.

We’ve joked about a “do what I mean” instruction for decades but even humans struggle with interpreting ambiguous instructions. We’ve all heard someone say “just do what I mean” expecting people to understand jargon or figures of speech. Those things require a knowledge of context and individuals ways of speaking that are often culturally dependent. Can we program all that into an AI? Maybe one day though I expect that AIs will have to work with people for a while to really get solid understanding. Each person may have to train the AI individually.

Circling back to directions. Today’s AIs like ChatGPT and others are given prompts. It often takes several iterations of prompts to get the results that users want from the tool. I have actually seen course descriptions that include learning how to properly give prompts. Yes, it seems that humans have to be taught how to talk to artificial intelligences. It seems to me that learning to program may be helpful here.

Programming is writing directions for the computer.  It involves taking very human prompts and writing directions that interpret what the user actually wants in terms that the computer understands. It involves removing ambiguity. Programming, and computer science more generally, help people understand the world of computing. That is becoming ever more important in understanding the world we live in every day.

I’ve been saying for a long time that we should not be focusing computer science in education as a career subject. We should be focused on helping students understand the world they live in. That is why everyone needs to learn some computer science.

1 comment:

Anonymous said...

Very insightful! I agree, there is a whole branch of research that will need to be done on prompt engineering in order to get the most out of AI. It is interesting that one of the leaders of OpenAI itself came out with this talk explaining how to properly format prompts into LLMs like ChatGPT, which honestly felt so tedious and unrealistic for the average user. It will be interesting to see how we manage to get the most out of AI in the upcoming years.