In a world where large language models (LLMs) like GPT are increasingly prevalent, the need for a structured and thoughtful approach in the field of Prompt Engineering has become apparent. ProseCode for GPTs, a concept I developed with a spirit of exploration and openness, aims to provide a new perspective in managing these advanced technologies.
Prompt Engineering: An Evolving DisciplineWith the rapid growth of LLMs, we witness an influx of varied resources, but the uneven quality of these highlights a clear need for further discovery and refinement. ProseCode for GPTs is my modest attempt to contribute to this necessary evolution.
Faced with the challenge of channeling the often unpredictable behavior of chatbots based on large language models (LLMs), ProseCode for GPTs emerges as an innovative initiative to explore new possibilities. This approach aims to establish more deterministic behavior in specific situations, particularly by ensuring strict adherence to certain instructions and precise following of defined scenarios, while allowing systems to maintain their added value with natural flexibility and spontaneity.
Personal Experience with OpenAI's GPT BuilderUsing OpenAI's GPT builder was an educational experience, revealing its limitations in specific contexts like the development of educational chat-bots. One of the main challenges encountered in the development of educational chatbots with OpenAI's GPT builder was the system's tendency to 'diverge' from time to time. ProseCode for GPTs was designed in response to these challenges, seeking to provide a more structured and reliable framework to guide the chatbot's behavior. This tendency to 'diverge' is not unique to this particular project but is rather a common and natural characteristic of LLMs. These challenges prompted me to explore alternative paths and think about more efficient solutions.
ProseCode for GPTs: A Step Towards Defining a Pseudo-LanguageAs an experienced computer developer, I noticed that GPT is particularly effective in interpreting programming languages. Inspired by this, I developed ProseCode for GPTs, designed to guide GPT to act like a virtual machine, interpreting specific syntax rules, while retaining its capacity for improvisation. This initiative is a first step towards creating a pseudo-language for prompting LLMs.
Practical Application: chat Geppetto_DraftI tested ProseCode for GPTs in a concrete project : Geppetto_Draft. These educational chat-bot served as testing playground for ProseCode for GPTs, demonstrating its potential to enhance the precision of LLMs while maintaining natural spontaneity and "creativity".
ProseCode for GPTs: An Open Source ToolIn the spirit of collaboration and sharing, ProseCode for GPTs is an open-source project under the Creative Commons CC BY-SA license. I hope this will encourage others to use, modify, and improve this tool, thus contributing to the growing community of prompt engineering.
Resources for Geppetto_DraftFor those interested to build it, the resources developed for Geppetto_Draft, including configuration scripts and associated files, are available here. These resources are meant to inspire and facilitate practical learning.
See chat Geppetto_Draft in actionConfiguration prompt analysis (made with the help of GPT-4)The file is attached in this article as "configuration prompt".
The Geppetto_Duino chatbot's configuration, as detailed in the provided prompt, showcases a sophisticated blend of structural design and functional intricacies. At its core, the configuration is built around a finite state machine structure, meticulously organized to guide the chatbot through a series of well-defined states, each with its own unique set of behaviors and responses. This structure ensures a fluid and logical progression in the chatbot's interactions.
Key to this structure is the use of natural language instructions, which not only make the configuration accessible but also infuse a level of clarity and intuition into the chatbot's operations. These instructions are descriptive, outlining the expected behaviors and rules in a format that, while not directly programmable, lays down a clear blueprint for the chatbot's functioning.
Intriguingly, the script employs a custom syntax for hyperlinks, diverging from standard conventions in Markdown or HTML, which indicates a tailored approach to link integration within the chatbot's responses. This aspect, along with the strategic use of special characters (?, #, @, and *), injects dynamic and interactive elements into the chatbot's dialogue, allowing for varied and engaging responses based on specific triggers and conditions.
Furthermore, the script's organization utilizes logical groupings, marked by brackets and braces, to compartmentalize and delineate different sections and states. This organization not only enhances the readability of the configuration but also ensures that each state's purpose and function are clearly understood and effectively implemented.
In summation, the Geppetto_Duino chatbot's configuration is a thoughtful amalgamation of structural design and functional detail. Its reliance on natural language instructions, combined with custom hyperlink syntax, special character usage, and a clear finite state machine framework, all contribute to creating a chatbot that is both versatile in its interactions and precise in its execution. This comprehensive setup underscores the chatbot's ability to deliver an interactive, responsive, and personalized user experience, aligning perfectly with its educational objectives.
Details of the state machine (made with chatGPT-4)- See the attached file "Explaination of the configuration script.pdf"
- You can give a try off the prototype here: GPTs Geppetto_Draft.
ProseCode for GPTs represents a humble contribution to the world of LLMs and prompt Prompt Engineering, an attempt to pave the way for more deterministic control while preserving the systems' adaptability and innovation.
By sharing these efforts, I hope to inspire further advancements in the fascinating field of prompt engineering and intelligent chat-bots.
See also- ProseCode "“The description will be the program” - discussion about the emergence of a new paradigm for programming using natural language.
- How I Created Geppetto_Duino: A GPTs for Arduino learning
- Chat-GPT: Not So Stupid?
- ProseCode - Sticky Shapes “𝘁𝗵𝗲 𝗱𝗲𝘀𝗰𝗿𝗶𝗽𝘁𝗶𝗼𝗻 𝘄𝗶𝗹𝗹 𝗯𝗲 𝘁𝗵𝗲 𝗽𝗿𝗼𝗴𝗿𝗮𝗺” A proof of concept ProseCode - Sticky Shapes (powered by chatGPT)
Comments