Article
Innovating with Generative AI: The Future of Software Product Development
Generative AI is revolutionizing software development—by enabling unstructured and open-ended prompt responses, API integration, and collaboration opportunities
May 08, 2023
- Generative AI’s capacity to respond to unstructured and open-ended prompts, unlike traditional computer code, is ushering in a new wave of sophisticated software products and advanced technology applications.
- Developers are using generative AI APIs to interface with users and connect different components of programs.
- Open-source communities and third-party vendors are facilitating collaboration and experimentation with these new capabilities.
Introduction
With each new update, generative AI advances by leaps and bounds, creating new opportunities for businesses of all kinds—if they can keep up.
The recently released GPT-4, for example, is 10x more advanced than the already sophisticated GPT-3.5, with better language and information synthesis abilities as well as greater accuracy. Meanwhile, more and more organizations—including the likes of Microsoft, Meta, and Google—are integrating generative AI applications into their own software.
Earlier in this article series, we reviewed best practices for getting the most out of generative AI, as well as ways to begin integrating these models into your workflow. But these just scratch the surface of generative AI’s power in the hands of advanced, tech-savvy users.
Here's how developers are learning to work with generative AI, along with some of the cutting-edge software applications using generative AI to revolutionize operations.
A radical departure in how coding works
Generative AI application programming interfaces (APIs) can equip other software products with AI capabilities—marking a radical departure from how traditional coding works.
How coding used to work
Typically, instructing a computer to perform a function requires a specific instruction for each individual task, which then creates the corresponding output. As anyone who’s taken a coding class will recognize, asking a computer to say “Hello, World” in the C++ coding language would look something like this:
#include <iostream>
int main() { std::cout << "Hello, World!" << std::endl; return 0; } |
The computer can’t creatively interpret the input in any way, so even the slightest ambiguity in the code will produce an error. It functions instead like a calculator, capable of generating the correct output when asked to add two numbers together, but unable go beyond a contained world of programmatic statements or defined values.
How coding works with generative AI
Generative AI models like GPT-4, on the other hand, work conversationally. While you could easily ask ChatGPT to say “Hello, World” in plain language, you could also instruct it to have an entire conversation with you beginning with that phrase.
Trained to detect patterns and relationships in mind-bogglingly large datasets, generative AI models can understand complex instructions, create outputs in the face of unstructured problems, and understand the tone and intent behind questions. It’s more like talking to a person, who rather than responding to the open-ended question of “why do humans like poetry” with “ERROR,” instead weighs possible answers and responds with a probable explanation.
What generative AI means for software applications
The potential applications of this new interface are limitless. Beyond text and image generation, OpenAI’s example use cases demonstrate GPT-4’s wide range of capabilities. Here are a few key examples:
- A superior translation function: Generative AI platforms can, for instance, convert text to programmatic commands, modify code from Python to Java, or translate text between Japanese and Spanish.
- A simpler way to summarize data: This could include simplifying a concept for a child, conducting advanced sentiment detection with tweets, or summarizing search engine results.
- A more helpful chatbot: Previously, building a chatbot meant anticipating every possible input and designing a corresponding response—both time consuming and imprecise. For example, a chatbot for a delivery company working to generate the right response would have to account for “I didn’t receive my package” and “my package never arrived,” along with dozens of possible ways to phrase the question—and would likely still need to route to a person to investigate the issue.
Generative AI, however, is not only capable of understanding a wide range of potential inputs but can also create outputs unique to the situation. When investigating a lost package, the AI bot could receive an explanation and order number from the user, query databases or reference internal data based on that information, and then provide an explanation back to the user in natural language—all without needing a human to mediate. - A better organizational tool: At West Monroe, we’ve also been exploring how to improve our own tools using these APIs. For example, we recently incorporated a categorization function driven by a generative AI API in our Stickies.io product, which allows teams to create, move, cluster, and upvote digital sticky notes to brainstorm and create affinity maps or retrospectives in real time.
Fostering innovation through collaboration
Because generative AI is still new, many developers are collaborating and experimenting with the best way to incorporate this technology into their products. Langchain, for example, is an open-source project focused on large language model (LLM) applications that assist with functions including:
Prompting: Prompt management, prompt optimization, generic interface for all LLMs, and common utilities
Chaining: Sequences of calls for integrations and end-to-end applications involving LLMs
Data-augmented generation: Pulling, analyzing, and relaying information from an external data source
Agents: Making decisions, taking action, and observing the outcome over an iterative process
Memory: Creating a persistent state between calls of a chain or agent
Evaluation: Using an LLM to evaluate its own performance
Similarly, services like Promptbase allow developers to buy and sell prompts for generative AI models that produce better results and save on costs, without needing to hire a dedicated prompt engineer. And as generative AI improves its factual accuracy and creativity capacity and expands into new mediums (e.g., real-time video overlay), it’ll become a better collaborator within product teams, capable of generating prompts and interfacing with other AI models to improve results.
In the meantime, just as generative AI learns by seeing what has come before, the best way to discover new applications and integrations for the technology is to experiment and explore. If you’re looking for ways to improve your products with AI, we’re here to help.
This is the third article in a three-part series on unlocking the power of generative AI.