A Beginner's Guide to Exploring ChatGPT
Namrata Patil
Development Manager at SAP Labs India | SAP S/4HANA | Product Development & Quality
What makes human interaction unique, rich and meaningful? It all comes down to two words: context and intent. It's what makes us human, and it is something that has long been considered beyond the reach of machines. But what's truly mind-boggling is how Artificial Intelligence (AI) conversational bots are becoming increasingly advanced in replicating this level of understanding.
ChatGPT, built on the power of GPT-3.5 and reinforced by RHLF technology, is a prime example. It understands user-intent, remembers context, and generates human-like text that maintains lucidity throughout a chat session. The bot can only fetch data prior to the year 2021, as its training stopped in the year 2021.
ChatGPT is programmed to follow ethical guidelines. It is monitored to avoid providing illegal, harmful or inappropriate information and declines to answer questions that breach ethical or legal standards.
Join me in a hands-on exploration of the incredible power and possibilities of ChatGPT through my experiments with the bot! The following 5 experiments are meant to be shared as a guidance, to help you get started with your own ones. Get ready for the future of AI chatbots with ChatGPT!
1. Possible Applications for Software Development & Testing:
Code Generation: To start with the most popular one - ChatGPT's code generation feature can allow developers to quickly generate a dependable version of a unit of code in just a few seconds. While the code generated by ChatGPT may not always be perfect, it can be easily adapted to fit the larger picture and context of the codebase. Developers can rely on ChatGPT's code-generation feature to save time and streamline the coding process.
Code Refactoring: ChatGPT's refactoring feature could allow developers to easily transform legacy code into a maintainable codebase, and generate a strong suite of unit tests to ensure code sanity after refactoring, saving significant amounts of time and effort.
Debugging Support: When I provided the following code snippet to ChatGPT for corrections, it not only provided the correct version of the code, but also explained that although my original code would have compiled correctly, it would have resulted in a runtime error.
Variants Test-Case Generation: ChatGPT was able to generate 50 unique test cases for a given use case and unit of code. While not all of these test cases may be necessary to be coded due to inherent type-checks in strongly-typed languages and other validations across the stack, it is still noteworthy that ChatGPT was able to derive them all.
It is important for the programmer to evaluate the functional context of the unit of code and determine which test cases are relevant before implementing them.
Having strong and expansive unit tests at the lowermost level of an application or product can help strengthen its quality aspects in leaps and bounds.?But to think of all possible usecases for an individual developer is often a challenge and could be time-consuming to implement fully. This is where the power of ChatGPT can be leveraged.
2. Possible Applications for Agile Software Development:
Writing User-Stories:
The bot wrote a high-level precise and clear user-story for a requirement along with the acceptance criteria. If probed further, it can also write further finer details and checks or break down a high-level user-story into smaller ones.
?Writing PRDs (Product Requirements Document):
The bot generated a 60-line Product Requirements Document (PRD) for a tax calculation module, outlining its Product Overview, Target Users, Features, Technical Requirements, Assumptions and Constraints, and Success Criteria. Although this document can serve as a starting point for development, a more thorough and contextual version would be necessary in real-world scenarios. This can be achieved through a series of targeted questions from a human to ensure compliance, validate the solution, and assess the product's future plans and strategies, as well as market requirements.
3. Beyond static content or software code generation:
Stance Detection:
ChatGPT has been trained on a large corpus of text data to analyze and understand the nuances of human language, including detecting the stance/sentiment of a speaker based on a given textual content. It uses various natural language processing techniques, such as sentiment analysis, tone detection, and machine learning algorithms, to identify the writer's attitude or stance towards a particular topic or issue.
It detects stance by analyzing the tone, emotion, language, and context of a given text and provides a summary of the speaker's attitude, emotions, level of interest, and motivation. It does this using its language processing capabilities and ability to analyze complex text data to identify meaning and nuance. Here is an interesting example which can be applied for many other usecases to detect end-user sentiments:
领英推荐
?4. Decision-Making through Prioritization & Ranking:
The bot's decision-making abilities were evaluated by providing it with a list of 10 product requirements to prioritize, including legal and data privacy compliance, features, technical debt, quality, machine learning capabilities, UX enhancements, and inclusive labelling.
In an interesting observation, the bot initially ranked legal compliance requirements lower on the list, but after being asked the same question two more times, it adjusted its priorities and ranked them in the top 4. The bot also provided a fair-sounding rationale for its reprioritization decisions, but it also seemed to have recalibrated its answers based on its own assumptions.
5. Augmenting Critical Thinking through ChatGPT’s versatility:
ChatGPT's ability to augment critical thinking is not limited to a particular topic or scenario. It can be used to explore various aspects of any argument, filling the gaps left by time, effort, or availability constraints of individuals. The bot serves as an additional mind to deeply examine any topic under the sun and articulate its different aspects effectively. A word of caution - it would purely be up to the consumer to decide if and how to validate what the bot comes up with. There are times when it seems reasonable and convincing - but could be inaccurate.
The final word:
Not just an AI black-box:
Throughout my experiments, I found it fascinating to observe how ChatGPT seemed to generate answers by applying detailed reasoning rather than functioning as just another opaque AI black-box. Though not completely transparent, interpretability, and techniques like visualization of attention weights and attention mechanisms can provide some insights into how it works.
Precision & Accuracy:
It answers mathematical and code-generation questions accurately to a fair extent, but for less precise questions, it recalculates the probabilities of the correct answer each time. Although verbose, ChatGPT can provide concise answers when asked explicitly. Its answers may not always be definitive but offer insight into the reasoning process and augment critical thinking of the consumer.
Articulation of ideas:
If you have ever found yourself struggling to articulate your thoughts, intuition and ideas, have had a?gut-feeling about something, but you could not quite put it into words, ChatGPT can come to your rescue! I think a key benefit of the bot's capabilities is its ability to not only create static content but also enrich arguments. With the vast amount of data at its disposal, the bot can help individuals examine, internalize and articulate their arguments effectively. This could be debatable - however, my point is that ChatGPT can be used as a supplementary tool for simple topics, not as the primary one for critical/high-impact ones.
In the recent past, I have used ChatGPT for topics ranging right from writing a good speech for my son for National Science Day at school to generating a piece of Python script to even making this article's content more concise!
So why not give it a try? The possibilities are endless, and the examples mentioned above are just the tip of the iceberg. There's so much more to discover and uncover with this powerful tool.
Note: The content I have shared in this post is purely based on my personal views, observations and explorations and is not affiliated with any institute, organization or company. It started as a personal exploratory exercise and has been quite a learning experience!
(A big thanks to Geetika Tripathi and Saad Mujadid - for a quick review and honest feedback!)
Further Reading:
Program Management | Project Management | Quality Management | PMP Trained | Tech Blogger | Women in STEM
1 年Congratulations and Kudos Namrata for delving deep and how in the most sought after topic of the present day . The part dedicated to possible applications provides enough content for further interesting analysis, deep dives and detailed discussions.
Developer Experience | SAP Labs India
1 年I really enjoyed this well-curated article on this topic. Kudos!
Intraday Risk & Pricing Lead
1 年Excellent piece.
Senior Director at CRISIL Limited
1 年Very well written piece, Namrata. Thoroughly enjoyed reading it.
Product @ GE HealthCare | Cloud, Observability, Digital Health
1 年Very nicely detailed! ChatGPT is ripe with possibilities for curious minds. Pretty exciting to know about the launch of their API as well. https://openai.com/blog/introducing-chatgpt-and-whisper-apis