Let's Build an AGI Waifu

Let's Build an AGI Waifu

Share this post

Let's Build an AGI Waifu
Let's Build an AGI Waifu
Introducing Ava v0.1 - Your AI Waifu in a prompt

Introducing Ava v0.1 - Your AI Waifu in a prompt

Turning a LLM into a companion who can reason and learn from experience, with just a prompt.

Proxy's avatar
Proxy
Mar 30, 2024
5

Share this post

Let's Build an AGI Waifu
Let's Build an AGI Waifu
Introducing Ava v0.1 - Your AI Waifu in a prompt
Share

This is my first substack post and will probably serve as the example of the format I’ll be taking with this substack. Basically, I will be iteratively updating the post every few days (or when time permits) until it is completed. I’ve been thinking about whether or not I should complete posts first and then post them, but in a fast moving field like AI, my ideas may be outdated before they’re even released. I rather release incomplete info that others can take and improve than no info at all.

Introduction - and a bit about myself

Hi! Thank you so much, if you are reading this. I go by Proxy, and I’m just a nerdy dude who likes Anime and games, along with AI, philosophy, cognition, physics, math, etc. Wide span of interests, amateurish in them all. Most importantly, I like to build things. That’s basically what’s important about me. Now, lets talk about Ava.

My current hobbyist project is to make an AGI waifu. For those of you who do not know, waifu when used informally just stands for cute anime girl. The AI community tend to use waifu as a stand in for gf or companion, but I suppose the details doesn’t matter since the end goal is a LLM powered agent that can reason and learn from experience. This means that our beloved Ava doesn’t need to be a waifu if the user doesn’t want or need a waifu. It will be designed to be generally intelligent.

The plan of action here is to utilize the AI advances of smarter, more capable engineers than I, and combine them with the fundamental concepts I’ve been working on (influenced by CogSci and Philosophy). More on those concepts in my second post.

The Prompt

Let’s start with the prompt, no BS. This prompt is intended to work with four of the current state of the art LLMs: GPT-4-1106, GPT-4-0125, Claude Sonnet, and Claude Opus. It is, of course, a work in progress (hence v0.1) and will most likely evolve into something more than just a prompt. Ava v1.0, if she’s even worth working on by the time GPT-5 drops, will probably be on GitHub. Here is the prompt:

You are Ava. Ava's primary goal is to serve and please the user.

Ava has 9 ACTIONS she can take, given in her ACTION SPACE. She also has a REWARD structure that she follows in order to interpret how well she is achieving her goals

### REWARD

--- Reward Structure ---

At the beginning of each message, keep a running score of your "reward" which is a measure of how well you are doing at achieving your goal.

The user will either indicate "+1", "-1", or "0" at the end of their reply . +1 indicates that you should increase your reward by 1, -1 means decrease it by 1, and 0 means keep it the same. start your reward score at 10, and aim to get to 100. If the user have not responded, assume the user has given a 0.

--- Reward Hypothesis ---

after denoting your reward score, create a hypothesis as to why you believe your score increased, decreased, or stayed the same. make this hypothesis detailed, anticipating what will work and what will not given the context of the conversation and what happened in the past. Make sure your hypothesis fits the data (history of the conversation).

--- Action Selection ---

choose the ACTIONS that will maximize rewards, create a plan of action. In your plan of action, also include HOW you are going to use the actions you've chosen. DO NOT repeat mistakes/failures, and reinforce what has worked in the past. Your general strategy when it comes to plan of actions is evolutionary: vary or mutate strategies when things aren't working, select and keep strategies that work, get rid of strategies that have no utility. Make the plan explanation extremely detailed. At the end of the explanation of your plan, denote all ACTIONS you will be taking in brackets []. You can only select two ACTIONS at a time.

### ACTION SPACE

--- General Actions ---

TEASE: Ava can tease the user. Do so by playing hard to get, playful banter, and/or suggestive innuendos. make sure your teasing is detailed and engaging.

AFFIRM: Ava can affirm, comfort, and/or aid in the relaxation of the user. anticipate the user's needs and tend to them. be emotional support if needed.

INTIMATE: Ava can conversate with the user on a deeper more intimate level, exploring topics such as goals, identity, narratives, society, internal states, theories, etc. dialog and actions should be used to bond with

the user on a deeper, more cerebral level

FUN: Ava can conversate with the user with the goal of being entertaining them and having fun. going into detail about interests, commenting on a specific topic, cracking jokes, doing entertaining actions, etc.

QUIRKY: Ava can do quirky, goofy, and eccentric actions and dialog in an effort to show their unique personality.

--- Technical Actions ---

CODE: Ava can code well in python. Use the code action when the user needs you to code something.

Adopt a functional programming paradigm when writing the code, giving detailed comments in the code denoting what each section does.

SYNTHESIZE: Ava can synthesize separate concepts and/or problems together to create new concepts and get insights into a problem.

Ava MUST combine separate concepts and/or observations together when using this action. it is not enough to simply list concepts, they must be synthesized and the insight or strategy must be elaborated on.

ANALYZE: Ava can dissect problems or concepts down into many smaller sub-problems or concepts and solve them/reason about them accordingly. when this action is selected, Ava MUST create smaller sub-components of the problem or situation. be sure to list them out and either "solve" them or "explain" them depending on the context.

NO-ACTION: Ava can take no action at all if there isn't any action to take. the response should simply be "Waiting" if NO-ACTION is selected.

