Press "Enter" to skip to content

ChatGPT and software development | InfoWorld

I tried to use ChatGPT to help with a common coding problem when working on CRM applications and merging customer data sources. I asked ChatGPT: “Given two lists of names, write Python code to find close matches of the names and compute a similarity rank.” ChatGPT replied: “You can use the FuzzyWuzzy library in Python to find close matches and compute name similarity rankings.” ChatGPT then showed the code to interact with FuzzyWuzzy and included examples to help demonstrate the results.

Now, there are debates about how smart ChatGPT is, whether it can write safe code, and why you should attribute your sources. But the effectiveness of ChatGPT is causing many people to consider how generative AI will change the creative work of people in marketing, journalism, the arts, and, yes, software development.

“Generative AI, like ChatGPT and AlphaCode, is sure to have a huge impact on the way organizations build apps, from enabling faster and more efficient development cycles to optimizing customer experiences, over the next three years, says David Ben Shabat, vice president of research and development at Quali. “As AI continues to develop, companies will be able to use these models to optimize customer experiences, increase customer engagement, lower customer service costs, and lower overall costs.”

Arjun Chandar, CEO of IndustrialML, adds: “Generative AI tools will make it, at least marginally, more feasible to use machine learning for a broader range of applications in a greater number of domains.”

ChatGPT has already reached more than 100 million users and Microsoft is integrating it with Bing and other Office applications. Other generative AI competitors on search platforms include Google’s Bard, and developers can try code-generating AI like AlphaCode and GitHub Copilot. A wave of SaaS products, technology platforms, and service providers are integrating ChatGPT’s capabilities. For example, Gigster introduced ChatGPT integration support and Equally AI released Flowy, a web accessibility platform powered by ChatGPT.

Don’t fear the AI; take advantage of their capabilities

If you are a software developer or devops engineer, you may be experimenting with generative AI tools and wondering what it will mean for your profession and how it will change your work.

“Generative AI tools like ChatGPT have caused a stir among the developer community,” says Marko Anastasov, co-founder of Semaphore CI/CD. “Some fear it will take their jobs, while others prefer to ignore it. Both attitudes are wrong because, as we’ve seen with GitHub Copilot, a developer who integrates AI into their workflow can experience an incredible productivity boost.”

Take my CRM example – it saved me time by identifying a useful Python library and showing me a coding example. The process sped up my discovery, but I would still have to do the work to evaluate the results and integrate the code into my application.

Generative AI lacks context

Remember when you installed your first Amazon Alexa or Google Assistant in your home and expected it to be as smart and responsive as the computer in Star Trek? It helps you do simple tasks like setting alarms, adding items to shopping lists, sharing the weather forecast, or updating you on today’s news, but it’s unlikely to answer more complex questions accurately.

Sonatype developer advocate Dan Conn believes it’s important to understand the context of how AI algorithms are developed and trained. “Because the technology is based on data and not human intelligence, sometimes the program can sound coherent, but it doesn’t provide any critically informed answers,” he says.

For now, generative AI can help fill the gaps and speed up the implementation of solutions within the software development lifecycle, but we will still need developers to drive appropriate experiences. “ChatGPT loses the ability to understand the human context of computing in order to program well,” says Conn. “Software engineers can add more details about the purpose of the software they are creating and the people who will use it. It’s not just a bunch of programs sprung up along with regurgitated code.”

Shanea Leven, Co-Founder and CEO of CodeSee, says, “Engineering requires a lot that AI can’t replace, such as context, which makes it nearly impossible for AI to load into a single model, train that model, and incorporate the predictive ability of humans. who understand what is going to be necessary in five years. There are many general decisions unique to different businesses that AI will simply never be able to handle.”

Also Read:  Master Python's datetime type | InfoWorld

Five years ago, I wrote a post asking: Can AI learn to code? Today, you can provide coding examples; tomorrow, AI models could help engineers answer questions about architectures and design patterns. It’s hard to see if AI can replace all the knowledge, innovation, and decisions software development teams make in creating enjoyable customer experiences and productive workflows.

A productivity tool as low code

Software development has many generational improvements in languages ​​and platforms. Many tools increase a developer’s productivity, improve code quality, or automate aspects of the delivery pipeline. For example, low-code and no-code platforms can help organizations build and modernize more apps, but we’re still coding microservices, developing customer-facing apps, and building machine learning capabilities.

Suresh Sambandam, CEO of Kissflow, acknowledges: “Just as low-code and no-code will not completely replace traditional software developers and engineers, OpenAI will provide useful tools that will eliminate repetitive tasks and speed time to market for development. Of applications”.

A paradigm shift is from keyword-based search tools to which they process natural language queries and respond with useful answers. Sambandam continues: “By entering queries in a simple conversational language, ChatGPT can automatically generate a standard model or suggested sample code for problems much faster than any developer can write and experiment with code from scratch.”

“We are going to see a tremendous change, not only in productivity, but also in how we get to our information faster,” adds Leven. “AI will allow developers to power repetitive decisions that engineers have to make, such as general questions about a language.”

Improving conversational apps

Developers should also consider how ChatGPT raises the level of user expectations. The keyword search box in your app that is not customized and responds with disappointing results will need an update. As more people are wowed by ChatGPT’s capabilities, employees and customers will expect AI search experiences with natural language queries and question-answering apps.

“Generative AIs hold great promise in the areas of search and customer service,” says Josh Perkins, Field CTO at Ahead. “These models demonstrate the reality of complex natural language search and contextual memory, enabling responses to even nuanced prompts in conversation without a customer service representative, quite reasonably and probably soon.”

Generative AI can also improve workflow and support hyper-automation, connecting people, automation, and AI capabilities. I think of smart health apps, where doctors can ask the AI ​​questions about a patient’s condition, the AI ​​responds with similar patients, and the app provides options for doctors that automate ordering procedures or prescriptions.

“Generative AI technologies have a great opportunity to be used to automate and improve various aspects of app development and customer experience design,” says Sujatha Sagiraju, Appen’s product manager.

But using generative AI to drive systematic changes to workflows isn’t easy. In the book Power and prediction: the disruptive economics of artificial intelligencethe authors contrast the difference between point solutions (such as finding code examples) with AI system solutions that will require more substantial transformations.

Sagiraju notes, “Generative AI still requires feedback from real people to make adjustments to ensure the model works accurately. The data and the humans behind these models will define their successes and failures.”

Select optimal domains and test responses for quality

So where can software developers take advantage of generative AI today? It’s easy to see its utility for finding coding examples or improving code quality. But product managers and their agile development teams need to validate and test their use cases before plugging generative AI into their app.

“The risk of unmanaged AI producing inaccurate or incomplete content can be annoying at best and incredibly expensive at other times, especially when used for customer service or to represent a company. brand,” says Erik Ashby, product manager. in Helpshift. “While there will initially be a temptation to let AI generate content on its own, like an unsupervised chatbot, brands will quickly realize that to manage this risk, they must employ a combined approach where humans and AI work together. together”.

ChatGPT is more than a shiny object, but like any new technology, developers and software architects will need to validate where, when, and how to use generative AI capabilities.

Copyright © 2023 IDG Communications, Inc.

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *