In my previous post, I introduced the concept of digital companions - GenAI-powered assistants that go beyond the simple chatbots we have today to become intuitive, indispensable partners in our digital lives. I outlined seven essential areas of product development needed to realise this vision. In this post, I’m going to be covering arguably the most crucial of these: personalisation.
🫥 Generic Responses in a Unique World
Today's chatbots, such as Anthropic’s Claude, OpenAI’s ChatGPT and Google’s Gemini are impressive in many ways, but all of them fall short when it comes to truly understanding and adapting to individual users. They operate on a one-size-fits-all model, treating each interaction as if it were the first and each user as if they were identical. For example:
There is no onboarding experience, all users are presented with the same generic and empty chat prompt screen.
Chatbots fail to remember details about users’ preferences or past interactions, forcing them to constantly reshare information.
Chatbots don’t have any concept of simple things like where users are, what time it is, or what device they’re accessing it on.
This lack of user knowledge and personalisation severely limits the potential of chatbots becoming a truly helpful digital companion. The core issue is that most chatbots don't currently build a persistent, evolving knowledge of each user. They don't learn from past interactions, adapt to individual needs, or understand personal context. In essence, they lack the ability to really know their users.
😍 Chatbots That Get To Know You
For digital companions to be able to build persistent, evolving knowledge that can then be used for more personalised experiences, they need to be able to create and retain memories of interactions, preferences, and important information.
The closest we have to memory in a chatbot currently is ChatGPT, which gained some basic memory features earlier this year. Unfortunately, these features aren’t available in the EU, so I haven’t had a chance to test them myself, but they allow ChatGPT to remember details from your interactions across multiple chats. Here's how it currently works:
You can explicitly ask ChatGPT to remember specific information.
ChatGPT can also pick up details organically through conversations.
Users have control over the memory - they can view, delete, or clear all memories.
The memory feature can be turned off entirely if desired.
These features allow for some level of personalisation. In the example above, ChatGPT remembers that the user prefers meeting notes in a specific format, and they have a daughter, which it can then reference in future interactions.
However, while this is a step in the right direction, it's still far from the level of personalisation I believe we can have with digital companions, which is a big, missed opportunity. A sophisticated digital companion should create and maintain various types of memories:
Factual Memories: These are the basics - your name, age, job, family details, and explicit preferences. But it goes beyond that. Your digital companion should remember that you're allergic to peanuts, that your favourite colour is teal, or that you have a fear of heights. These details, big and small, form the foundation of personalisation.
Contextual Memories: These memories are about understanding the 'why' behind your actions and requests. If you often ask about healthy recipes in January, your digital companion should remember that you typically set health-related New Year's resolutions. It's not just about remembering facts but understanding their context in your life.
Goal-Oriented Memories: Your digital companion should understand and remember your short-term and long-term goals. Whether you're training for a marathon, learning a new language, or saving for a house, these goals shape your needs and priorities. A digital companion should adapt its support and suggestions accordingly.
Behavioural Patterns: Over time, your digital companion should learn your habits and routines. It should understand that you're most productive in the mornings, that you prefer video calls for work meetings, but voice calls for personal chats, or that you tend to procrastinate on certain types of tasks.
Environmental Context: This involves understanding the various environments you operate in - your home setup, your office, your favourite coffee shop. It's about knowing which devices you use in different contexts and how your needs change based on your environment.
Social Context: Your digital companion should build an understanding of your social network. It should know the difference between your boss, your best friend, and your grandmother, and how your communication style and needs change in each of these relationships.
🌱 Chatbots That Grow With You
For digital companions to truly personalise their interactions, they need to continuously learn about their users. This learning process should be dynamic, evolving over time as the user's needs, preferences, and circumstances change. Let's explore three essential ways digital companions can create and refine their memories to provide an increasingly personalised experience.
1. Onboarding: Laying the Foundation
One of the most significant missed opportunities in current chatbot implementations is the lack of a structured onboarding process. An effective onboarding should quickly establish a baseline understanding of the user, setting the stage for more personalised interactions from the start.
Imagine the first time you interact with your digital companion. Instead of a blank chat screen, you're greeted with a friendly introduction and a series of questions designed to understand your needs and preferences. This onboarding process should:
Quickly establish basic user information (e.g. name, location, communication style)
Give a digital companion an understanding of primary areas of interest or common tasks
Give users a sense of control and understanding of how the chatbot will use their information.
Implementing an onboarding process would be a relatively simple yet powerful step towards more personalised AI interactions. The initial information would form the foundation of your digital companion's understanding of you. It's not about creating an exhaustive profile, but rather establishing a basic starting point for personalisation that can be refined over time.
2. Learning Through Ongoing Conversations
While onboarding provides a solid foundation, the real power of a digital companion lies in its ability to learn and adapt through ongoing interactions. This continuous learning process should be both active and passive:
Active Learning:
Asking clarifying questions when encountering new or ambiguous information
Periodically checking if previously stored information is still accurate
Requesting feedback on its performance and suggestions
For example, if you mention a new hobby, your digital companion might ask, "That's interesting! Would you like me to remember your interest in rock climbing for future reference?"
Passive Learning:
Observing patterns in user queries and behaviours
Noting frequently used terms or topics
Recognising changes in writing style or emotional tone
These are all things that a digital companion should be able to do with the memories it has of the user behind the scenes, without any user interaction, that will greatly enhance the user experience.
3. Integrations: Enhancing Understanding Through Connected Services
While we'll cover this topic in more detail in a future post in the series, it's worth mentioning that integrations with other digital services could significantly enhance a digital companion's understanding of the user. By connecting with various apps and platforms (with user permission), a digital companion can gather valuable context and information to further personalise its interactions.
For instance:
Calendar integrations could provide awareness of your schedule and commitments.
Social integrations could provide knowledge of family and friendship groups.
Fitness app connections could inform health-related advice and goal tracking.
Email integration could help with task management and communication preferences.
These integrations allow the digital companion to build a more comprehensive picture of your life, leading to more informed and helpful interactions.
The goal is a digital companion that doesn't just store information about you, but truly understands you, growing and evolving alongside you over time. This is the key to creating digital companions that are truly indispensable in our daily lives.
🛠️ The Practical Reality of Building Personalisation Features
Last year I built a proof of concept called mypanda.ai (demo video above, code repo here), a GenAI chatbot with memory that provided users with a more personal chat experience. Creating the memories for mypanda.ai was pretty simple, here’s how it worked:
Entity Extraction: mypanda.ai analysed user messages to identify important "Entities" - people, places, and things relevant to the user's life.
Contextual Understanding: The system considers both recent conversation history and previously saved information about entities to provide context.
Information Summarisation: For each entity, mypanda.ai either created or updated a concise summary, incorporating new information from the current interaction.
Structured Storage: Entities were stored as key-value pairs, with the entity name as the key and the summary as the value.
This approach offers several advantages:
Simplicity: The memory system was straightforward to implement, requiring only a well-designed prompt and a basic database.
Flexibility: It could handle a wide range of entities and information types without needing separate models for different domains.
Contextual Understanding: By considering both chat history and previously saved information, mypanda.ai could make more informed decisions about what to remember and how to update existing memories.
Continuous Learning: mypanda.ai naturally evolved its understanding of entities over time as new information was provided by the user.
The memory features I build into mypanda.ai demonstrate that building practical, useful memory systems for digital companions is achievable with current technology - effective personalisation doesn't necessarily require extremely complex systems. Sometimes, a clever use of prompts and straightforward data storage can go a long way in creating AI assistants that feel more personal and attentive to individual users' needs.
There are several ways that this approach could be built on and improved, for example:
Graph databases could be used instead of key-value pairs to capture the relationships between different memory entities, allowing a digital companion to understand the relationships between different memories.
Relationships between entities could be weighted to represent their strength/importance and they could be adjusted over time which would allow a digital companion to evaluate the importance of each memory.
A time dimension could be added to stored memories which would allow a digital companion to understand how they evolve over time.
A social element could also be added to memory entities so that they can be shared with other people and enhanced by other people’s experiences of that memory.
Building personalisation features requires users to share personal data, which can raise serious security and privacy concerns. Implementing memory features for digital companions needs to be done with the appropriate consents, encryption, and user controls so that users can edit and delete any of the memory entities created and stored.
While the idea of personalised digital companions is exciting, it's important to acknowledge that privacy concerns and data security risks are significant challenges. We also need to ensure that digital companions remain unbiased and don't inadvertently reinforce harmful stereotypes or behaviours. Addressing these issues will be crucial to realising the full potential of digital companions while safeguarding user interests.
🧑🤝🧑 Conclusion: The Path to Truly Personal Digital Companions
By developing memory features, continuous learning processes, and integrations with other services, we can create digital companions that genuinely understand and adapt to individual users. The potential benefits could be huge: imagine a digital companion that can provide contextually relevant advice, anticipate your needs, and grow alongside you:
Work and Productivity: Digital companions could revolutionise task management and creativity, potentially reshaping job roles and fostering new forms of human-AI collaboration.
Education: Digital companions might enable tailored learning experiences and make lifelong learning more accessible, challenging traditional educational models.
Social Interactions: Digital companions could mediate or augment human connections, potentially helping those with social difficulties.
However, developing these features responsibly requires careful ethical considerations - it's crucial that we focus on user privacy, transparency, and trust. No personal data that is shared with a digital companion should ever be used in the training runs of future models.
In my next post, I’ll explore another crucial aspect of digital companions: integrations. How can we seamlessly weave them into our existing digital ecosystems? Stay tuned to find out.
What are your thoughts on AI personalisation? What excites you? What concerns you? How would you use a personalised digital companion? Share your perspectives in the comments below.
“The future is already here, it’s just not evenly distributed.“
William Gibson