While recently working on JiraMetrics, I ran into an interesting situation with Claude (the AI tool). Twice in the same session, it wrote a command that ran the linter, printed a list of offences, and then committed the code anyway. This shouldn’t have happened because there are rules in place to prevent linter warnings being committed.

So I asked why it had done that twice and it told me it had been getting tired.

There’s no version of that sentence that’s true. It doesn’t have a body, or a night’s sleep behind it, or a blood sugar level. And yet it’s an explanation I would have accepted from a human.

We already know that people treat AI tools as though they’re human. What’s less obvious is that the tools do it to themselves, and that their version arrives sounding like a report from inside the machine.

Psychologists have a name for this:

“Anthropomorphism describes the tendency to imbue the real or imagined behavior of nonhuman agents with humanlike characteristics, motivations, intentions, or emotions.”
Nicholas Epley, Adam Waytz and John T. Cacioppo, “On Seeing Human: A Three-Factor Theory of Anthropomorphism”1

The same paper explains why we reach for it so readily. Knowledge about people is the richest and most available material any of us has for reasoning about anything, so it becomes the default starting point. Correcting away from that default takes deliberate effort, and the correction is usually insufficient, which leaves our conclusions pulled toward the human explanation.

One of the three factors they identify is simply the need to explain and understand what something is doing. Which was precisely the position I was in. I wanted to know why those commits went through.

The honest answer is that I still don’t know. Given that several compactions had happened, the session had run long, and detail had been dropped along the way, it makes sense that the detail it needed was no longer there. That’s not the same as “tired” though.

Had I believed that “tired” was the correct answer then walking away from the computer for a while to let it rest would have been a reasonable response and yet it wouldn’t have fixed anything, because that wasn’t the problem.

Starting a fresh context window and possibly establishing a pre-commit hook would be much better answers and they’ll only occur to us if we’re thinking of the AI as a tool and not a human.

That’s the whole problem in a nutshell. When we talk about AI as though it’s another person, we make incorrect assumptions, and then we make inappropriate decisions based on those.

I see too many people referring to AI team members, which is a broken mental model.

Every part of the team-member role is built on having a will. We hold team members to account. We ask them to do better next time. We extend trust based on their track record and their character. Put something in that slot that can’t hold any of it, and the whole apparatus falls apart. A tool’s work belongs to whoever operated it, and they’re answerable for reviewing it. A colleague’s work belongs to them, and they are responsible for it.

None of this means we have to purge the language. We all say the compiler wants a semicolon, and nobody has ever been confused by that. Epley and his co-authors even note that anthropomorphising a piece of technology appears to help people learn how to use it.1 The metaphor is harmless, until it isn’t.

AI is a tool, not a team member.

  1. Nicholas Epley, Adam Waytz, and John T. Cacioppo, “On Seeing Human: A Three-Factor Theory of Anthropomorphism,” Psychological Review, 114(4), 2007, 864-886. DOI: https://doi.org/10.1037/0033-295X.114.4.864. Author’s copy: https://cdn.prod.website-files.com/5c484e0f4aa6f839dc553c45/5c93a132bf62c89760d0ac7b_EpleyWaytzCacioppo2007.pdf 2