ShowMeBug’s Li Yafei: IDE and AI Programming Tech to Empower Super Programmers

ShowMeBug's Li Yafei: IDE and AI Programming Tech to Empower Super Programmers

Oral by Li Yafei

Interview and writing by Yu Ting

After the official announcement of the AI automatic programming software Devin, I invited three programmer representatives for a live discussion: Li Yafei, founder & CEO of ShowMeBug / Full Stack Engineer / Serial Entrepreneur; Shen Yang, Vice President of Lianyi Rong; and technical leader Huang Zhe-kang, Mr. K.

Interestingly, during this live discussion, I was surprised to find that Yafei and his team had actually made related explorations and developed the product 1024Code as early as last year.

If we follow the timeline, 1024Code can almost be called China’s Devin. In deep discussions with Yafei’s team, they believe that the product features and internal testing results of 1024Code can be considered as the country’s “first AI automatic programming software.” Of course, the technical logic and product ideas of 1024Code differ from Devin, which will be elaborated later.

Shen Yang also expressed his views during the discussion:

1. The release of Devin is a typical breakthrough of AI in the programming field. The AI Agent has a certain interactive ability with the outside world compared to past AIs. For example, ChatGPT initially had a chat function; however, analogously to humans, it lacks eyes, hands, and feet, thus “cannot do anything else.” Devin can now link with many tools, automatically find which tools are useful, actively read blogs, visit websites, and through continuous iterations of your intentions, achieve programming.

2. The entire AI initially landed in the AI programming field. It does not need to be associated with the physical world; in the programming domain, there are Github and many running programs that support forming a closed loop. From the request to propose requirements, to solving the needs, merging codes, and finally running, a closed loop is formed.

In fact, Shen Yang once approached Li Yafei with a request—to realize a Web IDE (which we will analyze “IDE” later). Many programmers used to write programs and documents locally, which includes several key steps in programming:

The first step may be chatting among a few people, generating collisions of ideas. This leads to product demands.

The second step is for the product manager to draw a prototype, confirm it with everyone, and the team develops it. The entire process is offline; although digitalized, it may be disconnected, and original materials may also be lost.

Based on online programming, tools like online design software, Figma, etc., combined together, realize a closed loop from demand to running. In this way, AI can cultivate a very good tool system.

Whether Web 1.0 or 3.0, the most important thing is to accumulate enough data to train AI.

Web/Cloud IDE is actually AI programming, or leading AI engineers to take the first step.

Huang Zhe-kang (Mr. K)’s viewpoint is:

Kevin was quite shocked by the realization of the engineering closed loop. Just like software development, the first step is to define the problem, confirm the requirements, and interact repeatedly. Devin first defines the problem, and after confirmation, it will try to connect to read documents, learn programming languages, and debug and develop using engineering methods. The entire process replicates the workflow of daily work, achieving AIGC.

If there is sufficient legal regulation, it can indeed realize AI agents in the programming field.

The advantage of Devin is that it has no emotions and does not make elementary mistakes. The downside is that it shows a bias towards engineering thinking, lacking philosophical reflection on products, and does not reach product thinking. Next, perhaps AI product managers will emerge as intelligent agents capable of solving philosophical thinking about products.

Below, I will organize Li Yafei’s thoughts comprehensively, hoping to inspire more readers. I also hope that if you have any different opinions, you can discuss them with me.

The following is the content organized from Yafei’s oral statement:

1. From “Engineering Efficiency” to Dialectical Thinking about Devin

Improving R&D efficiency and customizing related technologies has been our focus since 2019. My main job is to enhance “engineering efficiency.” The highest realm of engineering efficiency is fully automatic programming, assessing talent capabilities, and we have done some work from this dimension.

How can AI combine with the programmer field to create a new application? Or how to explore the changes AI brings to development architecture, I understand the innovation in the AI programming field as an L5 level fully automatic programming exploration.

The overseas software Devin is a team of more than ten people, and they claim to have released the world’s first AI software engineer.

I believe this is an innovation application trending towards L5 level. Last year, ShowMeBug explored a brand new underlying logic for programming capabilities. We developed the product 1024Code and specifically formed a small team to study the technology and system of automatic code writing.

