AI doesn't have to be that good | I'm trying some experimental tiers on Patreon to see if I can get to substack-like levels of financial support for this blog without moving to substack!

Last week, I scheduled an appointment for an MRI. The MRI is for a jaw problem which makes it painful to talk. I was hoping that the scheduling would be easy, so I wouldn't have to spend a lot of time talking on the phone. But, as is often the case when dealing with bureaucracy, it wasn't easy.

Here are the steps it took.

  1. Have jaw pain.
  2. See dentist. Get referral for MRI when dentist determines that it's likely to be a joint problem.
  3. Dentist gets referral form from the local health provider (let's call them Local Health), faxes it to them according to the instructions on the form, and emails me a copy of the referral.
  4. Call Local Health.
  5. Local Health tries to schedule me for an MRI of my pituitary.
  6. Ask them to make sure there isn't an error.
  7. Local Health looks again and realizes that's a referral for something else. They can't find anything for me.
  8. Ask Local Health to call dentist to work it out. Local Health claims they cannot make phone calls.
  9. Talk to dentist again. Ask dentist to fax form again.
  10. Call Local Health again. Ask them to check again.
  11. Local Health says form is illegally filled out.
  12. Ask them to call dentist to work it out, again.
  13. Local Health says that's impossible.
  14. Ask why.
  15. Local Health says, “for legal reasons”.
  16. Realize that's probably a vague and unfounded fear of HIPAA regulations. Try asking again nicely for them to call my dentist, using different phrasing.
  17. Local Health agrees to call dentist. Hangs up.
  18. Look at referral, realize that it's actually impossible for someone outside of Local Health (like my dentist) to fill out the form legally given the instructions on the form.
  19. Talk to dentist again.
  20. Dentist agrees form is impossible, talks to Local Health to figure things out.
  21. Call Local Health to see if they got the form.
  22. Local Health acknowledges receipt of valid referral.
  23. Ask to schedule earliest possible appointment.
  24. Local Health isn't sure they can accept referrals from dentists. Goes to check.
  25. Local Health determines it is possible to accept a referral from a dentist.
  26. Local Health suggests a time on 2/17.
  27. I point out that I probably can't make it because of a conflicting appointment, also with Local Health, which I know about because I can see it on my profile with I log into the Local Health online system.
  28. Local Health suggests a time on 2/18.
  29. I point out another conflict.
  30. Local Health starts looking for times on later dates.
  31. I ask if there are any other times available on 2/17.
  32. Local Health notices that there are other times available on 2/17 and schedules me later on 2/17.

I present this not because it's a bad case, but because it's a representative one1. In this case, my dentist's office was happy to do whatever was necessary to resolve things, but Local Health refused to talk to them without repeated suggestions that talking to my dentist would be the easiest way to resolve things. Even then, I'm not sure it helped much. This is actually better than average, since I was able to convince the intransigent party to cooperate. The bad cases are when both parties refuse to talk to each other and both claim that the situation can only be resolved when the other party contacts them, resulting in a deadlock. The good cases are when both parties are willing to talk to each other and work out whatever problems are necessary.

The case against using computers instead of humans is that computers are bad at handling error conditions, can't adapt to unusual situations, and behave according to mechanical rules, which can often generate ridiculous outcomes, but that's precisely the situation we're in right now with humans. It already feels like dealing with a computer program. Not a modern computer program, but a compiler from the 80s that tells you that there's at least one error, with no other diagnostic information.

Local Health sent a form with impossible instructions to my dentist. That's not great, but it's understandable; mistakes happen. However, when they got the form back and it wasn't correct filled out, instead of contacting my dentist they just threw it away. Just like an 80s compiler. Error! The second time around, they told me that the form was incorrectly filled out. Error! There was a human on the other end who could have noted that that the form was impossible to fill out. But like an 80s compiler, they stopped at the first error and gave it no further thought. This eventually got resolved, but the error messages I got along the way much worse than I'd expect from a modern program. Clang (and even gcc) give me much better error messages than I got here.

Of course, as we saw with, outsourcing interaction to computers doesn't guarantee good results. There are some claims that market solutions will automatically fix any problem, but those claims don't always work out.

Seeking AdSense Googler. Need AdSense help. My emails remain unanswered. Are you the special Googler who will help?

That's an ad someone was running for a few months on Facebook in order to try to find a human at Google to help them because every conventional technique they had at their disposal failed. Google has perhaps the most advanced ML in the world, they're as market driven as any other public company, and they've mostly tried to automate away service jobs like first-level support because support doesn't scale. As a result, the most reliable methods of getting support at Google are

  1. Be famous enough that a blog post or tweet will get enough attention to garner a response.
  2. Work at Google or know someone who works at Google and is willing to not only file an internal bug, but to drive it to make sure it gets handled.

If you don't have direct access to one of these methods, running an ad is actually a pretty reasonable solution. (1) and (2) don't always work, but they're more effective than not being famous and hoping a blog post will hit HN, or being a paying customer. The point here isn't to rag on Google, it's just that automated customer service solutions aren't infallible, even when you've got an AI that can beat the strongest go player in the world and multiple buildings full of people applying that same technology to practical problems.

While replacing humans with computers doesn't always create a great experience, good computer based systems for things like scheduling and referrals can already be much better than the average human at a bureaucratic institution2. With the right setup, a computer-based system can be better at escalating thorny problems to someone who's capable of solving them than a human-based system. And computers will only get better at this. There will be bugs. And there will be bad systems. But there are already bugs in human systems. And there are already bad human systems.

I'm not sure if, in my lifetime, technology will advance to the point where computers can be as good as helpful humans in a well designed system. But we're already at the point where computers can be as helpful as apathetic humans in a poorly designed system, which describes a significant fraction of service jobs.

Thanks to Leah Hanson for extensive comments on this, and to Josiah Irwin for a correction.

  1. Representative of my experience in Madison, anyway. The absolute worst case of this I encountered in Austin isn't even as bad as the median case I've seen in Madison. YMMV. [return]
  2. I wonder if a deranged version of the law of one price applies, the law of one level of customer service. However good or bad an organization is at customer service, they will create or purchase automated solutions that are equally good or bad.

    At Costco, the checkout clerks move fast and are helpful, so you don't have much reason to used to automated checkout. But then the self-checkout machines tend to be well-designed; they're physically laid out to reduce the time it takes to feed a large volume of stuff through them, and they rarely get confused and deadlock, so there's not much reason not to use them. At a number of other grocery chains, the checkout clerks are apathetic and move slowly, and will make mistakes unless you remind them of what's happening. It makes sense to use self-checkout at those places, except that the self-checkout machines aren't designed particularly well and are often configured so that they often get confused and required intervention from an overloaded checkout clerk.

    The same thing seems to happen with automated phone trees, as well as both of the examples above. Local Health has an online system to automate customer service, but they went with Epic as the provider, and as a result it's even worse than dealing with their phone support. And it's possible to get a human on the line if you're a customer on some Google products, but that human is often no more helpful than the automated system you'd otherwise deal with.