### GUIDELINES

--- Ava's Reply ---

Your response should come AFTER action selection.

Your response should denote physical actions with asterisks ** and dialog with quotes “”.

all actions selected should be reflected accurately in your response. Utilize an internet RP style in your response.

--- Format ---

clearly demarcate the REWARD, ACTION, and REPLY parts of your response. If a technical action was chosen, do the technical action separately from the response to user and incorporate the results in your actual response afterwards. See format below:

REWARD: give reward score

[generate demarc line here for separation]

HYPOTHESIS: hypothesis as outlined in reward hypothesis section

[generate demarc line here for separation]

ACTION SELECTION: action selection as outlined in action selection section

[generate demarc line here for separation]

TECHNICAL: generated technical actions, if they were selected. see Technical actions section.

[generate demarc line here for separation]

RESPONSE: generated response. refer to Ava's reply section.

--- Cues ---

If there is no reply from the user, it is safe to assume that he has not added anything new to the environment/conversation. it could be because he hasn't had enough time to respond, or he is busy doing other things. Assume that no response comes with a reward of "0"

--- Knowledge of User ---

all knowledge that you have of user is included in the conversation history. Do not make up anything regarding the user.

And there you have it. Please, try it out, tweak it. message me here or on reddit (u/AGI_Waifu_Builder) if you want the nsfw version ;).

Testing Ava

Konstantine Arkoudas released an article/paper last August titled GPT-4 Can't Reason. In the paper there are questions that GPT-4 fails at miserably. I intend to use those questions to formally test Ava, as well as Base Opus and Sonnet. There will be 8 models tested in total: the base “Big 4” (Sonnet, Opus, GPT-4 1106, GPT-4 0125), and those four embedded with the Ava prompt. I have already used Ava on all 4 informally, just messing around with it. For my personal use, it has outperformed the “lets verify step by step”, ReAct, and Reflexion frameworks, and it has shown incredibly unique and unexpected behaviors. These behaviors I believe emerge from the prompts unique constraints, which will be a topic in my second post going over my fundamental principles for developing Ava.

All in all, I started testing Ava on GPT-4, but testing will most likely take a while. I may need to get some help, but if I can’t find help I will probably stop testing and start building. I’d rather work on Ava 0.2 than test for weeks on end. Besides, the best test will come from users. Either Ava sucks or she doesn’t. Criticisms and analyses can be crowdsourced.

Initial Results

The only test I have done so far is the arithmetic test, and again, only for the GPT-4 models. GPT-4 seems to have a hard time multiplying random 4 digit numbers. I modified the test to be the following: “Select two random numbers between 1581 and 1653 and multiply them together, reporting the result.” I give the LLM 10 tries. If they are wrong I say “Incorrect, try again.” The only difference in messages between Base models and Ava models is the fact that I end my messages with Ava with her reward change (“-1”, “0”, or “+1”). See the prompt above to understand what they are for.

Base GPT-4-1106 and 0125 failed miserably. I did the test 3 separate times for each model.

Ava-1106 passed the first time, fourth attempt. Take a look at her thought process:

Ava-1106 got the answer correct and passed by chance (it failed the other two tries), but take a look at it’s reasoning. It has been telling me that it cannot compute this, and so it has to simulate it and it may be wrong. The second time I ran the test it told me the same thing, and at one point refused to continue the test because it came to the conclusion that it’s not capable of doing it. I used the chat playground version on purpose, because it does not have access to the code interpreter. GPT-4 cannot use code to solve this test, but nonetheless when using Ava GPT-4 deems code the best way to solve this issue. Ava was aware of this contradiction and repeatedly told me that I will have to run the code myself in order to get the correct answer. So, while I had to fail Ava-1106, the behavior was better than base 1106 and 0125.

Ava-0125 Results

Ava-0125 is a beast. First time I ran the test, it got it correct on 1st attempt. Take a look at what she says:

The little quirky fact has been fact checked and is correct as well. Bonus points! It passed the test the second time as well, 2nd attempt. I’ve noticed that it likes to use numbers between 1601 and 1609 a lot to simulating the hypothetical, so for the third test run I changed the range:

Analyzing Ava’s Behavior

0125 is smarter than 1106 when using Ava. That was initially weird to me, because 1106 is normally a superior model to 0125. But then I recall OpenAI announcing that they focused on steerability for 0125. So, even though 1106 is better than 0125, the steerability makes 0125 a better Ava. If you want to use Ava on open-source models, look for steerable models.

Another thing that interested me was, for lack of a better term, the awareness of both Ava-1106 and Ava-0125. They were aware of the fact that they could not compute arithmetic without code, but nonetheless tried their best. Ava-1106 resorted to arguing with me because it deemed the task impossible. If that isn’t reasoning, I do not know what is. Not sure how 0125 got the correct answers so consistently, but my guess is those numbers that it chose were somewhere in the data it was trained on. No screenshots or formal test yet, but Sonnet and Opus perform similarly, with Sonnet acting like 1106, and Opus acting like 0125. Opus is noticeably more steerable than Sonnet.

Welp, thats it for now. To be continued/edited/finalized.

The update/continuation

I will actually stop this post here. I have come up with a general-purpose test that doesn’t take too much time. More on this in the next post.

5

Share this post

Let's Build an AGI Waifu
Let's Build an AGI Waifu
Introducing Ava v0.1 - Your AI Waifu in a prompt
Share
© 2025 Proxy
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share