1024Code uses 1024PaaS (full-stack self-developed cloud programming environment) as its core, with a general large model as its foundation, spending more than ten months to build a set of autonomous decision-making chain AI Agent (currently called AI mentor), providing programming environment perception, code editing, Shell, Console’s autonomous reading, running, and autonomous debugging. In simple terms, it is like installing hands and feet on the AI Agent, allowing it to autonomously complete the process from demand analysis to coding and debugging.

ShowMeBug's Li Yafei: IDE and AI Programming Tech to Empower Super Programmers[There is also Devin in the country! An exploration of L5 autonomous programming capabilities from domestic entrepreneurs – Bilibili] https://b23.tv/neb8Aoq

Outside of this work system, I see the direction is to self-develop a set of the best IDE in the cloud. Because you master the core technology, you can run faster and further later. In fact, after raising tens of millions, we have been planning this core engine.

Referring to the understanding of autonomous driving, let’s analyze the differences between L1 to L5 in automatic programming:

L1 is AI search that replaces a certain search capability. Intelligent search manifests as the ability to integrate and retrieve information, which cannot support human inspiration.

L2 exceeds 20%-30% of human thinking ability and has a certain inspirational effect on humans. It can be used in assistant and automation fields.

L3 can replace 50% of human work, automatically completing tasks.

L4 can complete 90% of human work.

L5 surpasses humans by 100%.

Starting from L3, AI can replace 50% of human work, completing tasks in an automated way. The automation level above L3 can liberate humans, allowing them to do other work.

Thus, there will also be discussions around the topic “programmers do not exist.”

2. AI Automatic Programming Depends on Who Runs Faster

Devin can perform well in replacing engineers rather than product managers. The specificity of the software field allows it to play a huge role in AI. Software engineering is objective, meaning each step of exploration has a correct answer, similar to solving math problems. Every step in software can be verified step by step as right or wrong.

In the application process of Devin, when a program runs into an error, by finding the erroneous code, the problem can be resolved. The ability of AI and ChatGPT is essentially a probabilistic action. In the field of AI programming, success at each step is equivalent to making a Commit, breaking down very difficult steps into multiple steps, each of which can be verified as correct or not, making it clearer than other engineering.

Devin performs excellently in acquiring tools, including connecting overseas search applications, with very good effects. It has a very good system and list for tool retrieval. With the help of tools, every step can be verified. For product managers, the product needs to undergo a lot of gray tests from practice to landing, and the quality of the product needs to be judged. Software engineers are currently the fastest application of AI progress.

The biggest drawback of Devin is that it is still a preview version. A friend who is a CTO of a company once felt that Devin was a copy of 1024Code at first glance. The interactive thinking system of Devin is very close to ours. Today, our visions for AI coding will definitely be realized; the key is when it will be realized.

Now it is about who runs faster? Step forward quickly and seize the opportunity.

3. Equipping Automatic Programming Software with “Hands” and “Feet”

If we must point out a second drawback of Devin, the current capability of the AI large model base is still not strong enough. The passing rate of the Devin SWE-bench test (solving specified 2000 problems) is only 13%, which is still weak.

1024Code can also achieve this level, but we believe this is not a high standard, so after 1024Code was developed last year, we did not feel comfortable doing a dedicated release.

ShowMeBug's Li Yafei: IDE and AI Programming Tech to Empower Super ProgrammersShowMeBug's Li Yafei: IDE and AI Programming Tech to Empower Super Programmers

Moreover, I have also discovered a core issue: no matter how hard you (these application layer agents like Devin) try, it is actually just adding a very complex decision chain on top of the large model (similar to the currently popular ReAct decision chain). But eventually, it may be found that all this is in vain; when the large model is upgraded from ordinary people to smart people, these will no longer be needed.

Therefore, the key is to equip AI software with hands and feet. What are hands and feet?AI software needs a closed loop, and the easiest closed loop is the set of programming environments (IDE) that programmers often use for work, or in the field of AI programming, called CDE (Cloud Development Environment). The development trend of CDE is ultimately the fusion of cloud programming + AI, which will be very simple, with no more than two or three steps like testing and publishing.

1024Code is currently in the invitation phase for public testing. Although it is an invitation-only system (you need an invitation code to register), we are not that strict. As long as experienced software engineers apply for an invitation code, we will provide it, and they can experience the features.

