Good software says no.
At some point the bot reads the caller a muffin recipe.
He was built to pick up the phone when nobody is at the front desk. Answer questions, book appointments. The muffin recipe was never part of the plan. It just was not written down anywhere that he does not do it. And because there is an AI behind him, he can. So he does.
That is exactly where it sits. The hard part of building is not deciding everything a system can do. The hard part is deciding what it does not do. As with people, character shows in the no.
I had to learn that in life first. Saying no was hard for me, and for a long time I took it for a weakness. “I do not do that.” The sentence hurts in the moment. Over time it makes you dependable, because you become reliable at the things you say yes to. Someone who says yes to everything ends up doing nothing well. “Yes, that still fits.” “I can manage that too.” And then the day fills up, corners get cut everywhere, and suddenly you let everyone down, even though you meant to let no one down.
With software the mechanism is different and the point is the same. My day has a limit set by time, whether I want it or not. A system has no such limit unless you set one. A bot that answers everything has no full schedule to stop it. It just keeps going, all the way to the muffin recipe. An open barn door feels generous. In truth it is a decision nobody made.
Because a limit is there either way. The only question is whether you draw it or it catches you off guard. With the endless yes, it draws itself in the end. Just where it hurts the most.
It gets truly tricky in the configuration, at a spot you never see in the finished product. Because here you are building for two people at once, and they want the opposite of each other.
On one side is the conversation designer who sets the bot up. Not a specialist, often just the person the task landed on. She still has to understand what she is doing. On the other side is the caller, who has something to sort out and does not want to talk to a wall. Make the configuration powerful enough for truly every case, and she drowns in it. A thousand switches, no overview. Make it dead simple, and the call turns stiff and dumb, because the bot has nothing left to work with.
Two sides, one system. Say yes to everything for one, and you break it for the other. That is exactly where most systems fail. Not because they can do too little. Because nobody decided who they should be simple for.
The way out is not a clever trick. The way out is a clear limit. This is what the bot does, a human takes everything else. Sounds like giving up. It is not. A phone call can run in a thousand directions, and you cannot think every one through in advance. “From here a human takes over” does not mean the system failed. It means it knows its limit. That is the system’s no.
And there is no escaping that limit. Sure, put a second AI behind it to catch the rest. Then you have moved the limit, not dissolved it. Somewhere at the end a human decides where the no sits. That decision is the actual work.
The good part: every no the system makes is a decision the designer no longer has to make. You take it off her hands, and that is exactly how you help her. She does not have to understand how the thing ticks. She says what she wants and gets on with her real job. The rest you have already decided.
That is a good default. Not a switch you hand her because you were unsure yourself. A decision you take off her hands because you are sure. Every switch she does not see is a thought she is spared.
But the right no is just as stubborn to find as the right yes. I wrote recently that the obvious is the hardest thing to find. Leaving things out is the same. Which limit was the right one, you can no longer tell from the finished system. You have to know the designer’s job well enough to know what she will never need. Someone who does not know that and still allows everything is not generous. He just did not decide.
The same held for this piece. It could have run in several directions. How a system can feel like a good game. How you spot a good default. Why nobody wants to learn a tool that is not part of their job. All true, all worth their own article. I cut it. A piece that wants to say everything ends up saying nothing.
Ability has become cheap. Almost every system can do almost anything today. The craft is not bolting on one more feature. The craft is the no. Whether a person, software, or this piece: what you can count on is the thing that also says no sometimes. Because then the yes is worth something.