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 processAIGC 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 Communityhttps://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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



The article introduces the operation of MySQL database. First, you need to install a MySQL client, such as MySQLWorkbench or command line client. 1. Use the mysql-uroot-p command to connect to the server and log in with the root account password; 2. Use CREATEDATABASE to create a database, and USE select a database; 3. Use CREATETABLE to create a table, define fields and data types; 4. Use INSERTINTO to insert data, query data, update data by UPDATE, and delete data by DELETE. Only by mastering these steps, learning to deal with common problems and optimizing database performance can you use MySQL efficiently.

In order to set the timeout for Vue Axios, we can create an Axios instance and specify the timeout option: In global settings: Vue.prototype.$axios = axios.create({ timeout: 5000 }); in a single request: this.$axios.get('/api/users', { timeout: 10000 }).

There are many reasons why MySQL startup fails, and it can be diagnosed by checking the error log. Common causes include port conflicts (check port occupancy and modify configuration), permission issues (check service running user permissions), configuration file errors (check parameter settings), data directory corruption (restore data or rebuild table space), InnoDB table space issues (check ibdata1 files), plug-in loading failure (check error log). When solving problems, you should analyze them based on the error log, find the root cause of the problem, and develop the habit of backing up data regularly to prevent and solve problems.

Efficiently process 7 million records and create interactive maps with geospatial technology. This article explores how to efficiently process over 7 million records using Laravel and MySQL and convert them into interactive map visualizations. Initial challenge project requirements: Extract valuable insights using 7 million records in MySQL database. Many people first consider programming languages, but ignore the database itself: Can it meet the needs? Is data migration or structural adjustment required? Can MySQL withstand such a large data load? Preliminary analysis: Key filters and properties need to be identified. After analysis, it was found that only a few attributes were related to the solution. We verified the feasibility of the filter and set some restrictions to optimize the search. Map search based on city

Remote Senior Backend Engineer Job Vacant Company: Circle Location: Remote Office Job Type: Full-time Salary: $130,000-$140,000 Job Description Participate in the research and development of Circle mobile applications and public API-related features covering the entire software development lifecycle. Main responsibilities independently complete development work based on RubyonRails and collaborate with the React/Redux/Relay front-end team. Build core functionality and improvements for web applications and work closely with designers and leadership throughout the functional design process. Promote positive development processes and prioritize iteration speed. Requires more than 6 years of complex web application backend

MySQL performance optimization needs to start from three aspects: installation configuration, indexing and query optimization, monitoring and tuning. 1. After installation, you need to adjust the my.cnf file according to the server configuration, such as the innodb_buffer_pool_size parameter, and close query_cache_size; 2. Create a suitable index to avoid excessive indexes, and optimize query statements, such as using the EXPLAIN command to analyze the execution plan; 3. Use MySQL's own monitoring tool (SHOWPROCESSLIST, SHOWSTATUS) to monitor the database health, and regularly back up and organize the database. Only by continuously optimizing these steps can the performance of MySQL database be improved.

MySQL database performance optimization guide In resource-intensive applications, MySQL database plays a crucial role and is responsible for managing massive transactions. However, as the scale of application expands, database performance bottlenecks often become a constraint. This article will explore a series of effective MySQL performance optimization strategies to ensure that your application remains efficient and responsive under high loads. We will combine actual cases to explain in-depth key technologies such as indexing, query optimization, database design and caching. 1. Database architecture design and optimized database architecture is the cornerstone of MySQL performance optimization. Here are some core principles: Selecting the right data type and selecting the smallest data type that meets the needs can not only save storage space, but also improve data processing speed.

Detailed explanation of database ACID attributes ACID attributes are a set of rules to ensure the reliability and consistency of database transactions. They define how database systems handle transactions, and ensure data integrity and accuracy even in case of system crashes, power interruptions, or multiple users concurrent access. ACID Attribute Overview Atomicity: A transaction is regarded as an indivisible unit. Any part fails, the entire transaction is rolled back, and the database does not retain any changes. For example, if a bank transfer is deducted from one account but not increased to another, the entire operation is revoked. begintransaction; updateaccountssetbalance=balance-100wh