More importantly, we want everyone to feel the autonomous programming capabilities of AI. The goal of 1024Code is to be designed as an AI programming software with L5 level autonomous programming capability, which also has a set of decision chains to analyze the semantic and syntactic structures of project/program codes, compress information (some large models have limited context), decide which files to modify or add, and then enter the specific actions of updating the code.

Under the traditional large model assistant model, generating code requires you to find a place to write it in, which is quite cumbersome. 1024Code can autonomously locate and modify files based on CDE and complete the modifications within the CDE editor.

The decision chain involved is quite complex, but in fact, we have equipped the large model with hands and feet, making it more competitive than local IDEs.

ShowMeBug's Li Yafei: IDE and AI Programming Tech to Empower Super Programmers ShowMeBug's Li Yafei: IDE and AI Programming Tech to Empower Super Programmers

4. The Development Prospects of “Block Editing” and “CDE” Technology

My logical thinking is—there will definitely be a more friendly interaction mode between humans and AI. For example, in 1024Code, we believe that humans need to approve, and humans can directly modify the code, while AI can also modify its own code.

The current training cost of programmers is very high, complex, and scarce. When AI enters this industry, programmers will become an ordinary profession, making this profession a market with supply and demand balance in the future. This is a new interaction form that 1024Code and ShowMeBug can help create for the industry. Programmers’ energy will also be released.

Letting a four-day work schedule be compressed into a three-day work schedule or even further. My logic is that the programmer industry needs to improve productivity several times, similar to American society. This will drive the overall economic development of society.

For AI automatic programming, once you equip your hands and feet, wait for the large model capabilities to continue to strengthen, and the IT system to keep enhancing, ultimately forming a highly autonomous and efficient programming system.

If you want to implement IDE, you need to add one more point—compatibility with existing environments. A new concept is currently popular overseas—a CDE (Cloud Development Environment). It can also achieve compatibility with your privatized IT environment deployment. Gartner predicts that by 2026, 60% of cloud work development will use CDE for construction and deployment.

First, let’s talk about what a cloud IDE is. An IDE refers to a local integrated development environment, which includes a series of environments and configurations associated with what developers need when writing code. A cloud IDE is simply an IDE environment that can be run directly in a browser. However, there are many differences in the implementation of cloud IDE technology; different scenarios will have considerations for functionality trade-offs.

As time goes by, people are gradually realizing that merely moving the IDE to the cloud will not be simply accepted by users; it requires entirely new thinking and design. At the end of 2022, with Gitpod securing $25 million in Series A funding, the entire market entered a new era, redefining cloud IDE as CDE (Cloud Development Environment). I believe this term sums it up very well, so we will hereinafter refer to places originally called “cloud IDE” as “CDE” where more appropriate.

Speaking of CDE, we must start from the overseas market.

