GPT Engineer: The Future of Programming with GPT-4

Guillermo Orozco
7 min readJul 23, 2023

--

Midjourney prompt: Real life ChatGPT enhanced human at work
Midjourney prompt: Real life ChatGPT enhanced human at work

Welcome to a new era of programming, where artificial intelligence (AI) is not just a tool but a game-changer. Today, we will delve into a groundbreaking tool called GPT Engineer, powered by the advanced AI model GPT-4 developed by OpenAI. This tool is set to revolutionize the way we code, and it might even make traditional programming obsolete.

The Advent of AI in Programming

AI has been steadily taking over repetitive jobs for years, but now it’s targeting a group that never thought they’d be in jeopardy: coders. With the recent development of GPT Engineer, programmers, and developers might find themselves questioning their role. Is this the end of traditional coding? Or is it the beginning of a new era in programming? Let’s find out.

Introducing GPT Engineer

GPT Engineer is a new product that can write code, develop apps and websites, scrape websites, and do a ton of other geeky stuff. The catch? You don’t need to write a single line of code. Instead, you just have to install it properly and prompt it. If you’re a coder who doesn’t like their job and desperately needs such a tool, you’re in luck. The makers of this tool promise that it can adapt, extend, and train your personal AI agent to generate code that aligns not only with a prompt but also with your style of coding.

User-Friendly and Effortless Utilization

The design of GPT Engineer prioritizes user-friendliness and effortless utilization. Its purpose is to provide immediate value without any hassle. The power of this tool lies in its ability to resume computations seamlessly. Every computation is stored and persisted in the file system, ensuring reliability and consistency. So, you don’t need to worry about losing progress or facing unexpected disruptions during your projects.

Unparalleled Flexibility and Incremental Growth

GPT Engineer offers unparalleled flexibility. It allows you to incorporate your personalized AI steps. By doing so, you can tailor the AI’s learning process to align with your specific requirements perfectly. The tool is designed explicitly for incremental growth. It gradually evolves to provide a high-level user experience by learning from your prompts and retaining that knowledge over time. With each interaction, the AI becomes more adept at understanding the user’s intentions, thus allowing for a more sophisticated and intuitive engagement.

Efficiency and Smooth Workflow

Efficiency and smooth workflow are central to GPT Engineer. It enables swift and seamless back-and-forth interactions between the AI and the human user. This seamless handover ensures the code generation process remains effortless and highly efficient. The tool seamlessly adapts to the pace and rhythm of the user, ensuring a productive and fluid experience.

The Impact of AI on Developers

As we marvel at the advancements in technology and the endless possibilities, a question lingers in everyone’s mind: will AI eventually replace developers? If we look at the situation honestly, it’s clear that AI will undoubtedly replace certain aspects of our job, mainly the more rudimentary tasks involved in development such as setting up boilerplate projects or performing software testing and quality assurance.

However, AI also brings along a plethora of challenges related to copyright, privacy, and security. Some companies may be hesitant to allow their employees to work with AI tools, as the destination and utilization of the generated code remain uncertain. Nonetheless, this cautious approach will likely be temporary, as businesses embracing AI tools and technologies will outpace their competitors. It becomes almost imperative for companies to join the AI bandwagon as these developments, akin to the internet or social media, are virtually unstoppable.

The Short-Term Impact and Long-Term Concerns

In the short term, software developers will benefit from utilizing AI tools to offload some of the groundwork. This will greatly enhance efficiency and expedite the software development process, hoping to improve the overall quality of our work. However, there are concerns for individuals studying computer science or related fields. The first roles AI will likely replace are those of junior developers. AI systems will gradually assume these entry-level positions that traditionally served as a training ground for aspiring software engineers. This leads us to question whether any junior developer jobs will be left at all.

Senior positions may also be affected similarly in the long run. Considering that people in senior roles are already facing a lot of setbacks, it would be a financial disaster. When we mention the long run, we’re not talking about decades but years or even months. Change is happening rapidly, and the landscape will never be the same again.

Finding a Balance Between Developers and AI

Yet, there is hope that we can find a balance between developers and AI, a win-win scenario where AI complements our skills rather than replacing us entirely. In this symbiotic relationship, developers can focus on what we excel at, leveraging our higher-level thinking skills to devise innovative and unconventional solutions to problems. These solutions cannot be derived from simply analyzing past patterns, which is essentially what current large language models do.

The key to reaching this equilibrium lies in developing our cognitive abilities further. We must hone our creativity and the ability to generate non-standard solutions. By nurturing these higher-level thinking skills, we can ensure that AI becomes a valuable tool that enhances our productivity and elevates the quality of our work. While AI may handle the monotonous aspects, we as developers can concentrate on pushing the boundaries of innovation and problem-solving.

Installing GPT Engineer

Now, let’s move on to the installation guidelines for GPT Engineer. After you open the link provided here, you can choose between a stable release or development. For a stable release, type the following in the terminal:

For development, use these prompts on your screen instead:

This will install GPT Engineer for your device, and then you need to set it up with your OpenAI key. You can do that by running these commands:

Now, you’ve hired yourself a virtual engineer, and to assign a project, type this:

After you run a project like a basic snake game or anything else, you can check the results in the directory.

Limitations of GPT Engineer

While GPT Engineer is a powerful tool, it’s important to understand its limitations. For instance, GPT Engineer does not support iterations. Once it builds the app, it cannot be modified or altered by requesting changes from the model. To make any modifications, you would need to undertake the task personally. It is crucial to have coding experience, especially if you intend to create something beyond a basic and straightforward application. In the event of an error, having coding knowledge becomes essential for comprehending and rectifying those errors.

Another interesting scenario that might be the greatest limitation of GPT Engineer is related to reading code. Reading code can be more challenging than writing it. This observation holds significant importance, especially when considering the long-term implications of using AI tools to build codebases. How will a generated codebase look after a year?

The key to reaching this equilibrium lies in developing our cognitive abilities further. We must hone our creativity and the ability to generate non-standard solutions. By nurturing these higher-level thinking skills, we can ensure that AI becomes a valuable tool that enhances our productivity and elevates the quality of our work. While AI may handle the monotonous aspects, we as developers can concentrate on pushing the boundaries of innovation and problem-solving.

Conclusion

While AI is making significant strides in the world of programming, it’s important to remember that it’s a tool to enhance our productivity, not a replacement for human developers. As we continue to explore the capabilities of tools like GPT Engineer, we must also consider the challenges and limitations they present. By doing so, we can ensure that we’re using these tools effectively and responsibly.

What we consider as legacy code today might pale in comparison to the complexity introduced by GPT-generated codebases in the future. This raises an important question: is it even feasible to add new client features to a codebase generated by GPT over an extended period of time? When GPT reaches its limitations and is unable to contribute further to the codebase, can a senior developer seamlessly jump in and identify errors within the extensive 100,000 lines of GPT-generated code? If not, does this mean the project must come to a halt and a new one must be initiated? These are valid concerns that demand careful consideration and planning when utilizing GPT for long-term co-development projects.

While the prospects may seem daunting, it’s important to remember that the field of technology is ever-evolving. The advent of AI in programming is just another step in this continuous journey. As developers, our role is to adapt, learn, and grow with these changes, leveraging them to enhance our skills and create innovative solutions. With the right mindset and approach, we can turn these challenges into opportunities, pushing the boundaries of what’s possible in the world of programming.

--

--

Guillermo Orozco

AI & Business Guru LATAM. Trust & innovation for a sustainable future.