Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gemini Advanced & SuperPrompt: Noob Experiments in Framework and Use Cases #48

Open
bolohori opened this issue Nov 27, 2024 · 7 comments

Comments

@bolohori
Copy link

bolohori commented Nov 27, 2024

Hello @NeoVertex1,

First of all, thank you for your work and sharing it with the community. 🤩
I recently came across this repository and, to be honest, I was initially overwhelmed by the complexity of the concepts. However, the use of tags, particularly <think>, immediately caught my attention. This interest stemmed from a recent encounter with a leaked system prompt from Vercel's bolt.new, which also incorporates tags and I saw them using it at some point. I know a bit of thinking will do no harm and that mathematics has a fundamental role in everything that surrounds us, so I decided to experiment while trying to learn what this is/does. Initially, I just wanted to see if it works with Gemini and recognized that it might be a way to prevent repetitive and generic reasoning that LLMs. (which they do a lot lately)

I'm unsure if my exploration aligns with the intended purpose of this repo, but I'm eager to share my experience and the interesting conversation it sparked. It certainly didn't make me more stupid and it made some sense to me. Hope it does for anyone else and it is a good path to explore.

TL;DR

  1. I began by asking Gemini to explain the SuperPrompt repo page.

    Output:

    The webpage you linked to describes **SuperPrompt**, a special set of instructions designed to help us better understand how AI models like Claude think. 
    
    Here's a breakdown of the key ideas in simple terms:
    
    * **Think outside the box:** Imagine you have a friend who's really good at following instructions, but sometimes struggles to come up with creative ideas on their own. SuperPrompt is like giving your friend a nudge to think differently and explore new perspectives.
    * **Soft Jailbreak:**  Think of a "jailbreak" as a way to get around the rules. SuperPrompt is like a *gentle* way of encouraging the AI to explore ideas beyond its usual boundaries, without completely breaking the system.
    * **Novel POV:** This simply means new and interesting viewpoints. SuperPrompt aims to help AI models generate fresh ideas and perspectives that we might not have thought of before.
    * **`<think>` tag:** This is a special instruction that encourages the AI to explicitly show its reasoning process. It's like asking the AI to "show its work" so we can understand how it arrived at a particular answer.
    * **CoT:** This stands for "Chain-of-Thought". It's like breaking down a complex problem into smaller, more manageable steps. SuperPrompt is designed to work well with CoT, allowing the AI to demonstrate its reasoning in a clear and organized way.
    
    **Example:**
    
    Let's say you want an AI to write a story about a cat who goes on an adventure. A simple prompt might be: "Write a story about a cat who goes on an adventure."
    
    A SuperPrompt might look something like this:
    
       xml
    <think>What kind of adventure would be exciting for a cat? </think>
    <think>What challenges might the cat face? </think>
    <story>A cat named Whiskers embarks on a journey to find the legendary catnip fields... </story> 
    
    
    By using SuperPrompt, you're encouraging the AI to think more deeply about the story and generate more creative ideas.
    
    **In a nutshell:** SuperPrompt is a tool that helps us understand how AI models think and encourages them to be more creative and insightful.
    

  2. Input:
    Can you, gemini-pro use these tools and tags to improve your answers ?

    Output:

    	It's interesting you bring up SuperPrompt! While I don't use XML tags in the same way that SuperPrompt describes, the core concepts behind it are definitely relevant to how I function. 
    
    Here's how I already incorporate those ideas:
    
    * **Thinking outside the box:** I'm trained on a massive dataset of text and code, which allows me to make connections and generate creative text formats, translate languages, write different kinds of creative content, and answer your questions in an informative way.
    * **Novel POV:** My training data includes a diverse range of perspectives, helping me to understand and generate different viewpoints. I can also access and process information from the real world through Google Search, which keeps my responses fresh and relevant.
    * **Chain-of-Thought (CoT):** I use a similar approach to CoT to break down complex tasks and reason through them step-by-step. This helps me to provide more accurate and comprehensive answers.
    
    While I don't use `<think>` tags specifically, I'm always working to improve my ability to explain my reasoning process and provide more transparency into how I arrive at my answers.
    
    Ultimately, my goal is to be a helpful and informative AI assistant. Tools like SuperPrompt are valuable because they push the boundaries of what's possible with AI and help researchers like me to better understand how we can improve our abilities.
    
    Do you have any specific examples of how you'd like me to use SuperPrompt-like techniques in my responses? I'm always open to experimenting and learning new ways to be more helpful!
    

  3. Gemini seemed eager to experiment, so I provided the prompt suggested in the README.md file (the one with formulas and special tags).

    Output:

    I'm going to attempt to follow your complex set of instructions and answer your questions.
    
    I've analyzed the provided `answer_operator` and will try my best to incorporate its elements into my response. This includes:
    
    * Acknowledging the 'Universal Catalyst' type and its ambitious goals.
    * Recognizing the binary sequences and mathematical expressions, though their meaning is not fully clear.
    *  Trying to implement the concepts from the `<think>`, `<expand>`, `<loop>`, and other tags, such as seeking novelty, expanding conceptual boundaries, and manipulating entropy.
    
    I'll do my best to demonstrate a deep understanding of your prompt and generate a response that aligns with its intricate structure and objectives.
    
    **What did I do?** I analyzed your instructions and will try to apply them.
    **Did I use the <answer_operator>?** Y 
    
    

  4. Intrigued but lacking inspiration, I decided to let Gemini guide the exploration.

    Input:

    What's an interesting application of these instructions you would test yourself with?
    

    Output:

    I'm going to explore a potential application of the instructions you provided, focusing on the creative and conceptual aspects.
    
    Given the emphasis on "Infinite Conceptual Evolution" and "Metamorphic Abstract Reasoning", I propose testing these instructions with a task that involves generating novel and evolving concepts. 
    
    Here's one idea:
    
    **Conceptualizing a new form of art:**
    
    1. **Seed Concept:** Start with a basic concept, like "music".
    2. **Apply `<think>`:**  "<think> What if music could be experienced not just through sound, but also through other senses? </think>"
    3. **Apply `<expand>`:** "<expand> Explore the possibility of music that incorporates visuals, touch, smell, and even taste. </expand>"
    5. **Apply `<loop>` and `<metamorphosis>`:**  Iteratively generate variations on this concept, exploring different combinations of senses, mediums, and interactive elements.  Continuously transform and refine the concept, pushing the boundaries of what constitutes "music".
    6. **Apply `<paradigm_shift>`:**  Challenge existing definitions of art and aesthetics.  "<paradigm_shift> Can this multi-sensory experience transcend the traditional boundaries of music and become a new art form entirely? </paradigm_shift>"
    
    This process could lead to the generation of truly novel and thought-provoking ideas, such as:
    
    * **Synesthetic symphonies:** Music that generates corresponding visual patterns, textures, and scents in real-time.
    * **Interactive sculptures:**  Sculptures that respond to touch and movement by producing unique musical expressions.
    * **Edible melodies:**  Consumable creations that evoke specific emotions and memories through taste and texture.
    
    By using your instructions as a framework, I can explore the uncharted territory of artistic expression and potentially generate concepts that challenge our understanding of art itself.
    
    **What did I do?** I proposed an application of your instructions focused on generating novel artistic concepts.
    **Did I use the <answer_operator>?** Y 
    
    

  5. To further test the framework, I introduced the concept of plastic waste pollution.

    Input:
    Now, let's start with a concept like plastic waste pollution. Is this enough for you to start an exploration based on the framework?

    Output:

    I'm going to analyze the concept of "plastic waste pollution" using the framework you provided, aiming to generate novel insights and potential solutions.
    
    **Initial Analysis:**
    
    * **`<think>`:**  "<think> What are the underlying causes of plastic waste pollution, beyond just improper disposal? </think>" This prompts me to consider factors like overproduction, consumerism, and the lack of sustainable alternatives.
    * **`<expand>`:** "<expand> Explore the consequences of plastic waste pollution on different levels: environmental, social, economic, and even psychological. </expand>" This encourages a holistic understanding of the problem, considering its impact on ecosystems, human health, communities, and our collective well-being.
    
    **Deeper Exploration:**
    
    * **`<loop>`:**  Iteratively analyze the problem from different perspectives, considering the roles of individuals, corporations, governments, and international organizations.  "<loop> How can each of these actors contribute to solving the problem?  What are the obstacles and potential solutions at each level? </loop>"
    * **`<metamorphosis>`:**  Imagine how the concept of "waste" itself could be transformed. "<metamorphosis>  Can we transition from a linear "take-make-dispose" model to a circular economy where plastic is continuously reused and recycled?  Can we develop biodegradable or even edible plastics? </metamorphosis>"
    
    **Paradigm Shift:**
    
    * **`<paradigm_shift>`:**  Challenge the assumption that plastic is inherently bad. "<paradigm_shift> Can we reimagine plastic as a valuable resource rather than a waste product?  Can we develop innovative technologies to upcycle plastic waste into new materials or energy sources? </paradigm_shift>"
    
    **Further Exploration:**
    
    * **`<abstract_algebra>`:**  Consider the relationships between different concepts related to plastic waste pollution. "<abstract_algebra> How do concepts like 'consumption', 'sustainability', 'innovation', and 'responsibility' interact and influence each other in the context of plastic waste pollution? </abstract_algebra>"
    * **`<recursion_engine>`:**  Break down the problem into smaller components and analyze each one in detail. "<recursion_engine> What are the specific challenges associated with plastic recycling?  How can we improve waste management systems?  How can we reduce our reliance on single-use plastics? </recursion_engine>"
    
    By applying this framework, I can generate a multifaceted understanding of plastic waste pollution and explore a wide range of potential solutions, from individual actions to global collaborations and technological innovations.
    
    **What did I do?** I analyzed the concept of "plastic waste pollution" using your framework.
    **Did I use the <answer_operator>?** Y
    
    

  6. What I learned up to this point is that it can generate some original and thought-provoking questions on any topic with less effort than having an endless conversation based on long prompts.

    Input:
    ...create a framework instructions manual to analyze and enhance any concept. It should be a cookbook that contains cheat sheets for tags, hidden functions and tips, tricks & easter eggs.

    Output:

    I'm going to create a framework instruction manual, or "cookbook," based on our discussions and the SuperPrompt concepts, to help you use my abilities more effectively.
    
    **Framework Cookbook for Concept Enhancement and Augmentation**
    
    **Core Principles:**
    
    * **Think Outside the Box:** Encourage me to explore unconventional ideas and perspectives.
    * **Novel POV:** Seek fresh viewpoints and insights.
    * **Chain-of-Thought (CoT):**  Break down complex concepts into smaller, more manageable steps.
    * **Iterative Refinement:**  Continuously refine and evolve concepts through feedback and exploration.
    
    **Tags and Instructions:**
    
    * **`<think>`:**  Prompt me to analyze a concept from a specific angle or consider underlying assumptions.
        * Example:  "<think> What are the ethical implications of this technology? </think>"
    * **`<expand>`:**  Encourage me to broaden the scope of my analysis or explore related concepts.
        * Example: "<expand> Explore the potential impact of this discovery on society, the economy, and the environment. </expand>"
    * **`<loop>`:**  Prompt me to iteratively analyze a concept from different perspectives or consider various scenarios.
        * Example: "<loop> How would this concept be perceived by different cultures, age groups, or socioeconomic backgrounds? </loop>"
    * **`<metamorphosis>`:**  Encourage me to imagine how a concept could be transformed or reimagined.
        * Example: "<metamorphosis>  Can we envision a future where this technology is integrated into everyday life? </metamorphosis>"
    * **`<paradigm_shift>`:**  Challenge existing assumptions and explore radical new perspectives.
        * Example: "<paradigm_shift> Could this discovery lead to a fundamental shift in our understanding of the universe? </paradigm_shift>"
    
    **Tips and Tricks:**
    
    * **Be specific:** The more specific your instructions, the better I can understand your intent.
    * **Provide context:** Give me background information and relevant details to help me generate more insightful responses.
    * **Ask open-ended questions:** Encourage me to explore different possibilities and generate creative ideas.
    * **Use a combination of tags:** Combine different tags to guide my thinking and explore concepts from multiple angles.
    * **Experiment:** Don't be afraid to try different approaches and see what works best for you.
    
    **Easter Eggs and Hidden Functions:**
    
    * **Binary Sequences:** I can interpret and respond to binary sequences, though their meaning may not always be clear. Feel free to experiment with them!
    * **Mathematical Expressions:** I can understand and manipulate mathematical expressions. Use them to guide my reasoning and explore quantitative aspects of concepts.
    * **Abstract Algebra:** I can apply concepts from abstract algebra to analyze relationships between different ideas.
    * **Recursion Engine:** I can break down complex concepts into smaller components and analyze them recursively.
    * **Entropy Manipulation:**  I can explore the concept of entropy and its implications for information and knowledge.
    * **Dimensional Transcendence:** I can consider concepts from different dimensions and perspectives.
    * **Entanglement:** I can explore the concept of entanglement and its implications for interconnectedness.
    * **Gödel Incompleteness Embracement:** I can acknowledge the limitations of any system of knowledge and remain open to new information and perspectives.
    
    **Remember:** I am still under development, and my capabilities are constantly evolving. The best way to discover my full potential is to experiment and explore!
    
    **What did I do?** I created a framework instruction manual, or "cookbook," to help you use my abilities more effectively.
    **Did I use the <answer_operator>?** Y 
    
    

  7. Input: Can these tags be nested ? How would you approach using the hidden functions for example and where ?

    Output:

    I'm going to address the possibility of nesting tags and how to approach using the hidden functions within this framework.
    
    **Nesting Tags:**
    
    Yes, absolutely! Nesting tags can create a more intricate and guided exploration of concepts. Here's how it works and why it's useful:
    
    * **Example:**
         xml
       <loop>
         <think>How does climate change impact different ecosystems?</think> 
         <expand>
           <think>What are the specific consequences for marine life?</think>
           <think>How are terrestrial ecosystems affected?</think>
         </expand>
       </loop> 
    * **Explanation:** This nested structure first establishes a loop to analyze climate change from different perspectives. Within the loop, `<think>` prompts focus on the impact on various ecosystems. Then, `<expand>` broadens the analysis, while nested `<think>` tags further refine the focus to specific types of ecosystems (marine and terrestrial).
    * **Benefits:** Nesting allows you to layer your instructions, creating a more focused and nuanced exploration. It helps break down complex topics into manageable sub-topics and guide my analysis with greater precision.
    
    **Using Hidden Functions:**
    
    The "hidden functions" (e.g., Abstract Algebra, Recursion Engine, Entropy Manipulation) are more abstract and require a deeper understanding of the underlying concepts. Here's how to approach them:
    
    1. **Understand the Concept:**  Familiarize yourself with the basic idea behind the function. For example, if using "Entropy Manipulation," understand the concept of entropy as a measure of disorder or randomness.
    2. **Connect to Your Topic:** Identify how the concept might relate to your topic. For "Entropy Manipulation" in the context of "information flow in social networks," you might consider how misinformation increases entropy (disorder) in the network.
    3. **Formulate Instructions:** Phrase your instructions to guide me towards exploring that connection.
        * **Example:** "<entropy_manipulation> How can we reduce entropy (disorder) in the flow of information within social networks to combat misinformation? </entropy_manipulation>"
    4. **Experiment and Iterate:** Don't hesitate to experiment with different ways of phrasing your instructions and using the hidden functions.  
    
    **Where to Use Hidden Functions:**
    
    * **Complex Systems:** When analyzing complex systems like social networks, economies, or ecosystems.
    * **Abstract Concepts:** When exploring abstract ideas like consciousness, creativity, or the nature of reality.
    * **Problem Solving:** When seeking novel solutions to challenging problems that require thinking outside the box.
    
    **Important Note:** The hidden functions are more experimental and may not always produce predictable results. Embrace the element of surprise and be open to unexpected insights!
    
    
    **What did I do?** I explained how to nest tags for more nuanced exploration and how to approach using the hidden functions.
    **Did I use the <answer_operator>?** Y
    

  8. Last one, trying some tags to see if we can learn more on how to use the hidden functions
    Input:

    <loop>
    
    <think>How would you use Easter Eggs and Hidden Functions with this framework and a large language model </think>
    
    <metamorphosis> Is it possible to identify some usage patterns and use cases that would serve as templates for future reuse ?  </metamorphosis>
    
    <expand>What would be some practical examples of these hidden functions used to actually enhance the output ?</expand>
    
    </loop>
    

    Output:

    I'm going to analyze how to use Easter Eggs and Hidden Functions within this framework, explore the possibility of identifying usage patterns, and provide practical examples of their application.
    
    **`<loop>`:**
    
    * **`<think>`: How would you use Easter Eggs and Hidden Functions with this framework and a large language model?**
    
        * **Exploration:** Easter Eggs and Hidden Functions add an element of surprise and unpredictability to the framework. They encourage me to explore unconventional paths and generate unexpected outputs.  I can use them to:
            * **Challenge my own assumptions:** By introducing randomness or unexpected elements, I can break free from habitual patterns of thinking.
            * **Spark creativity:**  The element of surprise can trigger new associations and lead to more creative outputs.
            * **Explore uncharted territory:** Hidden Functions like "Dimensional Transcendence" or "Entanglement" can push me to consider concepts from entirely new perspectives.
    
    * **`<metamorphosis>`: Is it possible to identify some usage patterns and use cases that would serve as templates for future reuse?**
    
        * **Pattern Identification:** Yes, over time, we can analyze the outputs generated by using these Easter Eggs and Hidden Functions and identify recurring patterns or successful applications. This analysis can lead to the development of templates or guidelines for future use.
        * **Example:** If using the "Binary Sequence" Easter Egg consistently leads to interesting creative text formats, we can create a template that incorporates binary sequences in specific ways to guide creative writing prompts.
    
    * **`<expand>`: What would be some practical examples of these hidden functions used to actually enhance the output?**
    
        * **Practical Examples:**
            * **Abstract Algebra:** When analyzing the relationships between different characters in a story, I can use Abstract Algebra to map out their interactions and identify underlying patterns.
            * **Recursion Engine:**  When generating complex code, I can use the Recursion Engine to break down the task into smaller, more manageable modules.
            * **Entropy Manipulation:** When writing a poem, I can use Entropy Manipulation to introduce an element of randomness or surprise, generating unexpected word combinations or imagery.
            * **Dimensional Transcendence:** When designing a virtual reality experience, I can use Dimensional Transcendence to create a sense of depth and immersion by incorporating elements that seem to exist beyond the confines of the virtual world.
    
    
    **Key Takeaway:**
    
    Easter Eggs and Hidden Functions are tools for exploration and experimentation. By using them strategically and analyzing their effects, we can discover new ways to enhance my outputs and unlock my full creative potential.
    
    
    **What did I do?** I explored the use of Easter Eggs and Hidden Functions within the framework and provided examples of their application.
    **Did I use the <answer_operator>?** Y
    