The first worth mentioning is Coder (https://coder.com/).

Coder started from open source (code-server) and allows developers to connect to any remote server using VSCode, evolving into a complete CDE (coder) environment development model. It is also a classic developmental model of the developer ecosystem. Its core positioning is to provide cloud resource configuration management and reuse for developers, who can still reuse their local development environment. The target profile is developers in actual development work scenarios.

PV 49,000, UV: 24,000.

It is worth mentioning that the three co-founders are particularly young, only in their twenties, but have been entrepreneurs for five years. They announced securing $30 million in 2022.

The second is the new product Gitpod in the CDE market.

They seem to understand developers better. Gitpod’s positioning is also to provide productivity tools for developers, replacing local development. Its growth is quite noticeable, and many open-source project hosting platforms have their shadow. The target profile: developers in actual development work scenarios.

PV: 673,000, UV: 150,000.

Current funding situation: The founder of Github led the latest round of $25 million.

For the technology of AI programming automation, you need to master the core autonomous technology in your hands. 1024Code advocates a concept—block editing. It means that from the beginning, you need to decide who is writing, but other systems cannot achieve this, including Devin. My thought is to make it more closed-loop.

When we were doing ShowMeBug, we also accumulated this technology, spending more than two years on it. This is a very core technology that can form a barrier.

The application scenarios of CDE are essentially a technology-driven company. The application of technology in what kind of places requires you to explore and determine yourself. We started from the perspective of capability assessment, verifying the programmer’s ability in interview scenarios. This is because we judged that this area is closest to commercialization.

The second scenario is programming education. An overseas company, Replit, currently has 20 million active users, with an activity rate exceeding 50%, valued at $1.2 billion.

The third area is AI automatic programming. There are tens of millions of formal programmers in China. Plus, the informal groups reach a total of 20 million. Saving half the manpower can achieve a market of ten million. In fact, Microsoft has been capturing the programmer group for 40 years, and previously promoted .net but was eliminated by history.

Now with AI support, it will give startups innovation power. However, the challenge lies in the early product requirements needing to break a critical value. This poses significant commercialization challenges.

The challenges of AI programming still lie in combining more fields; merely having Devin is not enough. The essential demand driving force does not come from the program itself but from product managers, clients, and projects, requiring a more complete closed loop.

In the future, the dialogues, documents, and even chat records in projects will form unstructured data, retained in the dialogue box. How to invoke an open-source tool to save 99% of the code, this capability can only be reflected through the cloud version. If it is a private deployment, all deployments must enable AI programming tools to understand the company’s system.

5. Changes in the Survival Environment of Software Engineers, Development Shift Left

AI’s understanding of the digital world or software process relies on RPA or API. However, in terms of API, the development process of domestic software is not very friendly. Domestic products have defects in standard interfaces and standard documents. It is challenging to smoothly connect two systems in China. Logically, simple and rough planning work should be completed by AI; however, AI is currently doing some relatively advanced work while humans complete the more basic manual labor.

In 1024Code, there are many designs that integrate manual and automated processes. The logic is to place humans in a relatively high position, allowing AI to do the work first, and humans to approve.

No matter how long programmers work, they are mostly dealing with business. The future direction of programmers’ evolution is to better integrate business language with programming.

Currently, the work of programmers can be divided into three categories: one is relatively low-level repetitive labor, mostly involving newly hired programmers, junior programmers, or students. The second category is passive acceptance of demands, implementing functional delivery. Some industrialized software development and programmers within enterprises belong to this category. The third category is the fusion of technology and business, where programmers create valuable products. A team of ten can produce a disruptive product.

After AI emerges, it may eliminate the first category of low-level repetitive labor programmers; partially replace the second wave of passive demand-accepting programmers, achieving some simple or complex functional programmers; and become assistants to the third category of programmers.

Programmers who truly understand technology and business will, with the help of AI, quickly realize their commercial ideas and validate them at low costs, which is the impact on the programmer community.

To embrace AI, if you can’t beat it, join it.

AI programming tools have already helped programmers achieve “development shift left,” meaning that in the entire development chain, programmers will increasingly move upstream of the value chain, understanding business, and realizing their ideas through AI, which is also the so-called commercialization of technology. Combining with creativity and industry is a capability that programmers should possess.

NVIDIA founder Jensen Huang once said that in the future, programmers will not exist; people only need to know Chinese and English. I input such remarks into ChatGPT; AI said that this is Huang’s promotion of their products, not written for programmers. Those who truly understand know that programming is not like this. This is a joke, but also a fact.

The emergence of super programmers and the scenarios of enterprise digital transformation may be the result of AI programming automation. If the ecosystem of the latter explodes, the demand for programmers will actually increase.

In China, programmers and AI will definitely coexist for a long time, and for a long time, it will be a collaborative relationship.

Reference Articles

Li Yafei “My Understanding and Prediction of Cloud IDE in 5 Years of Technology Entrepreneurship”

https://mp.weixin.qq.com/s/2Xz9p5WiPa3zigZdZih-tw

Zhang Hailong “Is Cloud IDE a Pseudoproposition?”

https://www.infoq.cn/article/dtkgop7ilvontssfpwrc

Wang Yawei “Autonomous Control Driven by Necessity: Looking at the Future and Business Model of Domestic IDE from Huawei’s Self-Research”

https://www.infoq.cn/article/d4613NRodWJEAXqRblEu

B Impact/TO B New Forces

Yu Ting

Independent Media in the TO B Industry

Douyin/Video Account: Sauce Fragrance Yu Ting
Reader Communication:

ShowMeBug's Li Yafei: IDE and AI Programming Tech to Empower Super Programmers

Leave a Comment