Mar 27, 2023 - Technology

AI changes the software-making game

Illustration of binary code on a conveyor belt

Illustration: Annelise Capossela/Axios

The first business ChatGPT will upend is likely to be the industry that created it.

Why it matters: Making software has never been easy. But programming practitioners and experts are increasingly confident that generative AI will change their world — supercharging the work of the best coders and empowering everyday users to get more done.

What they're saying: "The current generation of AI models are a missile aimed, however unintentionally, directly at software production itself," venture investors Paul Kedrosky and Eric Norlin wrote last week in an essay on "Software's Gutenberg Moment."

  • "Such technologies are terrific to the point of dark magic at producing, debugging, and accelerating software production quickly and almost costlessly."

Driving the news: OpenAI late last week released pilot versions of plugins for ChatGPT that allow it to roam the internet at users' bidding and connect with other services and data.

  • It's a big first step toward transforming the conversational chatbot into a more capable intelligent agent that can accomplish tasks for users. It's also a move toward turning ChatGPT into a platform other businesses can build upon.
  • The first batch of plugins extends ChatGPT into travel, shopping, dining, math and other realms by linking the bot to well-known services like Expedia, Instacart, Kayak, Klarna and OpenTable.

Of note: Sure, these app-like plugins are OpenAI's bid to turn ChatGPT into a new "everything app," as New York's John Herrman argues.

  • But they also provide evidence of how radically AI's new large language models will change the work of coding.

How it works: Typically, to connect two programs, a software developer will need to understand the APIs (or definitions of how a system interacts with other systems) at both ends, then write some "glue code" so the two services can talk to each other.

  • To create a ChatGPT plugin, you just "instruct the model." You provide ChatGPT with a "manifest" of your service's API — in English. ChatGPT reads it and does the rest. (You can ask the AI to generate the manifest, too.)
  • Engineer and entrepreneur Mitchell Hashimoto tweeted: "I've developed a lot of plugin systems, and the OpenAI ChatGPT plugin interface might be the damn craziest and most impressive approach I've ever seen in computing in my entire life."

Catch up quick: The history of software is a long sequence of adding new "layers of abstraction" that hide the complexity of binary logic behind increasingly human-friendly generalizations, from assembly language to higher-level coding environment to graphical interfaces.

  • Visionaries have long promised, and tried to build, "natural language programming" tools that would let people just use everyday words and sentences to tell computers what to do.

Such efforts have never fully delivered on their promise — but this time might be different.

  • Today's AI systems based on large language models can take instruction directly from non-programmers, or programmers using human-language shorthand.
  • The results are nowhere near perfect — but they're far more advanced than experts expected.
  • As an added bonus, ChatGPT can turn around and provide instant explanations of how the code it has written works and answer a human user's questions about it.

Be smart: The power of ChatGPT and its competitors doesn't mean programmers will all need to find new lines of work.

  • Today's generative AI still pretends to know more than it actually does and makes things up to fill in gaps in its knowledge. It works best as a "copilot" for developers rather than an independent creator.

The bottom line: Human beings who deeply understand programming's many dimensions will still be needed — to invent genuinely new kinds of systems, to fix problems that AI can't, and to shape (and limit) ChatGPT and its successors.

  • But there may be much less demand for the routine labor of taking existing software systems and wiring them up to work together. That's a lot of what developers do today.
Go deeper