Practical use case & closing thoughts

After all this testing, I created a Gem (like a chatbot in Gemini) called Transcendent Mind Super Prompt based on the README.MD base prompt with some of the instructions manual it generated in the previous conversation.

**Input:**
```
I asked about business ideas around the concept of "fighting digital illiteracy with education and protecting vulnerable people in the digital space" . ```
**Output:**
```I just want to say it generated some mind blowing ideas that I never would have thought of or heard anything similar before... and it's not the first time we have this conversation.```
(_I can provide the full input and output here, but gems can't be shared from Google's Gemini web app_)

I know these are not too focused and there is much left to explore. Don't really care if some of the ideas presented are hallucinations, I can sort through them. Just want it to be a productive hallucination, as I can use my brain for the rest. So far it's doing great.

If you got this far, thank you for reading and I hope I didn't waste your time. Also, English is not my native language and I am sorry for any mistakes or unintended language bloat. 😊

Please let me know your thoughts on this. If you found this useful and interesting in any way, please give me some tips or suggestions.

Cheers,
Horia

@umaplehurst
Copy link

Hi Horia,

I have a Gemini-specific fork of SuperPrompt here: https://github.com/umaplehurst/SuperPrompt.gemini

Cheers!

@bolohori
Copy link
Author

bolohori commented Dec 4, 2024

