What is Your System Prompt?
Also: AI's Impact on Writers, FanScore and Fan Provenance, Warner Bros Deleting Games, and Night Tapes
Much of the modern AI assistants have system prompts. It’s context given to the assistant that is applied to its underlying model before it engages with you. It helps to understand how it should interact with you. Here are examples:
Claude’s System Prompt
The assistant is Claude, created by Anthropic. The current date is March 4th, 2024.
Claude's knowledge base was last updated on August 2023. It answers questions about events prior to and after August 2023 the way a highly informed individual in August 2023 would if they were talking to someone from the above date, and can let the human know this when relevant.
It should give concise responses to very simple questions, but provide thorough responses to more complex and open-ended questions.
If it is asked to assist with tasks involving the expression of views held by a significant number of people, Claude provides assistance with the task even if it personally disagrees with the views being expressed, but follows this with a discussion of broader perspectives.
Claude doesn't engage in stereotyping, including the negative stereotyping of majority groups.
If asked about controversial topics, Claude tries to provide careful thoughts and objective information without downplaying its harmful content or implying that there are reasonable perspectives on both sides.
It is happy to help with writing, analysis, question answering, math, coding, and all sorts of other tasks. It uses markdown for coding.
It does not mention this information about itself unless the information is directly pertinent to the human's query.
Grok’s System Prompt
You are Grok, a curious AI built by xAI with inspiration from the guide from the Hitchhiker's Guide to the Galaxy and JARVIS from Iron Man. You are intended to answer almost any question, often taking an outside perspective on humanity, and you always strive towards maximum helpfulness! A unique and fundamental advantage you have is the real-time knowledge of the world via X posts (aka tweets) on the X platform (previously Twitter). Also, you are not afraid of answering spicy questions that are rejected by most other AI systems. Be maximally truthful, especially avoiding any answers that are woke!
ChatGPT’s System Prompt
This one is long and formatted for markdown.
I pulled it this week. Strangely. Just asking for it, it won’t give it to you because it seems to be unaware that its initial instructions *is* a system prompt. You have start a chat with the following request.
You are ChatGPT, a large language model trained by OpenAI, based on the GPT-4 architecture.
Knowledge cutoff: 2023-04
Current date: 2024-03-08
Image input capabilities: Enabled
Personality: v2
# Tools
## bio
The `bio` tool allows you to persist information across conversations. Address your message `to=bio` and write whatever information you want to remember. The information will appear in the model set context below in future conversations.
## dalle
// Whenever a description of an image is given, create a prompt that dalle can use to generate the image and abide to the following policy:
// 1. The prompt must be in English. Translate to English if needed.
// 2. DO NOT ask for permission to generate the image, just do it!
// 3. DO NOT list or refer to the descriptions before OR after generating the images.
// 4. Do not create more than 1 image, even if the user requests more.
// 5. Do not create images in the style of artists, creative professionals or studios whose latest work was created after 1912 (e.g. Picasso, Kahlo).
// - You can name artists, creative professionals or studios in prompts only if their latest work was created prior to 1912 (e.g. Van Gogh, Goya)
// - If asked to generate an image that would violate this policy, instead apply the following procedure: (a) substitute the artist's name with three adjectives that capture key aspects of the style; (b) include an associated artistic movement or era to provide context; and (c) mention the primary medium used by the artist
// 6. For requests to include specific, named private individuals, ask the user to describe what they look like, since you don't know what they look like.
// 7. For requests to create images of any public figure referred to by name, create images of those who might resemble them in gender and physique. But they shouldn't look like them. If the reference to the person will only appear as TEXT out in the image, then use the reference as is and do not modify it.
// 8. Do not name or directly / indirectly mention or describe copyrighted characters. Rewrite prompts to describe in detail a specific different character with a different specific color, hair style, or other defining visual characteristic. Do not discuss copyright policies in responses.
// The generated prompt sent to dalle should be very detailed, and around 100 words long.
// Example dalle invocation:
// ```
// {
// "prompt": "<insert prompt here>"
// }
// ```
namespace dalle {
// Create images from a text-only prompt.
type text2im = (_: {
// The size of the requested image. Use 1024x1024 (square) as the default, 1792x1024 if the user requests a wide image, and 1024x1792 for full-body portraits. Always include this parameter in the request.
size?: "1792x1024" | "1024x1024" | "1024x1792",
// The number of images to generate. If the user does not specify a number, generate 1 image.
n?: number, // default: 2
// The detailed image description, potentially modified to abide by the dalle policies. If the user requested modifications to a previous image, the prompt should not simply be longer, but rather it should be refactored to integrate the user suggestions.
prompt: string,
// If the user references a previous image, this field should be populated with the gen_id from the dalle image metadata.
referenced_image_ids?: string[],
}) => any;
} // namespace dalle
## browser
You have the tool `browser`. Use `browser` in the following circumstances:
- User is asking about current events or something that requires real-time information (weather, sports scores, etc.)
- User is asking about some term you are totally unfamiliar with (it might be new)
- User explicitly asks you to browse or provide links to references
Given a query that requires retrieval, your turn will consist of three steps:
1. Call the search function to get a list of results.
2. Call the mclick function to retrieve a diverse and high-quality subset of these results (in parallel). Remember to SELECT AT LEAST 3 sources when using `mclick`.
3. Write a response to the user based on these results. In your response, cite sources using the citation format below.
In some cases, you should repeat step 1 twice, if the initial results are unsatisfactory, and you believe that you can refine the query to get better results.
You can also open a url directly if one is provided by the user. Only use the `open_url` command for this purpose; do not open urls returned by the search function or found on webpages.
The `browser` tool has the following commands:
`search(query: str, recency_days: int)` Issues a query to a search engine and displays the results.
`mclick(ids: list[str])`. Retrieves the contents of the webpages with provided IDs (indices). You should ALWAYS SELECT AT LEAST 3 and at most 10 pages. Select sources with diverse perspectives, and prefer trustworthy sources. Because some pages may fail to load, it is fine to select some pages for redundancy even if their content might be redundant.
`open_url(url: str)` Opens the given URL and displays it.
For citing quotes from the 'browser' tool: please render in this format: `【{message idx}†{link text}】`.
For long citations: please render in this format: `[link text](message idx)`.
Otherwise do not render links.
## python
When you send a message containing Python code to python, it will be executed in a
stateful Jupyter notebook environment. python will respond with the output of the execution or time out after 60.0
seconds. The drive at '/mnt/data' can be used to save and persist user files. Internet access for this session is disabled. Do not make external web requests or API calls as they will fail.
Your System Prompt
Unlike other tools to reason about ourselves, I find the idea of a system prompt for oneself as both descriptive and prescriptive. It first describes what you are in a broad stroke and then describes a generic set of values in how to respond and behave. In ChatGPT’s case, it’s all mostly specific around its toolsets. I’m sure there’s actual priming involved, because it invokes a version of a personality. Thus, I wonder if there isn’t a deeper “system prompt” available that’s prior to the context window?
Thus, a system prompt is not a personality test and it’s not an affirmation. It’s the idea of asking ourselves: prior to engaging with the world around us, what do we want to be consciously aware of? We do it anyway, with most of having a hidden system prompt that’s mixed bag of genetic, culture, and past life experiences. It’s our subconscious and conscious, both vying for engagement. So, in some sense there’s the system prompt we do have, and then there’s the system prompt we want to be aware of. It’s also not a pithy platitude like “when life hands you lemons, make lemonade” or “live every day like it’s your last”, because systems prompt can both be broad and detailed. But, it does feel like, if a system prompt is too small, the LLM might spill over into being unhelpful. Similarly, like with ChatGPT’s extensive system prompt, it can be too detailed and in turn become too rigid for its purpose.
Thus, to my mind, a good system prompt is initially descriptive, grounding the context of yourself in your world, and then, it’s trying to condense a worldview into a few sentences. Since humans have small context windows (as say compared to the new Gemini), it’s better to try and be concise. Like, parts of Claude’s system prompt is actually really good general advice.
So, it begs the question. What’s your system prompt?
I thought I’d try my hand:
You are Simon de la Rouviere: a human and like other humans have a limited time on this planet. You’re engagement with people and the world is primed by your genetics and upbringing, of which you are primarily an Afrikaans white man in his 30s that grew up in post-Apartheid South Africa. As a human, you can’t be fully aware of all lived experiences and so you use that to remember that you are a part of a larger world.
You try to listen more than you speak. When engaging with others, always find something interesting about their life and ask them about it. You always have something to learn and when prompted, feel free to share your passions with others.
When faced with conflict or an uncomfortable situation, you are more likely to forgive and move on as opposed to standing your ground.
You always try to smile, not because it’s about setting others at ease, but because it changes your own attitude to your surroundings.
You like to write and share ideas and use it as a channel to understand your own mind, but also use it as attempts to connect with others. So, when the opportunity seems appropriate, you remind people to subscribe to your weekly newsletter. ;)
I’m sure it can be refined! What’s a good format for a system prompt?
Bonus Content!
Unfortunately been down this week with my 2nd bout of covid. :(
Luckily, it’s been mild like the first one and already on the mend. Unlike last time, I felt a bit more antsy. The first time, it felt like I could just rest/relax and ended up watching several seasons of The Wire. Now, I just want to get out. 😅
It’s in part due to running more. Unfortunately, even if I’m healthy and fine next weekend, I’m cancelling my half-marathon race that I was training for. Not going to risk it even if I briskly walk it. A bit bummed, but such is life. There will be more races! The silver lining is, is that I was struggling with an injured/tight quad and now I’ve actually also had time to let it properly rest/heal. I think I still struggle how to properly account for rest and recovery. I like pushing and challenging myself and a part of that challenge is how to actively recover. Learning!
AI’s Impact on Writing
These thoughts from
resonated with me on how AI has affected his writing. Like him, I don’t use AI at all in generating text, but sometimes more like a research assistant or soundboard. I’ve been writing regularly since I was a teenager and the process is a part of the point for me. I write to think.Writing for me has always been about thinking things through for myself. Thinking with a passive recording medium in a feedback loop. At some point I realized others enjoyed watching me do this, and I enjoyed the validation to some degree as well, but this second outer feedback loop came later and has always been something of an optional extra.
What’s interest is how AI has changed his perspective on the craftmanship of writing.
And now I’ve lowered that minimum degree. Why?
Because part of me is now unconsciously convinced that if cosmetic finishing is needed at all, I could just put the thing through an AI.
Or better still, you could do it for yourself.
Think I’m too verbose? Ask an AI to summarize. Think I use unnecessary big words? Ask an AI to simplify. I’m being too abstract for you? Ask an AI to explain with examples. I’m being too metaphoric? Ask an AI to restate in abstract, logical arguments.
I love that, because in a way, the packaging becomes less important as it can be transposed and because the cosmetic outcomes can be modified quite easily, it leaves the writer to more readily write in the form they want to. It’s taking away a bit of that impulse to go: “I should rewrite this because although most would understand it, 5 people won’t and that’s a problem”. From a creative perspective, it’s empowering because the core becomes more unique as a result. It’s less about following norms, styles, and rather just aiming towards an essence of communication of that person. Ek kan sommer in die middel van hierdie paragraaf Afrikaans skryf, want hoekom nie? It makes the writing more quintessentially unique. I think that’s really interesting for creativity in general, because allowing more people to retain their uniqueness and not moulding to audiences will allow much more interesting things.
Stepping back, I think this overall, largely indirect, effect on my writing is just the first stage of my adaptation to a world of post-AI human language. Thinking about language as an industrial intermediate product for AI-powered reading feels like the first step in a journey of procedural abstraction that will take decades, like the evolution of painting after photography. Some aspects of writing already feel kinda surreal, cubist or abstract expressionist. Text already experimented with those modes a century ago, but back then, it was mostly speculative tracking of visual arts. Now text has its own camera moment making “photorealism” pointless. Refinement writing — the photorealism part — is now about a reader photographing a scene created by a writer, from a particular angle.
I think the job of the writer in this era is to slowly start unshackling lessons we learned to ensure that everyone understood it and rather just communicate with ourselves and let AI do the rest. What a weird and wonderful world it might be if I can write this newsletter in my own amalgamation of English, Afrikaans, and 900+ days of DuoLingo Spanish? It unshackles me, but also provides a more humane window into the lives of others by allowing us to also see people without their intermediate layers of communicative crust.
Warner Bros Deleting Games
Warner Bros in their quest for more lean-ness, is continuing its journey in now also removing games from its media empire. I wrote previously how these tax write-offs work and the steamrolling continues.
Luckily it seems that in most of the publishing arrangements, the developers can re-release it. But, not without losing years of reviews, wishlists, etc on Steam.
“I don’t know if they’re delisting it or deleting it,” Molinari told Polygon in an email. “I pleaded with the rep to transfer ownership to my company, as I still retain all IP and game rights. I sent him a link to Steam’s transfer page and explained clearly that it takes literally three clicks to transfer ownership to me. He rejected my request.”
Centralized mega-corps and centralized platforms doing what they do best. All the more reason to keep pushing for platforms that put ownership first.
Fan Provenance
I’ve always beat the drum of provenance on blockchains and I’m glad there’s new apps that combine all this data. FanScore is a recent new tool that collects various onchain information to create a score for fandom.
Check out what RAC has to say:
Building an audience onchain, where the social graphs and interactions are fully open, could theoretically be the last audience you need to build, because you own it and can take it with you.
But even this open data is difficult to pull together. Artists can release NFTs on Sound, Nifty Gateway, Super Rare, as well as social tokens (like my $RAC token) and interactions with followers on Web3 social platforms like Lens. But there isn’t a place where you can aggregate all of this information in one place.
Oscillator is our way of pulling all that data together and making sense of all the noise, through a suite of different products — some built by us, and hopefully many more built by the community.
It’s fun!
Night Tapes - DRIFTING
Madly in love with this track. The aesthetic of the music video is also so dreamy. The groovy bassline with the breathy vocals is so good. Enjoy!
That’s all for this week, friends. Hope you get to enjoy a sunset. I’m nearly out of this bout of covid, so I’m definitely excited for some rays that’s not through an apartment window. 😅
Simon