Is Prompt Engineering Changing Programming?
- Prompt engineering, the no-code method of instructing GenAI systems to produce outputs, is the new buzzword in technology.
- Spiceworks News & Insights explores prompt engineering, whether it will change the future of work and the role of programmers, and whether you should go all in on it.
During NVIDIA’s annual developer conference in March 2024, its CEO Jensen Huang said, “You don’t have to be a C++ programmer to be successful,” while sharing his thoughts on how generative AI (GenAI) is shrinking the tech divide. “You just have to be a prompt engineer.”
“And who can’t be a prompt engineer? When my wife talks to me, she’s prompt engineering me… We all need to learn how to prompt AIs, but that’s no different than learning how to prompt teammates,” Huang added during the NVIDIA GTC 2024 keynote. “Programming is not going to be essential for you to be a successful person.”
Is he right?
Huang has emerged as one of the most respected voices in AI. His company’s hardware is used to train the most sophisticated GenAI models. His inherent and irreplaceable contribution to providing the sheer computing power GenAI training and inferencing needs has made his products the most sought-after commodity by AI developers and Huang, an investors’ favorite techie.
Huang’s keynote attracted more than 10,000 people, forcing NVIDIA to book the SAP Center, located a mile from the San Jose Convention Center, the venue for the NVIDIA GTC 2024. So, at least 10,000 people were willing to listen to what he had to say.
Huang later added, “But if somebody wants to learn to do so [learn coding], please do because we’re hiring programmers.”
Spiceworks News & Insights explores what prompt engineering is and whether you should go all in on it.
What Is Prompt Engineering?
Deemed as one of the “jobs of the future” by the World Economic Forum, prompt engineering is a no-code method of instructing GenAI systems to perform a particular task. Prompts are human language inputs for GenAI tools based on large language models (LLMs), and prompt engineering is the practice of writing those inputs.
writing a really great prompt for a chatbot persona is an amazingly high-leverage skill and an early example of programming in a little bit of natural language
— Sam Altman (@sama) February 20, 2023
Models are designed with transformer-based architectures, machine learning algorithms, and databases to enable natural language understanding. In simple words, prompt engineering involves using natural language to get a meaningful response from a GenAI chatbot.
“Prompt engineering involves structuring text or input data in a way that can be interpreted and understood by AI models. Instead of explicitly giving the AI the task or command, the description of the task is embedded in the input, often in the form of a question or prompt. It combines elements of logic, coding, art, and creativity. It requires a deep understanding of AI systems, their limitations, and the desired outcomes,” Ralph Meier, manager of Engines and Algorithms at Hyland, told Spiceworks News & Insights over email.
“Prompt engineers consider context, intent, and other factors to design effective prompts that guide AI models to generate the desired output. The process of prompt engineering includes crafting and refining prompts, selecting appropriate data types, and formatting the input data to use AI models for specific tasks.”
Prompt engineering is thus an interactive element between humans and GenAI. For humans, prompt engineering is the interface for question-answering, data analysis, text summarization, code generation, and artistic expression. For LLMs, it can be helpful in refinement and augmentation.
Prompt engineering techniques
Some of the most well-known prompt engineering techniques are:
- Chain-of-Thought
- ReAct
- Retrieval Augmented Generation
- Tree of Thoughts
- Self-Consistency
- Prompt Chaining
- Few Shot Promptimg
- Graph Prompting
- Program-Aided Language Models
- Directional Stimulus Prompting
- Multimodal CoT
- Zero-Thought Prompting
- Reflexion
See More: Why Leaders Need To Emphasize The Human Element In Smart Manufacturing
Is Prompt Engineering Changing the Role of Programmers?
To answer whether prompt engineering is changing the future of work pertaining to coding, it is essential to understand that GenAI systems, while advanced in producing natural language, are still very raw in generating code that combines logic, math, and programming syntax.
The popular notion is that a good prompt produces the best result. However, an LLM must understand the nuance and intent behind the prompt to produce the right response. As such, the right prompt supersedes a good prompt to produce the correct response.
In software development programming, the optimally engineered prompt is a text input that goes beyond the AI tool’s features and language precision and considers the appropriate problem formulation.
“AI systems are very picky; like any computer, they’ll solve exactly the problem you ask them to solve. Unlike older software, they might develop a very interesting interpretation of the problem you want to solve. So, it’s important to understand the problem and to be able to express the problem as clearly as possible. That’s not going to change with AI,” Mike Loukides, VP of Emerging Tech Content, O’Reilly Media, told Spiceworks.
Thus, a prompt engineer must be familiar with data structures, LLMs, linguistics, programming languages, and coding principles to generate code snippets, debug, develop API integrations, and more.
“Clear problem definition and specification are essential to guide language models toward producing reliable code outputs. Vague or incomplete problem formulation can lead to issues like missing functionality,” Meier added.
“Prompt engineering involves designing prompts that effectively communicate the problem, requirements, and constraints to the language model. A structured approach to breaking down the problem into well-defined sub-tasks is recommended, as it allows the language model to better understand the problem and generate more accurate solutions.”
In essence, prompt engineering may change the operational aspects of programmers’ and developers’ jobs, but the functional elements of the role should remain unperturbed.
When will prompt engineering see a mainstream adaptation?
Meier opined that the prompt engineering process helps “identify errors and hidden capabilities of AI systems, improving human-machine interaction models.” He added, “It requires continuous adaptation to new challenges and technological breakthroughs.” Still, it is an emerging field that “still lacks universally accepted definitions or standards.”
On the other hand, the lack of appropriate standards does not equate to a lack of adoption. “It’s [prompt engineering] already becoming mainstream. It’s essential to anyone who wants to use AI to do real work. The more we use AI, the more we’ll realize that getting quality responses isn’t trivial,” Loukides said.
For instance, the first AI regulation, the EU AI Act, has yet to come into effect, yet AI adoption is booming across industries. Loukides continues, “I’ve seen arguments that prompt engineering won’t be necessary in the future — the AIs will get better at understanding our intent. I think that’s nonsense. We’re not very good at understanding our intent, even without AI involved. I don’t believe a future AI will magically be able to deal with prompts that are ambiguous and poorly thought out.”
“Having personal conversations with an AI is useful, but the future really lies in building applications that automate those conversations. RAG is just a start; we’ll see agents that can solve complex problems using multiple AIs, all by taking a simple request and generating a complex series of prompts.”
See More: The AI Balancing Act: How Leaders Can Walk the Transformation Tightrope
Prompt engineering skills to learn
The future of work in programming, where prompt engineering is set to play a more prominent role than today, necessarily entails staying up to date with the latest in GenAI. “Prompt engineers must be willing to learn and stay updated with breakthroughs, products, techniques, and approaches,” Meier said.
“They need to be voracious in their learning, constantly seeking, studying, and absorbing everything they can find. In addition to continuous learning, prompt engineers benefit from hands-on experience and practice. They can work on their own projects, collaborate with others, or be employed in roles involving prompt engineering.”
Meier expects a prompt engineering community with similar interests and goals to drive the skillful adoption of the process in the future of work in programming. This could include a balanced approach between academics and professional experience.
Loukides explained, “The difficulty with prompt engineering is that it’s often unclear why one prompt works well while another gives poor results. And making sure that you have a prompt that works well, particularly if you’re incorporating it into a program, is important. Do you use a zero-shot prompt or a chain of thought? How many examples do you include? We don’t have hard and fast rules yet; there’s still a lot of trial and error.”
The initial exposure to prompt engineering trial and error can be undertaken with college projects, internships, or simply playing around with LLMs. “Most prompt engineers didn’t start as masters in prompt engineering, but rather as developers who worked to become specialists by learning new skills through all the educational resources available today. Because this is a common path for prompt engineers, many share similar experiences and can exchange advice beneficial for those pursuing related opportunities,” Meier continues.
“Participating in developer communities, especially open-source communities, is a great option for those seeking advice in an emerging space, especially as open source becomes more prominent in the development of generative AI, like with Meta’s Llama 2, for example.”
“But remember, in a rapidly evolving tech space, advice can quickly become outdated. Stay informed, be open to new information, and continuously evaluate and adapt your strategies based on the changing landscape.”
How do you perceive prompt engineering in the future of work in programming? Share with us on LinkedIn, X, or Facebook. We’d love to hear from you!
Image source: Shutterstock
MORE ON ARTIFICIAL INTELLIGENCE
link