Who Says AI Programming Can Only Develop Toys? How to Handle Large Projects?

Hello everyone, I am Xuanyuan.

For the past few months, I have been using AI programming for development.

Many people have left messages on my public account: AI can develop small tools, but how do we handle large projects?

Who Says AI Programming Can Only Develop Toys? How to Handle Large Projects?

I believe this is a particularly worthwhile topic to write about, as it is key to whether we can effectively utilize AI as a powerful tool.

A month ago, I started writing a column on Knowledge Planet, sharing my accumulated experiences in AI programming without reservation, and received a lot of positive feedback:

Who Says AI Programming Can Only Develop Toys? How to Handle Large Projects?

Recently, many students have been asking me questions in this area, so I will share the first article of the column for free.

The first article is: How to Deconstruct a Project.

First, let me define what I mean by a large project: it refers to projects that include both front-end and back-end, with many code files, involving multiple languages, and a total code volume exceeding 10,000 lines.

Don’t underestimate 10,000 lines; in fact, a lot of functionality can be written with that amount. My EasyTshark code volume is about this level.

Who Says AI Programming Can Only Develop Toys? How to Handle Large Projects?

When developing small tools, due to their simple functionality, we can directly describe all requirements with a single prompt.

Of course, to help AI understand better, I recommend using bullet points like 1, 2, 3 to clearly describe each specific functional requirement; this will yield better results.

However, when developing large systems with numerous functionalities, we should not expect a single sentence to get AI to handle everything directly; it is likely to fail.

Who Says AI Programming Can Only Develop Toys? How to Handle Large Projects?

At this point, it is crucial to deconstruct the project.

Setting aside AI programming, deconstructing a project is also a fundamental skill that a software architect must possess.

Many friends have asked me how I know how to implement a certain function; where does this ability come from?

Honestly, this ability is honed gradually through work experience.

New graduates may know C language, operating systems, and algorithms, but if they have never worked on a real project, they might be confused when given a project.

Therefore, for many people, the first few years of work are about accumulating this capability; observe how your team leader digests a project.

Specifically, when a project comes in, how do you choose the technology stack? What framework do you choose for the back-end, Python’s Flask or Java’s Spring Boot? What are the decision-making criteria?

What database do you choose, a relational database or a non-relational database? What about the message queue?

After working on several projects and interacting with various frameworks, databases, and middleware, you will have a general understanding of their characteristics, and the next time you encounter new business requirements, you will know how to handle them.

Who Says AI Programming Can Only Develop Toys? How to Handle Large Projects?

Alright, back to our AI programming.

When encountering larger projects, the first step is to plan the project architecture. Generally, it can be planned in layers; the simplest model can be divided into three layers:

1. Data Storage Layer. What data does your project need to handle, and what frameworks and middleware will you use to store this data?

2. Business Logic Layer. What is the core business logic of your project, what is the general process, and does it need to be split into multiple business subsystems?

3. User Interaction Layer. How does your project interact with users? Is it a client software, a web application, or an app? What functional pages are there?

Who Says AI Programming Can Only Develop Toys? How to Handle Large Projects?

Going into more detail, the following questions arise:

1. What functional units does the entire website have, and how does the data flow between these units?

2. What language does the back-end use, Java, Python, or Node.js?

3. How is the database designed? What tables are there, what is the table structure, and what business fields are included?

4. What is the general workflow of the core functional module?

5. What is the account system? Should it be built independently or integrated with third-party logins (like WeChat login)?

6. How is file storage handled? Is it stored locally or using OSS?

7. Are there high performance requirements? Should the database table design consider indexing issues?

Before officially starting work, it is best to plan and design these questions in advance, and then use AI programming tools to implement your design blueprint.

It is best not to let AI add code wherever you think of it; this will definitely lead to a disaster with a large codebase.

Who Says AI Programming Can Only Develop Toys? How to Handle Large Projects?

Some may ask: Why do I have to think about these technical issues? Can’t AI help me think of them?

My answer is this:

AI can indeed help you think, but at the current stage of AI programming development, the solutions it provides are likely to differ significantly from what you want.

Or many of your potential ideas may not be expressed initially, and AI may not grasp them. When you want to add them later, you may find that the solutions provided by AI are completely unworkable.

In extreme cases, major changes may be required, or you may have to start over, which would be a nightmare.

Therefore, if you only provide business requirements without caring about technical content, you may end up with a mess of code that you cannot manage.

Perhaps in the future, AI will develop to the point where you only need to provide business requirements, and it will handle everything else, but that is not the case now.

On the contrary, if the overall technical solution is designed by you, then AI is just building on the framework you have established. Whenever something seems off, you can quickly intervene, and you and AI can collaborate to complete the project development.

Once the technical framework is set up, the next step is to gradually guide AI to develop and implement it.

In the next article, I will share a specific case of how to start from scratch and let AI develop a project.

I wonder if everyone is interested in the topic of AI programming. If you are, please give me a thumbs up below to let me know~

This series has already been updated to the third article on Knowledge Planet, and the entire series is initially planned as follows:

  1. How to Deconstruct a Project
  2. Actually Hands-On with the First AI Programming Project
  3. How to Remove the AI Flavor from AI Programming
  4. How to Quickly Handle Back-End Development with AI Programming
  5. How to Deploy Your Project Online for Free Without a Server
  6. How to Enable Third-Party Login Support (Google, GitHub, WeChat) for Your Project
  7. How to Integrate a Payment System into Your Project
  8. Sharing My First Commercial AI Programming Product

In the meantime, I will add some other related content based on everyone’s feedback and needs. Welcome to join Knowledge Planet and learn AI programming together!

Finally, I would like to recommend my Knowledge Planet. Currently, there are courses such as “Learning Reverse Engineering from Scratch,” “C/C++ Packet Capture Software Development,” and “Six-Hour Quick Start to C/C++ Programming,” along with a wealth of technical Q&A and learning path guidance. Feel free to join and learn. Additionally, if you are interested in “VMProtect Virtualization Reverse Engineering,” please add me as a friend to sign up for the course.

Who Says AI Programming Can Only Develop Toys? How to Handle Large Projects?

Previous Recommendations

  • I developed a lightweight and easy-to-use packet capture software based on the Wireshark kernel, only 20MB!
  • A magical website: Online version of “Wireshark”!
  • I developed a personal website using Claude Code!
  • After two months, I developed a semi-automated reverse analysis tool for VMProtect!
  • How to learn operating systems?
  • How to learn computer networks?
  • How to learn C/C++ programming?
  • How to learn network security?
  • The programmer’s path is too competitive; how about reverse engineering engineers?

Leave a Comment