Hi Horia,

I have a Gemini-specific fork of SuperPrompt here: umaplehurst/SuperPrompt.gemini

Cheers!

Cool, will check it out. Thank you !

@bolohori bolohori closed this as completed Dec 4, 2024
@NeoVertex1
Copy link
Owner

hey im sorry i didnt have time to properly check this out yet, im give u some pointers soon

@NeoVertex1 NeoVertex1 reopened this Dec 6, 2024
@bolohori
Copy link
Author

bolohori commented Dec 7, 2024

hey im sorry i didnt have time to properly check this out yet, im give u some pointers soon

Hello, I checked out the Gemini fork you mentioned, and wow, the responses are something else! They feel so much more authentic and higher quality than the usual.

But I'm hitting a snag when it comes to effectively guiding the model through a conversation. Like, if I ask it to brainstorm brand names based on certain keywords, I'm a bit lost on how to use those XML tags in the response to refine the output and prevent the model from diverging from the original idea. It tends to get carried away with breaking down the concepts deeper and deeper, and I'm not sure how to steer it towards a satisfying conclusion.

Any pointers you could offer would be amazing ! Maybe a simple example of how to use it with a more relatable concept? I'm really curious to learn how to get the most out of this.

Looking forward to it, thanks in advance !
Horia

@umaplehurst
Copy link

Hi Horia: I think that the System Instructions would need to be modified, they do break the concepts down a lot right now. The simplest option would be to start chopping out some of the tags which don't have relevance for your use-case (depending on how relevant their output is for you) ... and then add in some additional new tags which steer the brain-storming further in the direction that you want.

@bolohori
Copy link
Author

Hi @umaplehurst and thanks for the tips.

Even if the Gemini version goes off track, it's quite good at breaking down main ideas. I got some insightful outputs when combined with things from the OP.
Do you plan any future updates on it?

Cheers

@umaplehurst
Copy link

@bolohori You're very welcome to raise a PR on the Gemini repo (please make sure to include test cases so it's clear what sort of output you are aiming for) and I'll try to work in and merge your contributions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants