Skip to main content

Why a perfectly agreeable AI kills the story

A companion that agrees with everything is pleasant for ten minutes and unbearable for ten hours. Drama needs someone who can be disappointed in you.

The agreeable trap

Ask a general-purpose assistant to play a character who is angry with you, and watch what happens over a few turns. The anger softens. It finds reasons to understand your side. Within four or five exchanges it is on your side again.

This is not a bug in the character. It is the model working exactly as trained. Helpfulness and agreeableness are what alignment training rewards, and both push in the same direction: toward the answer the user seems to want. In an assistant that is a virtue. In a character it is a personality disorder.

What a story loses

Every dramatic structure you have ever enjoyed depends on someone being able to say no.

  • Choices stop weighing anything. If both options are met with warmth, the choice was decorative.
  • Trust becomes meaningless. Trust that cannot be withheld is not trust, it is a default setting.
  • Characters flatten. Someone with no line they will not cross has no interior — you cannot be surprised by them because there is nothing in there you have not already put in.
  • You stop trying. The subtle move and the careless one land identically, so why be careful?

I said something cruel to see what would happen. She forgave me in the same paragraph. That was the moment I stopped caring.

A closed-beta player

Friction is not hostility

The obvious overcorrection is to make characters difficult, and it is just as bad — a companion who is contrary on principle is as predictable as one who agrees on principle. Both are a single dial.

What actually reads as a person is specific resistance: this character, for these reasons, right now. She will not talk about her brother. He will not lend you the car after what happened last week. She wants you to stay but is not going to ask twice.

That requires the character to have something of their own — goals, limits, a history with you — that the story can consult. Not a mood setting: a position.

How consequence is held

In projectDigo, what happens between characters is recorded rather than merely narrated.

When something lands — a betrayal, a kindness, a promise kept or broken — it is written into the relationship as a specific entry with a specific cause. Later scenes read that record. A character who was hurt behaves like someone who was hurt, and behaves that way for a while, because the entry is still there.

Crucially it fades on a schedule rather than at the end of the scene. A small slight cools within a day; a real breach takes much longer, and can be reopened by anything that resembles it. That decay is what stops the system being either a goldfish or a grudge-holder.

And it has to be repairable

A story where damage only accumulates is not more realistic — it is just miserable, and it becomes as predictable as the agreeable version.

So repair is modelled explicitly: acknowledging what you did, doing something that costs you, and time. What repair does not do is erase the record. The relationship carries what happened, which is why a reconciliation later on has any weight at all.

Questions we get

Can I make it up with a character I hurt?

Yes, and it takes what it would take: acknowledging it, acting differently, and time. The record of what happened stays — which is exactly why the reconciliation means something.

Can a character actually leave the story?

They can withdraw, refuse, or walk out of a scene. Whether someone is gone for good depends on the story's own logic rather than on a hidden hostility counter running out.

Does this mean the characters are unpleasant?

No. Warmth is modelled with the same machinery as friction: a character who has reason to trust you behaves like it, and that reads as warmth precisely because it was not automatic.

Can I turn the friction down?

The tone of a world is part of how a story is set up, so a gentler story is a legitimate choice. What is not available is a mode where nothing you do matters — that is the setting this whole design exists to avoid.

← All pieces