Home  >  Article  >  Technology peripherals  >  AI coding, is it a real need or a gimmick?

AI coding, is it a real need or a gimmick?

WBOY
WBOYOriginal
2024-06-02 10:15:471083browse

AI coding, is it a real need or a gimmick?

Guest | Xu Xiaoqiang

Interview|Written by Zhang Xiaonan

## | Produced by Li Meihan

| 51CTO Technology Stack (WeChat ID: blog51cto)

Since the popularity of generative AI, AI seems to have "struggled" with the role of programmers.

Almost every once in a while, the topic of whether AI programming tools can replace programmers will be discussed again.

The heated discussion aroused by AI programming makes people confused: Will this set off a productivity revolution in the field of programming? Or is this another over-hyped stunt?

Thanks to AI programming, Baidu has achieved a 10% improvement in human efficiency. Today, 27% of the new code submitted by engineers was generated by AI. The pioneers of this answer are the major manufacturers who are exploring this answer.

However, As the architect of Baidu Comate and the first user of this product, Xu Xiaoqiang is very opposed to the statement that "developers will be replaced by programming tools." His work experience in R&D and architecture convinced him that human decision-making and innovation are of irreplaceable value.

"Tools help humans do better, and the tools themselves are not used to replace humans." He expressed this view many times in interviews, "Human decision-making And innovation capabilities are always better than models.”

However, he also keenly noticed that with the intervention of AI, the field of software engineering is indeed undergoing some fundamental changes. The boundaries of roles in the R&D process are blurring, and a new paradigm era in which developers and AI work together is about to come.

As an in-depth user of Comate, Xu Xiaoqiang shared many of his methods and experiences in using programming tools during the live broadcast. He suggested that users should practice this tool as much as possible to achieve " Practice makes perfect.”

The outcome of AI programming envisioned by Xu Xiaoqiang is far-reaching and great. After a qualitative leap in programming tools, he hopes that people can develop collaboratively with AI in a more equal and more conversational way, and even interact directly at the level of consciousness beyond language, in order to achieve the goal of "everyone is The ultimate blueprint for programmers.

The following are the key points of the interview:

  • Currently, AI programming products are continuing to improve product capabilities horizontally and vertically in response to More “real needs”.
  • Auxiliary programming tools cannot replace developers. The purpose of tools is to better collaborate with people, thereby enhancing people's abilities.
  • The boundaries of AI capabilities: There are still huge shortcomings in in-depth understanding of information, multi-modal information processing and innovation capabilities.
  • The Software Engineering 3.0 era will be a new paradigm era in which humans and AI work together. The R&D process will be reconstructed and requirements engineering will become the core.
  • Privacy and copyright issues in AI programming require a "double-pronged approach" at both the technical and legal levels.
    Conversation will become the main interaction method of AI programming tools in the future, and programming products will cover from R&D scenarios to non-R&D scenarios.

The content of the interview is as follows:

1.AI completed 27% of Baidu’s new codes, programming tools solve the problem "Real demand" requires users to explore more

AIGC Practical School:There is now an argument that AI programming may subvert programming and programming to a great extent Regarding the position, this view also caused some panic. But on the other hand, many people will find that programming with AI is far less efficient than we imagined.

Is the huge popularity of AI programming due to demand, or is it a gimmick?

Xu Xiaoqiang: Let’s put aside these opinions and look at the current facts.

First of all, although the popularization and acceptance of AI programming tools will take time, the market popularity of AI programming is obvious to all, and more and more implementation cases and commercial value will appear.

Secondly, AI programming products will continue to evolve to respond to more “real needs.” Taking our own product Comate 2.0 as an example, we are constantly working hard to improve product capabilities from both vertical and horizontal dimensions.

Horizontally, we hope that AI programming can cover a wider range of research and development scenarios. For example, RAG technology can be used to deeply understand projects and codes, thereby improving research and development efficiency in a variety of scenarios. Vertically, we hope that AI can penetrate deeply into a certain industry or a certain scenario.

Finally, the effectiveness of AI programming tools may vary between individuals and organizations. Users need to develop usage habits and find a fit with the tools. In order to better cooperate with AI tools, users should clearly describe their needs and treat AI as a personal assistant who answers all questions and continuously explores and interacts with them.

In addition, there are many developers who can use AI programming as a learning tool to understand unfamiliar languages, frameworks and code implementation ideas, and even inquire about implementation details in depth.

It can be said that improving AI efficiency in the field of programming is not a gimmick. Since the rise of large model technology, Baidu has achieved a 10% improvement in human efficiency. 27% of the codes submitted by engineers are generated by AI, and the user adoption rate has reached 46%. Now, 80% of Baidu engineers use AI tools to assist development.

Furthermore, engineers feel the changes brought about by the new generation of tools, which not only improves work efficiency, but also increases happiness at work.

AIGC Practical School: When using AI programming, is there any way to better utilize the potential of the tool?

