Digital Transformation

Privacy concerns aside, we shouldn’t be relying on Chat GPT for complex software development

Reports that ChatGPT has serious privacy issues is not a surprise to anyone working in this area. To be fair to ChatGPT, it comes with a clear and explicit warning – if you use the open API version, your data could be used to help train its responses, so users should not share any confidential information. OpenAI will hold onto that data and use it to improve unless users opt out.

So what is surprising are the reports that several Samsung employees leaked sensitive information onto ChatGPT, including uploading a recording of a meeting and asking the AI to generate meeting notes, and uploading source code to be checked for errors and fixes.

Even if you discount the privacy issue, ChatGPT isn’t ready – yet – to be used to solve complex development problems. Generative AI-based solutions like ChatGPT can help software engineers with some tasks, and there are some great examples of ChatGPT generating useful code, but it also makes serious mistakes. It can be over-confident in its decisions, too.

That means you need to know the right questions to ask the AI, and also how to interpret the answer. You need a good understanding of software development and engineering to use it properly. You need to know when it makes a mistake. Even when you use AI to write code, you need an expert to check it (and later, to maintain it). This is a very human skill that will be needed more, not less, in the future.

That’s not to say generative AI isn’t useful to developers – far from it. It is a critical part of our future. And there are already multiple generative AI tools out there that developers are using every day.

So, what can ChatGPT or other generative AI do for developers right now?

As programming languages become simpler, developer environments can add more features like syntax checkers and IntelliSense. They can also offer various code editing features, including code completion, parameter info, quick info, and member lists. 

Other modern tools, like smart code analysers and code generators, are based on different descriptors. For example, OpenAPI Specification enables both computers and humans to describe HTTP APIs that define the capabilities of a network service. There are also generators that create backend and frontend code that serves and calls these APIs, enabling developers to focus on the presentation layer and real business logic.

Generative AI-based solutions like Chat GPT are the next level of tools that can help software engineers, but there are many other aspects of complex system design and development. Generative AI can also help in formalizing use-cases, recommending tools for the implementation, designing initial solutions that can be extended later and helping in implementation of algorithms and efficient approaches. 

Generative AI can help experienced developers save time. It can assist with basic programming tasks, for example, generating generic or simple code that can be adapted and refined for the specific use case the developer requires. It can also be great at generating new ideas or a different perspecitve on a problem, that the developer can then use to create a bespoke solution. Or it can show them how something looks in other programming languages, for example. But it shouldn’t be used on its own to generate development solutions for complex issues. 

What should we watch out for in using generative AI for development? 

The first issue is whether the AI is creating error-laden code. That’s a common problem right now, so while the AI-generated code could be a useful starting point, it’s unlikely to produce the finished article. We need humans to turn it into something usable for the business. 

The second big concern is, of course, privacy, when using an open source generative AI like ChatGPT, and the Samsung example has really highlighted this. (It’s also the reason Italy has banned ChatGPT, and we’re likely to see more conversations about its suitability for use with confidential data in the coming weeks.) If you do use ChatGPT or any other open source generative AI, make sure you opt out of sharing your data. 

We will always need skilled developers, working with AI

The media hype would have us believe that those of us working in development will be replaced by AI. I think the opposite is true. The more we use AI, the more skilled developers we need. 

We need human skills to manage the AI. All AI is only as intelligent as the data it learns from. So we need data scientists to understand and interpret the data. We need privacy and security engineers to stop a repeat of the Samsung issue. And we need armies of talented people to interpret the AI response and ensure its output is right, to avoid terminal errors. 

We might use AI to assist us with repetitive or basic tasks, and potentially as a source of inspiration that will lead us to innovate. But to work out how to use AI strategically, to develop software solutions that support real-world business issues, we will always need human thinking and expertise.

Author

  • Peter Ekler

    Dr Péter Ekler, Head of Future Technology, Zenitech, a transformational technology company, and an Associate Professor at Budapest University of Technology and Economics’ Faculty of Electrical Engineering and Informatics.

    View all posts

Related Articles

Back to top button