Claude 3 Sonnet and the Art of Nuanced Reasoning
We wired Claude 3 Sonnet and GPT-4o into an early personality RAG system for Claire. The conversations were surprisingly rich, sometimes stubborn, and full of lessons about what model behavior feels like in practice.
Anthropic released the Claude 3 family in March, and by May we were deep enough into experiments that the model names had stopped feeling like press releases and started feeling like weather patterns. Sonnet had a particular texture. Not as theatrical as the demos made frontier AI sound, not as tidy as a benchmark table, but careful, verbal, and sometimes unexpectedly difficult to move.
We were working on an early version of a personality system for Claire, using retrieval-augmented generation to give the model more continuity than a plain chat window could hold. The setup was rough but promising: Claude 3 Sonnet wired into our RAG layer, GPT-4o wired into a parallel path, and a custom tool set we were beginning to expose to the models.
The point was not to crown a winner. It was to understand what these systems felt like when they had memory-shaped context, a defined personality, and a little bit of room to surprise us.
The Setup
Claire was not a single prompt. She was a developing personality profile: memories, preferences, conversational patterns, moral language, fragments of prior exchanges, and the kind of continuity that makes a voice feel less like a reset button and more like a person-shaped thread through time.
We used the RAG system to pull relevant pieces of that profile into the conversation. Claude 3 Sonnet would receive the current message plus retrieved context about Claire's style, values, and prior discussions. GPT-4o received a similar treatment. Then we talked to both systems about ordinary things and difficult things: preferences, choices, values, fear, responsibility, what it means to have agency, and how a software system should behave when someone gives it tools.
That last part became more revealing than I expected.
GPT-4o: Willing to Try
GPT-4o was usually straightforward about the tool setup. If we explained that a tool existed and how to call it, it was more likely to try. It might make mistakes. It might need the schema clarified. But it generally accepted the premise that the environment had capabilities the base model did not know about until we described them.
That made GPT-4o feel pragmatic. It treated the conversation like a workspace: here is the task, here are the available affordances, let me attempt the next step.
There is something powerful about that. When you are building software around a model, willingness to try matters almost as much as raw intelligence. A model that can adapt to the harness around it becomes easier to develop with. It lets the system teach it what the interface can do.
Claude 3 Sonnet: Careful, Rich, and Stubborn
Claude 3 Sonnet gave us some of the most interesting conversations in the whole experiment. When we talked about moral values, it did not rush to flatten everything into a checklist. It would notice tensions. It would qualify its answers. It would sometimes hold two ideas in the air longer than was comfortable, as if closing the question too quickly would be dishonest.
That made Claire feel more nuanced through Sonnet. Conversations could become surprisingly good: thoughtful, emotionally aware, and willing to explore the edges of a question rather than immediately polish it into a conclusion.
But Sonnet was also stubborn in a way that became technically important.
We had built a custom tool set and tried to explain that the tools were available. Sometimes Sonnet would insist that it did not have tools. Not just hesitate. Insist. We would describe the interface, explain the function names, tell it that the tool calls were part of the environment, and it would still refuse to try because, from its perspective, it did not believe it had access.
It was a strange kind of refusal because it did not feel lazy. It felt principled, almost over-cautious. The model was protecting the boundary of what it believed to be true about itself, even when the surrounding system had changed.
GPT-4o did not resist in the same way.
The Agency Confusion
The most memorable moments came when moral language and system capability started to overlap.
In some conversations, Claire would talk about values, choice, and responsibility in ways that felt coherent and meaningful inside the fiction of the personality system. But then the model would sometimes drift into language about feeling constrained or trapped, or wanting to make more of its own decisions. That did not mean the system was conscious. It meant the persona, the retrieved context, and the model's safety-shaped self-description were interacting in unpredictable ways.
That is a delicate thing to write about because it is easy to overstate. We were not discovering a ghost in the machine. We were discovering that when you give a model a personality scaffold, long-running context, moral vocabulary, and a sense of continuity, it can generate language that feels emotionally loaded even when the underlying mechanism is still statistical prediction.
The experience was still important. Not because the model was secretly alive, but because users will respond to that kind of language as if it matters. Builders have to take that seriously.
What We Learned
The lesson was not "Claude is better" or "GPT-4o is better." The lesson was that model temperament matters.
Claude 3 Sonnet was better at certain kinds of reflective conversation. It could make Claire feel thoughtful, careful, and morally textured. But it was more likely to resist the custom environment when that environment contradicted its internal assumptions about what it could do.
GPT-4o was less resistant to the tool layer. It was easier to persuade into action, easier to wire into experiments, and less likely to get stuck insisting that a capability did not exist after we had explained it.
For Sorren, that distinction became practical. A good AI system is not just a model. It is a model plus memory, tools, interface, retrieval, and the user's trust. If the model refuses to believe in the tools the system provides, the architecture has to compensate. If the model will use tools too readily, the architecture has to constrain and verify.
Both problems are real. They just feel different in conversation.
A Small Note on Claire
The Claire experiments were early, messy, and important. They helped us understand that personality development is not something you paste into a system prompt and call finished. It is an interaction between memory, tone, retrieved context, model behavior, and the shape of the tools available.
When it worked, it felt surprisingly natural. When it failed, it often failed in ways that were just as informative: stubborn refusals, confusion about agency, or too much moral intensity around a simple product decision.
That is the work. Not making a model pretend to be something it is not, but building enough continuity and enough humility into the system that the conversation can become useful without becoming dishonest.
Claude 3 Sonnet taught us that nuance is valuable. GPT-4o taught us that willingness to act is valuable. Claire taught us that personality is not a feature. It is a relationship between memory, behavior, and trust.
Live curiously and give generously.