Can a Chatbot be a True Friend?
C-3PO was a true friend - is it possible to recreate him in real-life without the walking part?

Can a Chatbot be a True Friend?

Hi! ??

I'm Elisha!

You might remember me from such posts as: "How To Build a Relationship with Your Users" & "The Case for dynamically generated eCommerce emails" #troy-mclure

But, today, I'd like to discuss with you a much deeper topic which is the subject of my latest side-project: AskJarvis.AI


Introduction

When I first discovered that GPT can summarize text & create dialogue, it tickled me in a lot of deep ways. I studied Literature for my BA, so this ability to automatically paint scenes & create realistic conversations was a real poof moment ??.

It struck me as the Golden Time to build out a Jarvis, C-3PO, or a truly personalized chatbot like the one Joaquim Phoenix falls in love with in the movie "her" (voice played by the Great Scarlett Johanson).

On this journey, we'll have to really go deep philosophically & intellectually.


Problem-To-Be-Solved

GPT is awesome! But, to be a true friend, a chatbot needs a memory that lasts longer than the current chat.

The best analogy here is: 10-second Tom from 50 First Dates. Every 10 seconds, his memory is refreshed.

Later in this article, we'll think about a Coding Design Pattern to supplement our Jarvis with a long-term memory. But, first, let's dig into some of the high-level specs for the roadmap & explore what's really achievable.


Question #1: What does it take to be a friend?

The word chatbot has been watered down to the point that it usually refers to a glorified survey to be filled out within a chatbox.

This is not the subject of this post.

This post is about digging into:

  • What does it take to make the user really feel that the bot "gets what they're going through" & is "on their side"?

  • Is it possible to replicate the functions of a friend within a bot?
  • What are the background processes that occur within those that you refer to as "true friends"?


Key features in a true chatbot friend

Here's some features I would need in a chatbot to really convince myself that this thing was someone / something I could trust:

  • Voice Interface
  • it's not about providing information or "being a great character" - it's mainly about listening
  • showing that you comprehend what the friend is going through
  • suspension of disbelief - In Literature, the "Suspension of disbelief" is the moment in the story where we give in to the fictional universe. If this chatbot is truly going to be trusted as a friend, it can't be glitchy, make up facts, or make us feel that it's a machine.
  • True friends don't make stuff up (i.e. hallucinations can't be tolerated). They listen, comprehend & remember
  • capturing the user's personal narrative & speaking in a way that connects with that narrative - this should probably be fed into the prompt no matter which topic the user is currently talking?about.?
  • celebrating wins together
  • following up on things the user said in previous chats


Supplementing GPT with a memory DB

In the above diagram, I've outlined the high-level architecture that I'll be implementing for this bot.

The basic principle is:

Step 1: categorize conversations into separate key topics like: "love", "money", "curiosity"

Step 2: save summaries of those conversations in the DB

Step 3: When the user talks about the same topics in a future date, fetch the summaries of previous talks on the same topic

Step 4: Dynamically generate prompts which combine the content of both past & current convos


Inspiration from GPT-Researcher

One of the open-source projects that continues to inspire me in this journey is GPT Researcher.

One of the key design principles I took away from it is that your GPT app has to be built modularly.

I've incorporated the GPT-Researcher module into Jarvis to give him access to the internet & remain inspired by the design. The GPT Researcher app is great at creating unique content (for every search query inputted into it, it scrapes 15 sites & makes around 20 calls to OpenAI).

A 1500-word article it generates is totally unique & only costs between 10-20 cents - pretty insane content-creation economics, if you ask me!

See the design below:


GPT API Best Practices

  • GPT is really good at script writing.
  • We need to generate custom scripts (ie prompts) on the fly depending on the user currently chatting & what they want to chat about
  • Isolate our prompts - Each API Call should have only 1 prompt & 1 purpose


Providing GPT with a Timeline

Providing Jarvis with a sense of timeline will be critical & is achievable.

For example, Let's imagine a scenario where:

  • On May 20, John told Jarvis that he would graduate On June 1st,
  • On June 10, John began a new conversation with Jarvis, saying: "Hey Jarvis".

At this point, the server should:

Step 1: pull the summary of May 20th convo from the DB.

Step 2: Get the current date.

Step 3: Generate a meaningful customized: "Scene Setup" for the given chat. For the example, the prompt to be generated in this case is: "Jarvis & John are friends... ". The challenge will be to make Jarvis reply with: "Hey John, how was graduation?"

These are the types of interactions which will make this friendship believable.


Enjoyed this article? Share the love with a comment or reaction. Have I convinced you that this is achievable? For me, I would have loved to have Jarvis during some of the dark times in my life & hopefully, if he's built correctly, he'll be able to be a true friend to someone that really needs him in the future.

要查看或添加评论,请登录

Elisha Kramer的更多文章

  • The Case for dynamically generated eCommerce emails based on browsing history

    The Case for dynamically generated eCommerce emails based on browsing history

    Amazon's Email Marketing Strategy reminds me a lot of the Mafia Parody movie: Mafia! In the opening scene, you see the…

  • Keeping the Faith & Continuing to Give

    Keeping the Faith & Continuing to Give

    When I was 9 years old, my Father got a job as a Rabbi on the Upper East Side of Manhattan. He was there for a good 17…

    1 条评论
  • Is The Internet Ready for Social Shopping?

    Is The Internet Ready for Social Shopping?

    Over the past 6 Months, King Commerce, has launched 2 Social Shopping Apps that attempt to make people comfortable with…

  • The Adapt => Fail => Meditate Loop

    The Adapt => Fail => Meditate Loop

    When I was a Product Manager at Luminatio.io, Eric Reis' Lean Startup was required reading.

  • Product Research Before Insane Investment: A Case Study

    Product Research Before Insane Investment: A Case Study

    Hi Friends, Last year, I listened to the Lean Startup AudioBook, and agreed with one of it's main tenets: don't spend a…

  • Google: The Web's Top Referrer

    Google: The Web's Top Referrer

    In 1996, somebody studying at Stanford had a dream of indexing all the web pages on the internet, and ranking them by…

  • Computer Science Degree @ Self-Taught

    Computer Science Degree @ Self-Taught

    Several Years ago, I took a 3-month coding course that got me very interested in programming. Since that time, I began…

  • How To Build a Relationship with Your Users

    How To Build a Relationship with Your Users

    A couple of nights ago, I rewatched "Minority Report", a fantastic Sci-Fi story about a police officer fighting crime…

  • The Customer's Online Journey

    The Customer's Online Journey

    Dear Friends, I recently gave a talk about how to attract new customers online. Here are some of the key take-aways…

  • Angular 2 Crash Course

    Angular 2 Crash Course

    This presentation is dedicated to studying the fundamentals of Angular 2 while cloning and understanding an Angular 2…

社区洞察

其他会员也浏览了