Xu Xiaoqiang: I think we still need to try more. Gradually you can find the feeling: in what scenarios, AI can do things faster than humans. Through the accumulation of such scenarios one by one, the tool will gradually achieve the results you expect.

AIGC Practical School: Just now you mentioned that 27% of the codes added by Baidu every day are generated by Comate. So some people are worried that when their company's R&D team uses more AI programming tools, will it lead to layoffs?

Xu Xiaoqiang:At the beginning, we were also confused and worried that this would happen. But with a deeper use and understanding of AI programming, I realized that improving efficiency is not about letting tools replace humans, but about allowing tools to collaborate better with humans, thereby enhancing human capabilities.

At present, AI has not yet developed to the stage where programming and the profession of developers can disappear. However, just like the birth of the automobile for coachmen - even if one day reaches this stage, there is no need to worry too much.

2. The value of human decision-making and innovation will last forever, and programmers don’t have to worry about being replaced

AIGC Practical School: To what extent can we place our hope in AI programming tools, and will there be limits to the capabilities of the tools?

##Xu Xiaoqiang: To talk about the boundaries of AI programming capabilities, I think we must first look at the core advantages of the tool. I think it is mainly in tasks with these three characteristics: highly repetitive, simple, and trivial.

Correspondingly, in scenarios that require creativity, decision-making, and complexity, AI capabilities cannot meet excellent standards. I think its capabilities are mainly limited by the following aspects.

First, the model itself does not understand the information deeply enough. Even though we have larger models, our understanding of the code is still not good enough. I believe that code is a carrier with low information density. Its birth is not to serve models and machines, but to find a balance between human and machine language. Therefore, AI cannot grasp the overall situation with code, which will greatly weaken the accuracy of decision-making.

Second, humans store and transmit information in various ways, but AI has limited ability to understand multi-modal information such as flow charts and class diagrams. This is also a very popular research direction at the moment.

Thirdly, starting from the principle of the model, as a probabilistic model, the output of AI is limited by existing knowledge and lacks creativity. It is difficult for ordinary users to adjust AI prompts (prompts) by themselves, requiring the intervention of professional roles such as prompt engineers.

Finally, AI’s understanding of professional domain knowledge is still shallow, and both private domain knowledge and professional domain knowledge need to be further strengthened.

Based on the above factors, there are limits to the performance of AI in certain scenarios. Humans are needed as a bridge to analyze specific problems and decide which tasks are best completed by AI and which ones are better completed by ourselves. This is one area where humans will always outperform models.

AIGC Practical School: Suppose there is a person who does not have programming skills. If he uses powerful enough auxiliary programming tools, can he do it? What about implementing what some programmers are doing?

Xu Xiaoqiang: I think this effect has been achieved to a certain extent.

AIGC Practical School: But really creative and challenging code work still needs to be done by programmers?

Xu Xiaoqiang: Yes.

AIGC Practical School: From this perspective, programmers don’t need to worry about being replaced.

Xu Xiaoqiang: Yes. I think you don't have to worry about this at all.

3. Moving towards the Software Engineering 3.0 era, AI collaborative work will reshape the R&D process

AIGC Practical School: Now, many people will mention the word "new paradigm of software engineering". What changes will occur to software engineering under the impact of AI? How should practitioners view and respond to these changes?

Xu Xiaoqiang: Yes. The concept of software engineering 3.0 has become more popular recently, although I think it is only the starting point of reaching the 3.0 era.

Looking back at the evolution of software engineering paradigms, software engineering in the 1.0 era truly standardized software development and team collaboration processes. However, this method is not agile enough in actual development, and the delivery process is not smooth enough. Entering the 2.0 era, development has become agile and infrastructure has been continuously improved. Represented by cloud computing and SaaS, major changes have taken place in the way of thinking and product form compared with the 1.0 era.

As for the 3.0 era, I don’t think we have entered a stage of tool-driven change. The potential of large models (LLMs) in various aspects allows them to act as catalysts rather than leading changes. In the past, it was unrealistic to provide each developer with a role to work with, but today, we are in the era of a new paradigm of working with AI.

AI collaborative working method can bring us work improvements in the following aspects: First, AI can simplify the operational steps in actual work.

Secondly, AI reduces my cost of switching tasks, allowing me to rely on it to complete tasks such as asking questions, familiarizing myself with projects, understanding and finding information, etc. within one interface. It is like my Right arm. Currently, our collaboration with AI is still in command mode, but in the future AI may be able to do more, such as simple decision-making tasks, etc. Only in this way can we achieve a truly new model of human-machine collaboration.

With the intervention of AI, the field of software engineering is indeed undergoing some fundamental changes. The R&D process will be restructured, and requirements engineering becomes the starting point and end point of delivery. The upper limit of functionality of the current version may be the starting point of new requirements, continuously promoting product iteration.

