2023年03月27日

Exploring AI Technologies That Could Radically Change Coding

カテゴリー:テクノロジー

タグ:AI

Knowledge_seci_model

GitHub Copilot was introduced in 2021, and since then, AI-assisted development services have evolved rapidly. At the moment, there are a variety of services that use ChatGPT, and many new experiments are being made.

In this article, we will introduce what changes are taking place with AI technology and the advantages and disadvantages of these changes.

Types of AI Development Support

Most of today’s AI technologies are not general-purpose, but are provided in specialized forms. As a result, there are different products for different areas of development.

GitHub Copilot

GitHub Copilot is a programming assistant that works with VS Code. When you write a comment, it will code according to the comment, and when you write a method, it will suggest the code within the method. This is similar to auto-completion, but at a much higher level because it reads the context before and after.

A similar product is Tabnine.

These advanced technologies are often included in VS Code, but for Visual Studio there is Visual Studio IntelliCode. This is currently in beta and can be used on a trial basis upon request.

Test Code Generation

There was an extension for VS Code called vscode-chatgpt that is now closed. This was an extension that allowed users to select code to generate unit test code and provide function explanations.

Definition Jumps

When using the IDE, we often jump to where a function is defined, but qqbot allows us to do this more intelligently. It is interactive and allows you to explore and implement code while interacting with the AI in the IDE. It is difficult to find test code or defined sections in large software, but qqbot allows you to explore while interacting with the AI.

They are currently looking for testers.

Base Code Generation

FlutterPrompts is a site that collects ChatGPT prompts for generating code for Flutter applications. By mimicking the prompts posted here, you can get the Flutter app code you expect. If used well, you can greatly reduce the amount of coding for your Flutter apps.

In addition, Microsoft has implemented Copilot in PowerApps. This means that users can write the text-based content of the app they want, and ChatGPT will automatically build the app for them. Since it is a no-code tool, the output will be at a level where the base app can be used as is.

SQL Generation

When programming, it is very difficult to write correct SQL. Strings suddenly get mixed in with the programming code, making the entire view difficult to see and maintain. This is why O/R mappers have emerged, but there is a strong need to execute more optimally tuned SQL.

Chat2Query is a function that uses ChatGPT to generate SQL. Of course, it is necessary to check if the SQL is correct or not, but it seems to generate generally appropriate SQL.

About the future

The CEO of GitHub says that 80% of code will be generated by AI in the future (currently 40%). GitHub Copilot is just a simplification and optimization of this process. With more advanced performance, it’s no wonder that coding can be done almost without modification.

And in the no-code world, the hassle of building apps by hand will be eliminated, as will the freedom to build apps with AI running internally, as is the case with PowerApps. Vendors will be able to automatically generate their own apps without having to provide templates.

Benefits for developers

The benefit for developers is that coding will be faster and of better quality. In fact, once you start using GitHub Copilot, you won’t want to stop. It can also be used as a learning tool, as you may discover library usage or coding techniques you didn’t know about.

In addition, AI-based tools can automate repetitive code writing. The reduction in similar tasks alone is worth implementing an AI-based coding assistance tool.

Downside

The riskiest aspect of AI-based code generation is that the copyright of the code is uncertain; GitHub Copilot learns based on open source software, but its license is a mixed bag. Of course, GitHub has measures in place to prevent this, but if there is GPL or LGPL code in the mix, you may end up having to release your own software code.

Some people also say that by using GitHub Copilot, etc., the code they write (for clients, etc.) could be uploaded to the cloud. There is also talk of adding keys like private keys, but that is supposed to be a string like the one Copilot generates itself.

The final drawback is that the programmer is ultimately responsible for the use of the generated code and SQL. Even if there are errors, they cannot be blamed on the AI. It is still up to the human eye to review the code and determine if it is correct.

The bottom line

While GPT-3 is attracting a lot of attention, the development of GPT-4 has already appeared and is advancing day by day. There is an option not to use this type of tool, but I feel that it is similar to the open source software of the past. Even then, there were companies that did not use open source software, but you rarely see that today.

Some people are concerned that AI will take away the jobs of programmers, but we cannot change the trend of the times. Since it’s not something you can say no to, why don’t you try it and experience it for yourself?

役に立ったら、記事をシェアしてください