Sanvi

8 min read

"AI Practical Notes 1: AI Programming is Not a Gimmick, It's a New Productivity Tool You Should Master"

Actually, I had been writing an article about vibe coding for a while, but I didn't have much time to write because new products were constantly iterating without any issues. This article mainly summarizes my recent experiences with vibe coding.

Before we start, let me share my views on vibe coding. I have seen many technical people online who are very resistant to vibe coding, believing that AI-generated code is very chaotic, filled with a bunch of messy problems, and cannot run at all. I do not oppose this view; as of now, AI indeed cannot think like humans, given the limitations of context. Therefore, what it produces is likely to become increasingly chaotic to maintain.

The classic saying is that previously, it was manual labor creating a mountain of waste, and now it's just a truck dumping it all. I don't disagree with this statement; the essence of tools is to improve efficiency. However, if the previous output was garbage, then increasing efficiency will naturally lead to more garbage. Another perspective is that someone who doesn't understand code can create an app in an hour and then make money from it, subsequently selling tutorials. I often come across examples of certain fill lights on Xiaohongshu, where the e-books have sold quite well.

The same thing given to different people has different pricing, whether good or bad. My view on AI is: "Don't be the laundry worker of the era." After the washing machine appeared, it doesn't make much sense to insist on hand-washing clothes; it can basically solve 80-90% of the problems. Of course, if you feel it doesn't clean well and want to stick to hand-washing, that's fine; it's just a matter of ROI choice.

Vibe Coding

A currently popular saying is "vibe coding," which means you don't need to understand code; you can create your product through natural language conversations at will. However, this is actually a relatively false proposition because AI's understanding of intent and context is limited by the context. For example, if you work in a company, you may need to interface with different departments, and much of the business knowledge you will only gradually become familiar with after onboarding. This aspect determines that AI cannot replace humans; AI will always need operators. This is also why many companies like to establish some casual chat areas, so that employees can generate some optimizations or new ideas during casual conversations.

Of course, AI is not entirely useless. For instance, if you give a pile of documents to an intern, there's a high probability that they will only remember 1% of those documents, but AI can read through everything completely. That's the difference.

Here, I want to state a conclusion: if you don't understand technology, you cannot create sustainable products. Unless you won't iterate on the product, such as creating some one-time products with no iterations in functionality, this is very suitable for those who don't need to understand too much. I have seen many non-technical people on Twitter starting to use some AI coding tools, and without exception, those who do well eventually start learning technology, such as the basics of how to use Git.

Model Section

First, let me state a conclusion: for now, there is no need to consider any large models outside of Gemini, ChatGPT, and Claude. I know many large models are also impressive, but there is really no need to waste time learning how to make them better. It's like buying an Android or an iPhone; I see many people talking about Android's battery, AI features, etc. I have also done a lot of Android development over the years. If Android is to become user-friendly, it would require installing some features with restricted permissions, multi-instance apps, ad-blocking, etc. However, it requires you to spend a lot of effort, such as learning how to flash ROMs, root, and other specialized knowledge. For most people, my advice is to solve 80% of the needs with minimal effort.

ChatGPT (Mainly for Discussing Ideas and Concepts)

For example, 4.0 can quickly respond, 3.0 has thinking capabilities, and 4.5 is suitable for research and such. However, for most people, understanding their differences is too difficult. So, a straightforward approach is to first chat with 4.0; if it doesn't work, switch to 3.0, and if that still doesn't work, go to 4.5.

Because GPT has some memory functions, chatting with it will yield results that are more suited to what you are currently working on, rather than being like drawing cards. This makes it very suitable for discussing concepts. My usual practice is to chat with it about what product I want to create or what feature I want to add to my product until I have a rough idea and framework.

Gemini (Design and Analysis)

Here, we mainly talk about Pro. Thanks to its super long context, you can copy the results of your conversation with GPT over to it, allowing it to refine and detail the design plan. Then you can communicate with it to improve the plan and task breakdown. Sometimes, for difficult-to-trace bugs, design flaws, or other issues, you can use Gemini to analyze and formulate a repair plan.

Claude (Implementation)

The coding capability is basically monopolized; when it comes to coding, there's no need to consider any other models. If you want the results to align more closely with your vision, you can provide more specific tasks for it to implement, such as "do this" or "do that."

Tool Section

There are many tutorials and tools online; here I will mainly mention the ones I commonly use.

Cursor

I have been using Cursor since I received a one-year subscription from Lenny. Cursor is mainly used for commits and analysis; I have been using it less for writing code lately. Currently, I use its Gemini-Pro-2.5 more for technical plans and task breakdowns. Because of its long context, it can easily read and analyze the entire project, and then we can use good prompts to output the plans and tasks we want, which are then handed over to Claude for development.

Claude Code

The reason I use Cursor less now is because of Claude Code. Claude Code has been praised online, but you can also see complaints about its intelligence reduction. A classic response from Claude Code is "You're right." The most important reason is that you don't have to worry about tokens because it is currently burning money to acquire users. For example, I subscribed to a $100 plan, but this month I have already spent nearly $1,000 on tokens. I previously saw news about someone spending $200 and using $20,000 worth of tokens, which led to many restrictions being implemented. The earlier you use it, the better the effect.

Additionally, do not use any intermediary services. For example, some websites may have shared accounts; the problem with intermediaries is instability. Service providers use $200 to extract $20,000 worth of tokens, and for AI model vendors, risk control leads to account bans. This means that the accounts in the service provider's pool may not be able to supply you in time, resulting in continuous errors. Try to use the official services; if that doesn't work, then consider third-party options.

Experience Section

I have already mentioned some points earlier; here I will talk about some techniques used in the actual process.

How to Make UI More Aesthetic

Go to design websites like Dribbble to download some style images you want, then give those images to Claude and tell it to convert them into a JSON file based on the style. In the subsequent iteration process, introduce this JSON file, and it will plan according to the style you want. However, it may not always be precise, so if you notice discrepancies, you can refer to already implemented pages and let it optimize based on the JSON and those pages.

AI Getting Stuck in a Loop

Sometimes AI will keep revising a problem, getting a bit stuck. At this point, check your context length. If it's insufficient, tell it: "Summarize our previous conversation; I need another AI to take over your work." Then start a new chat, providing the summary and any other adjusted information as new context.

If the context has more length, you can say: "Currently, this plan has issues; think of a different approach and give me another plan."

Long Tasks Not Running

This situation generally arises due to the length of time it takes to write and the distortion of information from constant summarization. In this case, we should help it break down tasks. You can refer to what I mentioned earlier, using Gemini to break down tasks, and when implementing, tell it one by one, asking it to check with you after completing each task to see if it should proceed to the next.

Prompt Enhancement

Usually, when we input natural language, we do not produce satisfactory results. At this point, you can take your language and give it to another AI (like ChatGPT), telling it that you want another AI to implement it. Ask it to optimize your prompts to make the implementation more precise. After GPT optimizes it, send it back to Claude, and you will find the results quite good.

Careful Thinking and Planning

Sometimes we can't always follow the sequence of A, then B, then C, just like in traditional work where we hold meetings, produce PRDs, discuss technical solutions, break down tasks, implement, test, and go live, etc. So here’s a simplified way to say it: when you ask Claude Code to execute, say, “Think carefully about xxx and develop a plan with detailed test coverage.” This way, the AI will actively trigger the Thinking mode and Plan mode, and it will also write test cases for coverage.

Writing Prompts

For some functions, we can achieve results using fixed prompts. For example, when discussing my coding style, technical solutions, or task breakdowns, we can provide the requirements to GPT, let it help me write the prompts, and then copy the prompts into the input box. After that, I can input natural language myself, and this will yield the results we want.

Others

Nowadays, many online products and models are hyped up as replacements for xx, but in reality, they may not have been used at all; they just conducted a very simple evaluation. For us, we hope for a product that is genuinely easy to use. Therefore, I plan to create another collection to write about some daily experiences and introductions related to AI products.