Table of Contents
If you’ve been on the internet at all in the last few months, you’ve probably heard about ChatGPT. ChatGPT (short for "Chat Generative Pretrained Transformer") is a revolutionary new predictive language processing tool that can help professionals in programming, marketing, sales, etc. It's easy to learn, intuitive to use, and incredibly powerful. We'll explore why you should consider using ChatGPT, tips on implementing this tool into your workflow like an expert, and some warnings about potential pitfalls. So, join us as we dive into ChatGPT!
Let’s talk AI. No, not Allen Iverson the NBA legend, but Artificial Intelligence. And no, this doesn’t mean the Matrix or the world of Terminator. 😂
All jokes aside, ChatGPT is a type of artificial intelligence (AI). Really it is an application of machine learning technology specifically designed for predictive language processing. Well then, what exactly is AI and machine learning?
Basically, it’s just math. Most AI or machine learning algorithms work by feeding data into a series of inputs. These inputs are then fed through multiple hidden processing layers where simple arithmetic operations are performed on them before an output is generated. The model can then be trained by adjusting the coefficients of each node in the hidden layer producing a change in the output. Do this billions of times and you now have a program that mimics neurons in the human brain.
For a great graphical representation of what these algorithms are doing, think back to a simple topic in any calculus class: finding the minimum point on a curve in two dimensions. Now just do the same thing, except in 2 million dimensions.
Two Types of Artificial Intelligence
There are two types of artificial intelligence – narrow and general.
Artificial narrow intelligence uses machine learning methods to process data to accomplish a single task or set of tasks very well, oftentimes better than humans. Narrow AI isn’t really “thinking” but merely responding to inputs based on training data. The knowledge is restricted to a specific domain and cannot transfer between domains. Think of DeepMind’s AlphaGo beating the world Go champion or AlphaFold predicting protein folding.
This differs from artificial general intelligence, which uses more open-ended thinking and has the potential to replicate human behavior. General AI self-learns and reasons within its operating environment, leveraging and transferring knowledge between domains. Examples include Cortana in Halo or Skynet from Terminator.
So, is ChatGPT going to lead us through the next Covenant invasion or start world war three? No. ChatGPT is a narrow AI that can only do exactly what it was trained to do and relies heavily on its training data and input from you, the user.
But what about you? Is AI going to take your job? Yes and no. AI as a tool won’t be replacing human workers anytime soon, but those who leverage AI will quickly outperform those who don’t. Because of this, learning how to utilize AI tools will become critical in the very near future as big tech companies continue to develop even more powerful generations of these already incredibly versatile algorithms.
We recommend checking out these videos for more in-depth discussions on how AI works:
Machine learning fundamentals (But what is a neural network? by 3Blue1Brown)
Practical programming example (How to Create a Neural Network by Sebastian Lague)
Benefits of Using ChatGPT for Work Projects
Do you prefer using a paper dictionary, translation textbook, or paper map instead of Google?
Do you enjoy mind-numbing repetitive tasks that make you question what the purpose of corporate work is?
Do you dislike having job security or being at the top of your field?
Do you enjoy sorting through hundreds of forum entries before finding what you need?
If these questions make your stomach turn, then congratulations – you’re the perfect candidate to use ChatGPT!
ChatGPT is flexible, customizable, and easy to use. And, while there is a pro version that offers some additional benefits, the core application is -currently- free. We’ve found the best way to implement ChatGPT is as an efficiency tool. Once you’ve solved a problem and are prepared to execute the solution, reach for ChatGPT to help you reduce the amount of time it takes to get there. It is a great utility for executing the “grunt work” that often accompanies getting projects done.
When Not to Use ChatGPT
You’ll find us mentioning this over and over again (and for good reason): ChatGPT is a tool, not a solution. It’s not intended to replace critical thinking or solution development. You must have some knowledge of the intended output for any given problem statement. The quality of answers that ChatGPT provides heavily correlates to the quality of input the user supplies in the prompt. If you provide a generic prompt that doesn’t use specific syntax for the field you’re working in, ChatGPT will probably display a low-quality or totally erroneous answer.
Furthermore, you must be able to validate the output result. Without a base foundation of the topic you’re inquiring about, you won’t be able to identify if ChatGPT’s output is the best solution or even a solution at all. ChatGPT does not know if the answer it provided is correct and cannot validate its results. When ChatGPT returns an answer to your prompt, it simply found relationships within the massive datasets it was trained on and returns associations based on your request.
Speaking of training, ChatGPT does have some shortcomings due to the model it was trained on. ChatGPT does not have an infinite amount of knowledge and can only operate within the limitations of its model datasets. Therefore, the more specific or niche your use-case is, the more likely it is that ChatGPT will not have the information necessary to provide a viable output. Moreover, how the data was presented for training can instill a certain amount of bias within the platform.
To summarize, don’t use ChatGPT for a topic in which you have little to no experience. Additionally, we recommend caution when using ChatGPT for specialized subject matter, as the available information it pulls from will be much more limited. And finally, don’t put too much stock in ChatGPT’s answers. Remember, ChatGPT’s purpose is to help you find a quicker and/or better way to accomplish a task, not solve all your problems.
Implementing ChatGPT for Python/Jython Scripting
How do I…?
ChatGPT can be a good starting point for figuring out how to accomplish a specific task using Python. It’s also great for discovering new syntax concepts and explanations without the tedious filtering that comes with Google Search or looking through Stack Overflow. For example, you could use ChatGPT to learn about the syntax of how to process a dataset a certain way in Python.
What does this mean…?
One of the best use-case scenarios for ChatGPT is explaining existing code. If you’re a developer working on an existing project with no documentation, just copy and paste a function into the ChatGPT prompt and ask what the function does. You can also ask follow-up questions after the initial response to get more detail or clarity on the response generated. An example would be if a new Python developer who was not yet familiar with list comprehension syntax came across it in a function. ChatGPT would identify the technique, explain its use, and provide a sample output.
How can I improve…?
ChatGPT can process existing code and identify inefficiencies. So, another great way to use ChatGPT is to copy and paste your own code and ask it to improve that code. Or, if you’re using unfamiliar syntax, you can request ChatGPT to offer suggestions or provide validation. An example would be attempting to identify inefficient time complexities in algorithms or functions that are developed for a specific application.
One of our favorite ways to use ChatGPT is for documentation generation. As we programmers know, we all hate writing documentation. One of the cool things you can do is copy and paste a function into the ChatGPT prompt and ask it to write a docstring for the function. ChatGPT will provide the header, including listing the inputs and outputs. As mentioned before, it is important to already understand what the code does to validate this information. ChatGPT is not meant to be the brain here, it is just meant to be faster than your hands!
ChatGPT functions as an excellent accelerator for developing standardized general utility functions you can add to your script library. ChatGPT is great at compiling these kinds of utility functions that don’t require a specific use case. For example, if you needed a utility for converting between data structure formats (JSON to XML, etc.), ChatGPT is quite reliable at generating functions to execute these ideas.
We want to take a moment here to reiterate that you MUST know the code you’re inputting into ChatGPT. Be aware that ChatGPT may give you incorrect answers, so always proofread and verify its outputs before implementing.
We’d also like to briefly touch on iterations within ChatGPT. We’ve found a noticeable difference between the frequency of correct first-time answers versus correct answers after iteration. There are a few options when working with iterations:
- Continue – Have ChatGPT continue running along the same train of thought.
- Provide Errors – Ask ChatGPT to modify the syntax based on an error received after running code (copy and paste the error in the prompt).
- Describe Changes – Provide ChatGPT with a qualitative description of the changes that need to be made.
Specialized Applications for ChatGPT
Beyond Python/Jython scripting, we’ve found several other helpful applications for ChatGPT:
Rapidly compile a function library from standard building block code.
Generate CSS code for a theme file / web app styling.
Generate and execute unit tests for functions or APIs.
Generate database schemas given a description of table structure (can also include complex requirements such as naming conventions by field / datatype / key).
Modify an existing SQL query.
Troubleshoot a complex SQL query.
Summarize a Microsoft Teams meeting transcript.
Write a sales email template (PLEASE do not send one of these without review!).
Put together a LinkedIn summary.
And just for fun, compose poetry.
The Power of Leveraging ChatGPT
Here at Vertech, we’re excited about leveraging the power of ChatGPT in our workflows. We don’t want to get caught up in the classic thought process of "it’s always been done this way" when it comes to how we go about our day-to-day activities as developers / integrators. Instead, we desire to shift our mindsets toward efficiency and innovation, continually asking ourselves:
- Am I doing this the right way?
- Is there a better way to do this?
- Is there a faster way to do this?
In conclusion, teams can leverage this revolutionary and versatile technology to get work done faster and better than ever before. ChatGPT isn’t going to change the input or output of your work, but it can make everyday tasks more efficient and your team more productive.