At the same time, the emergence of AI has also blurred the division of roles. Now, product managers may use large models to quickly generate prototypes and assume part of the development work. Similar dynamic capabilities help the team understand and evaluate product concepts more intuitively.

I believe that changes in human-machine collaboration and delivery models, as well as changes in the entire chain, will jointly promote the evolution of software engineering.

AIGC Practical School: I mentioned just now that the 3.0 era has not officially begun. In this transitional stage, will there be some New key role?

Xu Xiaoqiang: Yes, we have noticed some new changes. For example, there is a relatively popular new position recently - prompt engineer. This position didn't exist before, it actually evolved from an R&D or product role. This shows that with the integration of AI, the requirements for original positions are being updated, and more specialized subdivisions are also being formed, allowing people with these skills to play greater value.

AIGC Practitioner: How will new characters join the company? Is it generated within the company, or does it need to be achieved through recruitment?

Xu Xiaoqiang: I think that for the development of native AI applications, prompt engineers are an indispensable option. missing role. However, from the current perspective, this role is too new and it is difficult to find experienced candidates on the market. Therefore, we often fill this role through internal transfers, such as from R&D or product managers. During the transformation process, we will refer to other excellent practices and accumulate successful practices.

In addition, we will also provide support at the tool level. Within Baidu, in order to support the operation of the entire link, we have developed a series of tools, such as Comate stack, Playground, etc.

AIGC Practical School: Just now you said that AI has created new jobs, which is eye-catching, but when the conversation changed, in fact, We have many product functions that can fill the needs of these positions... (Does it mean that no new positions have been created?)

Xu Xiaoqiang: That’s not true. I think tools help humans do better. The tools themselves are not used to replace humans.

4. The solution to privacy and copyright issues requires a two-pronged approach of technology and law

AIGC Practical School: Last year The AI ​​programming tool launched by GitHub encountered a lawsuit. AI wrote a piece of code, but this code proved to be not original. The lawsuit revolved around infringement issues. How should we avoid such problems when using programming tools?

##Xu Xiaoqiang: This is a very new issue, and there is a lack of sufficient reference in terms of legislation and jurisprudence. I think this is actually a problem on two levels. The first level of problems is technical issues, and the second level is legal issues.

On the technical level, there are many technical solutions, mostly for defense. We work to ensure the reliability and compliance of our technology, such as identifying and avoiding the distribution of copyrighted code snippets when training models. From the product level, it is necessary to ensure the compliant transmission of data and ensure the data and privacy security of the user interaction process.

From a legal perspective, legislation is needed to solve related problems and protect the interests of the majority of people. In fact, there have been some actions among the private sector. This year, as a core member of the generative large model intelligent development standard, we have compiled regulations related to large model principles and data security. Therefore, there is reason to believe that in the near future, the entire legal aspect will be more complete and well-founded, providing support for the development of the industry.

AIGC Practical School: What Teacher Xu said is very enlightening. The issue we discussed just now is not in the era of large models. unique. Because large models have received a lot of attention, and some people are still skeptical about AI programming technology, the (negative impact) of individual cases may be amplified.

Xu Xiaoqiang: Yes.

5. The end of AI coding needs qualitative changes, and will usher in a more equal and natural way of interaction

AIGC Practical School: As AI programming tools continue to develop and evolve, what will iterative tuning look like in the end? We are curious about the so-called ultimate form of AI coding.

##Xu Xiaoqiang: In the long run, I think the end result will be very qualitatively different from the current product.

The first is the change in the way of human-computer interaction. At present, our interaction is mainly through keyboard input. I actively provide information to the machine and let the machine analyze and understand my intentions. In the future, it will be a completely new experience whether we can interact in a more equal and conversational way, or even directly at the level of consciousness beyond language.

Second point, I have just mentioned some ideas, that is, changes in information carriers in the future may make the concept of code no longer necessary. I believe that new forms of models and their surrounding applications will emerge in the future. These applications will run on top of the models, and the interaction between users and AI will no longer rely on the transmission of code or data. Thus moving towards the ultimate goal of "everyone is a programmer".

Imagine a scenario where I need to generate an application for inviting friends to a party. I only need to simply express my needs in one sentence, and AI can create it for me. Send this app so friends can reply directly whether they want to attend, along with their thoughts and gift choices.

Back to reality, this ideal state is still relatively far away.

AIGC Practical School: What are the next plans for this product?

Xu Xiaoqiang: I have two main expectations for the development of Comate. First of all, we hope to expand it to cover more R&D scenarios and even apply it to non-R&D scenarios, thereby helping various roles improve efficiency in collaborative work between development and software engineering.

Secondly, I also hope that Comate can provide more in-depth support for demand analysis during development in the vertical development field. It helps everyone get started more easily, quickly reach proficiency level, and obtain better results during use.

To learn more about AIGC, please visit:

51CTO AI.x Community

https://www.51cto.com/aigc/

The above is the detailed content of AI coding, is it a real need or a gimmick?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn