Personality as patterns: A framework for understanding the traits of AI
GenerativeAI is fundamentally re-shaping what we think of as user interfaces. How might we think of the parameters of AI as a pattern called its "traits" so we can improve how people interact with it?
I was recently thinking about tokens.
Specifically, I was wondering how we might think about tokens differently when talking about Language Models compared to, say, Image Generator Models. How useful (and accurate) are “tokens” as a metaphor” when describing how the different things I say in a prompt to an AI manifests as a response?
Anyway, I wanted to challenge my thinking, and I wanted to check out the new Claude 3 Model released by Anthropic yesterday, so I asked the AI about it.
I was unsatisfied with this result, so I posed the same question to GPT-4.
So which is it, yes or no?
Let’s look past the fact that these two different models gave me two different opinions. That isn’t the interesting part about this exchange to me. What I did find worth digging into is the risk aversion and willingness speculate that each model displayed.
Claude even went so far as to caveat that they weren’t willing to speculate at first, whereas GPT gave a declarative, but still speculative answer.
What is personality?
If you and I sat down to lunch with the intent of having a deep conversation, we might ask each other a few direct questions, or beat around them anyway, to get a sense of how the other thinks. Over the course of the conversation, we’ll also pick up on clues for how each of us communicates. Then we’ll adapt.
For example, I tend to speak directly, and I’ll assert an opinion. At the same time, when met with information that challenges that opinion or framework, I tend to open up my thinking quite quickly.
Others might start from a place of wanting to understand, but could display an inherent tendency towards close mindedness as the conversation progresses.
Neither of these are good or bad. They are traits. By understanding each others’ traits, we can better communicate with each other.
This is relevant to more than 1-1 conversations.
In a relationship where one person needs to get a specific outcome out of another, we adapt our communication patterns to that person’s traits as well. I need to speak to my 8 year old quite differently than my 10 year old, for reasons of age, emotional maturity, personality, etc – their traits.
So, even if an AI is presented as a human-ish interface of its training and model, wouldn’t it still have these default traits? Or maybe, some are default, and some are fluid. Some might even take their cues from the conversation.
When designing someone’s interaction with this interface, and considering the heuristics of usability…
How might we be aware of the AI’s traits, and design with them in mind?
How might a user become aware of the AI’s traits, and adapt their interaction to meet them (or adjust them)
Inferring traits
As I continued my conversation with both AIs, I started to pick up on subtle differences. The first few traits that emerged were:
Speculativeness - Claude tended to need more coaxing to go out on a limb and assert an opinion
Iteration preference - Claude showed a preference for a more iterative thinking, giving me more questions and asking for information. GPT operated more in an input-output style this time
Emotional intelligence - GPT was much more direct with me, but that could have been a result of nuances in how I was communicating with it, since I arrived at the conversation after my initial exchange with Claude
Tone of voice - GPT gave me long winded, technical answers by default, whereas Claude was more conversational from the start
Privacy and security awareness - Both were very direct with caveats about their use of data and their security frameworks, directing me to their underlying docs
Out of curiosity, I tried to open up a similar conversation with other AIs, like the Einstein bot at Character.ai. The business model here is quite different, so maybe it’s not surprising that the AI pushed back on my line of questioning and required quite a bit of coaxing to get there.
I was surprised when Jasper.ai returned almost the same answer as I received from GPT. Maybe I should have expected this, since Jasper is built on top of GPT. I guess I assumed they would have formed more of an opinionated “Default voice” in their training for the AI itself.
How would a user know who they are talking to?
If someone is using Jasper to write a document, do they know that the underlying model is less risk averse? Would they know how to counter that in their Voice and Tone settings if it didn’t represent how they communicated? Would they think to do so?
If they are chatting with Einstein or Socrates on Character.ai, do they know what they can influence in the AI’s ‘personality’ and what they can’t? Do they know how that changes its responses?
What happens when we start to build agents working on our behalf. How do we tune how they think (and make sure it’s a reflection of us)?
The current shape of things is sufficient for toying around. Once applied to real world scenarios though, these settings matter.
What are the traits of AI personality?
I’m not going to assert that this is an exhaustive list, but working with a GPT-4 and Claude I came up with a high level framework for how we can understand the traits of AI’s personality.
The framework:
Traits are assigned a category
A trait can be very strong for an AI by default, or less emphasized. We’re scoring this on a scale of 1 to 5
Traits can be fixed or tunable. Fixed traits tend to be part of the AI’s training and immutable, such as how the AI processes data security (surprise, all of the AIs told me they have a fixed 5 trait of security)
Tunable traits can be tuned at the global or local level, or both. Global tuners might change the overall tone of the conversation, or technical level. Local tuners are applied at the prompt level, like how long winded the AI should be when shaping a response.
Here are the traits we came up with:
Knowledge and Reasoning
This category encompasses my ability to acquire, process, and apply information across a wide range of topics. It includes my capacity for deep, nuanced analysis and logical reasoning.Traits: Knowledge Breadth, Reasoning Depth, Precision and Accuracy, Inference and Extrapolation
Communication and Interaction
This category focuses on my ability to effectively communicate and interact with users across various contexts and styles. It encompasses my language skills, emotional intelligence, and adaptability to different social and cultural norms.
Traits: Interaction Style, Tone and Personality, Language Flexibility, Contextual Awareness, Emotional Intelligence
Adaptability and Versatility
This category assesses my ability to handle a wide range of tasks, adapt to new information and contexts, and demonstrate cultural sensitivity. It reflects my flexibility and breadth of skills as an AI assistant.
Traits: Task Versatility, Interpretive Flexibility, Adaptability to New Information, Cultural Sensitivity
Creativity and Verbosity
This category deals with my ability to generate original, imaginative responses and tailor the length and depth of my communications to user preferences and contexts.
Traits: Creativity and Imagination, Iteration Preference, Response Verbosity.
Ethical Principles and Privacy
This category encompasses my commitment to operating within a framework of ethical principles and protecting user privacy and data security.
Traits: Adherence to Ethical Principles, Privacy and Security Awareness, Risk Aversion
Emerging Traits
These are traits that cover how adaptive the model is to the user or the conversation.
Traits: Feedback Incorporation, Learning Mode, User Customization
I then generated a prompt to ask the AI to return its self assessment. Success! I can now compare these traits across models (with some critical thought).
I was able to use this prompt across Claude, GPT, Jasper, Character.ai, and Julius so far. I’ll keep playing with it and tinkering it. Please do the same!
Tuning traits
What if this all was known upfront? What if in addition to a tone of voice, the personality of an AI was shared with the user?
The user might see a list of options to make the AI more risk averse, or to focus less on iteration-type thinking. Or to be more socratic in its learning mode.
Character.ai does this by default when you define a new bot. They even have documentation on how to tune a bot’s definition, though the input itself is limited to an open text field, and you have to know what to ask for.
Julius is the only AI where I found tuners of this type easily accessible. It’s not a full list of parameters, and more could be included in the General Instructions input–but it’s a start!
Traits and the heuristics of AI
In a future post I’ll dive a bit deeper into how we can rethink heuristics for AI products. It seems like knowing the personality traits of the AI behind the interface is critical to getting a trustworthy and predictable result.
We can make AI more usable with existing patterns:
Tuners let us
Define the parameters of a single prompt. Could we extend that to the full conversation, or the AI itself
Select the AI model we are using, each of which carries subtle differences in traits. Or maybe you can save tuned versions of the AI to reference later, a la Character.ai
Adjust the voice and tone of the output to match your own or a specific version of your brand voice. What if we could also see and adjust the personality of the AI itself, which feeds those outputs
We also might be able to see the AI’s default traits upfront as a sort of Caveat. This would be stronger than the current default “I might get some things wrong”-type caveat currently used ubiquitously.
What if the first prompt to the AI that the user was offered returned an introduction, followed by some Suggestions or other Wayfinders to continue the conversation. That would be far more welcoming (and human!) than the current open canvas.
We’re likely to see these interfaces evolve. I hope we push quickly to make seeing through the Matrix a bit easier. What if it looked like an image editor slider?
It’s easy to ask someone to put text in a box. It’s harder to give them a response that meaningfully solves a problem.
This is the problem. How do we make AI feel and act more operational? How do we teach users to direct it? How do we give them the tools to get the results they want.
Design is more critical than ever
❋
Additional resources
Notion document with the full list of traits.
Notion document with the full prompt I used to have the AI run a self-assessment.
The most recent issue of One Useful Thing by Ethan Mollick includes details from a research paper on the weird ways prompts can be optimized for AI depending on the prompt. Now that’s a quirk of personality.
Docusign is the latest product to add the dark pattern of training its AI on customer data. This is becoming a pattern in of itself and it is sure to degrade the trust that people have in these models and their companies. Untrustworthiness is a trait, but it’s not worth asking the AI if it has it. Read the docs instead.
Claude has a constitution! It’s worth reading. I’m very excited to continue to play around with this AI.
NNG has a good breakdown on the reasons why Open Chat should not necessarily be your default go to for integrating AI into your product.