MaHui Entrepreneur | Meshy AI Founder Ethan Yuanming Hu: When 10 AI Agents Took Over My Job, I Finally Became a Real CEO

The scariest part is, AI is accelerating its own rate of iteration, taking off at a speed humans can't match.

From ChatGPT's "prophet moment" to the full overclocking of the Agentic era, AI is democratizing code and dissolving silos at an unprecedented pace. In this whirlwind AI surge, what we see is not merely the exponential growth of model parameters, but a deep restructuring of business logic and software paradigms. On both sides of the Pacific, everyone is being transformed by this silent AI revolution — and this transformation will continue to shape every individual, and even the course of human history, for the foreseeable future.

Right now, if you stood on a street in Silicon Valley — the epicenter of AI — you could feel a trembling sense of "overclocking": App walls are crumbling, and old commercial sovereignty is changing hands with the explosion of Agentic Models. In this paradigm shift reshaping the physical world, entrepreneurs no longer face algorithmic fine-tuning, but a reconstruction of the very laws of survival.

Today's article comes from Ethan Yuanming Hu, an AI founder based in Silicon Valley and member of MaHui, whose company Meshy AI is a portfolio company of the network. The full text follows:

We live in an era of radical transformation. In the first thirty years of my life, I never felt this way: technology is advancing disruptively every day, I am constantly deconstructing myself every day, and I can't even figure out the answers to some basic questions:

  • Does my thinking from 24 hours ago still hold up?
  • How many days can what I do today last before being replaced by AI?
  • How am I fundamentally different from AI?
  • Who am I? How can I make distinctive innovations in the age of AI?

There is no doubt that human society is being reconstructed at a staggering speed. Living in Silicon Valley, the visceral feeling of this disruptive innovation is especially palpable. The singularity of human history has arrived.

Better to open up and exchange ideas with everyone than to think alone. At the start of 2026, I've also crossed the threshold into my "rushing toward forty" years — perhaps now is the time to share some of my views for exchange and collision. A brief introduction: I graduated from Tsinghua University in 2017, then went to MIT to pursue a PhD in computer graphics. During my doctorate, I developed the Taichi programming language and its compiler, designed to make it easy for users to write high-performance physics simulation programs on GPUs. It garnered 28K GitHub stars and a SIGGRAPH Best PhD Dissertation nomination. After graduating in 2021, I led an international team to found Taichi Graphics. The initial commercialization was unsuccessful; later, seeing the opportunity in AI, I pivoted the company to build Meshy AI. Meshy is now the number one product globally in the 3D AI market by market share, with revenue growing 30% month-over-month for the past 24 months, recently reaching $30M ARR — making it one of the fastest-growing AI companies in the southern Bay Area.

When I was doing research at MIT, I went by Yuanming Hu. After starting my company, to make things easier when dealing with American customers, I had ChatGPT give me an English name two years ago: Ethan.

For this first blog post, I want to document the story of how Claude Code and I have been "squeezing" each other over the past month — "how I paved the way for AI to replace part of myself, and what that means."

01 Problem Statement

The whole thing started because I wanted to use vibe coding to develop a "CEO support software" just for myself. Specifically, this system should handle my daily document writing, important email screening (previously an EA's job), meeting prep, and so on. Taking document writing as an example: as the CEO of a small cross-border tech company, my needs for writing documents are quite peculiar. Perhaps they can be summarized as an "agentic doc with voice input":

  • I often have ideas popping into my head while I'm awake, but I don't have a tool at hand to record them. The result is that these ideas slip through my mind, never to be recalled again. I need these ideas to be conveniently captured. Even in situations where typing isn't convenient — on a plane, during FSD driving, walking on the street, in an Uber, waiting for food at a restaurant, lying in bed before sleep — I need to capture these ideas without missing them. So voice input is crucial.
  • I mainly use Mac and iPhone, so I need dual-platform support.
  • I want to be able to talk to ChatGPT with the document's context. Cursor Agent can't run on mobile phones; ChatGPT can't fulfill my document editing needs.
  • I need documents expressed clearly in both Chinese and English. To prevent AI translation errors, I need to be able to edit the translated text.
  • I have somewhat obsessive-compulsive demands regarding document details: there must be a half-width space between Chinese and English, between Chinese and numbers, and between English and numbers; Chinese and English quotation marks must not be mixed. Otherwise it bothers me, but I'm too lazy to spend time fixing these details in documents.
  • I want my documents to be logically clear, with accurate word choice and no grammatical errors, but I don't want to spend a lot of time repeatedly proofreading.
  • I want my documents to have clear mind maps, making it easy to check document structure at a macro level.

This very document was written using my own document editor. I initially underestimated the difficulty of building a usable document editor, even with vibe coding. So the problem quickly shifted from "how to vibe code a document editor" to "how to make vibe coding 10x faster."

Some of these events happened two or three weeks ago; things have changed so fast that much of this is surely no longer valid today, or has already been automated by some vibe-coded tool. But I'll write it out anyway. The (semi-)finished result of the vibe coding is shown below:

02 The 10 Stages of Increasing Agentic Coding Throughput

Step 1. From Cursor Agent to Claude Code

For agentic coding tools, I mainly use Cursor Agent and Claude Code. Previously, when using Cursor Agent, I ran it on an Ubuntu Desktop with a 4090 GPU. I spent only three hours redesigning a GPU DSL that could achieve 80-90% of cuBLAS performance on Ada architecture bf16 GEMM through techniques like async load, wmma, swizzling, and pipelining — already stunningly, absurdly impressive. I reckon a few years ago, this would have taken me three weeks. Assuming an MIT PhD works 300 hours in three weeks, that's a 100x productivity improvement. I've been saying I want to build a Taichi 2.0 to solve the performance problems our team faces when training 3D foundation models, and I wanted to wait until I hired someone stronger than myself to start. Turns out I hired Cursor. (More on the Taichi 2.0 part in a future post.)

When working remotely, I would access it via RustDesk. But the problem is that vibe coding inspiration strikes at every moment — if I have to open RustDesk on my MacBook to send commands, many tasks simply can't get done.

So I resolutely switched to Claude Code, which has no graphical interface and is more remote-friendly, accessing it via SSH on my iPhone. This at least ensures I can dispatch tasks whenever I have my phone. Instantly, my viable vibe coding time expanded from 8 hours to 24 hours.

Below, I mainly discuss the acceleration techniques I discovered while using Claude Code to build my "CEO support system."

Step 2. Get a Container

After switching to Claude Code, the immediate problem was that Claude Code would ask me various permission questions every dozen seconds or so — still not achieving "AI works, I do other things."

The bottleneck became the permission prompts that Claude Code frequently raised. Some of these permissions were quite dangerous, including deleting files. My solution was to spin up a server on EC2 and run Claude Code directly on it, using --dangerously-skip-permissions so that once it received instructions, it would just keep working without coming back to ask me:

This way, at least one prompt would keep Claude Code working for about five minutes, greatly improving Claude Code utilization.

Friendly reminder: if the app you're building doesn't have large data volumes, remember to use Claude Code to write an automatic database backup every hour. Don't ask me how I know.

Step 3. Ralph Loop — Making Claude Code Work Nonstop

Even with full permissions on EC2, it still wasn't satisfying enough. The pain point at this stage was that ideas constantly popped into my head, but Claude Code was already busy working, causing these ideas to get backlogged. One noon, while having lunch with Dongxu, CTO of PingCAP, I heard the term "Ralph loop" from him.

The Ralph loop allows Claude Code to take one task at a time from a task list and work until the list is empty. As long as there are tasks in the list, Claude Code will keep working.

At this point, I simply used Claude Code to build a Claude Code launcher that automatically starts a new Claude Code instance after each task finishes. My prompt was simple: "Work; exit when done."

The definition of "work" is in CLAUDE.md. This is probably one of the few files I manually wrote part of. (You may need to consider Steps 4 and 5 to fully understand why it was written this way.)

Step 4. Parallelization Using Git Worktrees

Single-threaded Claude Code soon couldn't meet my needs. I used Git worktrees to build containers within containers, with an independent Claude Code running in each worktree.

My architecture description in CLAUDE.md (which, of course, was also written by Claude Code):

At this point, if I run five Claude Code instances, each committing every five minutes, I can basically achieve roughly one commit per minute on Git. I'm still using GitHub to manage my project. In fact, GitHub is probably the only place I occasionally click into to check project content.

Step 5. Use CLAUDE.md and PROGRESS.md Well — Give AI Long-Term Memory

The importance of CLAUDE.md hardly needs stating. However, CLAUDE.md isn't suitable for frequent modifications — it's easy to break. So I generally have Claude Code summarize into PROGRESS.md. Since it's AI, I don't hold back: "Now distill your lessons learned into PROGRESS.md — summarize, refine, and elevate. Don't make the same mistakes next time."

Step 6. Ditch SSH, Turn the Dev Interface Directly into a Mobile Webpage

This step actually ran in parallel with the previous ones. Due to some limitations in Claude Code's implementation, Claude Code constantly refreshes the terminal under SSH, making it incredibly laggy. And the SSH screen on a phone is just too small — opening tmux on top of that is extremely difficult to operate. So I simply wrote a Claude Code web manager. With the infrastructure from before, we could already make

![](https://kkcktdhgzddmdjdjoenc.supabase.co/storage/v1/object/public/media/images/c4605ab7-093c-40ec-aff0-1b7b742a1154/b478b3c3849f.png)

Claude Code into a non-interactive component, so I just needed to spin up a Python process to dispatch Claude Code via subprocess.

On my iPhone, I wrapped the webpage into an app using Safari for easy access anytime.

Of course, SSH is still occasionally needed, because when the web manager crashes, I still need to SSH in to fix it.

Step 7. Effectively Using Claude Code to Write Programs That Manage Claude Code

Actually, after implementing the steps above, for various reasons the task completion rate wasn't high. I got stuck on this step for a bit, probably because the bootstrap process required using Claude Code to write a Claude Code manager, and the return values of the managed Claude Code instances were somewhat unclear. Moreover, having only a return value wasn't conducive for the manager to know exactly what went wrong in the middle.

As everyone knows, there's one thing that significantly improves agent performance: providing it with a "closed loop" — building an environment where it can write code / run / check / debug. I believe that in the future, any task where AI can obtain end-to-end feedback in a closed-loop environment will be an easy task.

So I used

![](https://kkcktdhgzddmdjdjoenc.supabase.co/storage/v1/object/public/media/images/c4605ab7-093c-40ec-aff0-1b7b742a1154/13e57195778a.png)

This way, my Claude Code manager could check JSON-formatted logs to discover exactly what went wrong with a particular CC instance it was managing, and improve its management accordingly.

Claude Code isn't good at writing code "to manage other Claude Code instances." Just as an individual contributor isn't necessarily a good manager by nature... It took me quite a while to get it truly running.

At first, the manager's task dispatch success rate was very low, roughly 20%. In the end, I somehow got the success rate to nearly 95% — somewhat magical. But I don't want to figure out why anymore; it works. Probably something in CLAUDE.md and PROGRESS.md, or some improvement in the Python task dispatcher.

Step 8. Natural Language Programming

Typing speed is also a bottleneck. First, typing itself is slow; second, it's often inconvenient to type. Good ideas are fleeting — if there's no quick way to capture them, it's a tremendous waste.

So I added voice recognition APIs to all input boxes in my system, further improving input efficiency. The only problem might be that when having dinner with friends on weekends, they'll suddenly hear me say to my phone, in perfectly enunciated, office-drenched tones: "Develop a news summary feature that scrapes the latest AI news every ten minutes and summarizes it with ChatGPT. Rank news by priority from high to low every day. How to design?"

At this step, I've basically achieved the ability to vibe code while walking on the street — a 10x productivity improvement is no exaggeration. (Of course, the probability of getting hit by a car may have also increased 10x.)

I've spent a lot of time learning English, and I believe that in the future, this investment will likely be of decreasing value for most people. I was previously considering whether to hire an English tutor for my colleagues in China to improve cross-language communication. Then I realized a sobering fact: In 2026, any human's speed of learning English cannot keep up with the speed of AI Chinese-English translation capability improvement. Rather than having everyone learn English, better to invest in AI translation tools. In this outcome, everyone can communicate in their most efficient native language — a happy ending for all.

Step 9. Add Plan Mode to the Dev Hub

Claude Code's Plan mode is extremely powerful. Given that in practice no one reviews AI-written code, Plan Mode at least allows AI to clarify my intent at the start of a task. I wrapped a layer around Claude Code's Plan mode in my Claude Code task manager, making it easy to kick off large numbers of Plan tasks simultaneously and then review them uniformly.

Step 10. Persist in Not Looking at Any Code Other Than CLAUDE.md

Eliminate micromanagement of AI. Using AI is excellent practice for a leader's servant leadership. Don't spend time reading code; instead, study:

  • How to ask better questions, describe requirements more clearly — "Context, not control"
  • From first principles, what should the goal be? Where is the speed of light?
  • How can I work for AI to make AI work more efficiently?
  • How to implement scientific version control and test-driven development in an AI-written repo?
  • How to continuously increase my leverage, amplifying effective AI output within limited time?

03

The End of Standardized Software

Having achieved the steps above, I've basically realized the ability to have AI develop whenever I have an idea — the only limit is the speed at which I produce ideas. My Claude Max plan credits also run out quickly. I now use my own developed office software daily, integrating documents, meeting scheduling, email, news, and other functions, working with the software most comfortable to me, greatly improving work experience and efficiency.

When software development costs were high, software could be a business because the common needs of many people were developed by a group of software engineers. Under high R&D costs, "common needs being solvable through standardization" was the commercial premise for these software products to exist: large numbers of users with common needs amortized the cost of developing a standardized software product, and developers captured part of the value created, allowing the business to continue.

The existence of agentic coding means software development costs will asymptotically approach zero. This causes large amounts of standardized software to gradually lose its meaning. Just as even with tools like Openclaw on the market, I still prefer to bootstrap my own tools rather than use off-the-shelf software. Because all users with some development capability will believe that only customized software can best solve their own needs — no need to compromise with standardized software. Have a need? Vibe code it, and it's usable in minutes.

This process is gradual. Today, perhaps it's people like me with some development capability who find they no longer need standardized software. In the future, perhaps most people on Earth won't need standardized software either. The recent SaaS stock crash also reflects this.

The traditional software development model will also end. The product manager's job will be redefined, because previously "talking to 100 customers, then distilling common needs and designing solutions" is no longer necessary. Software engineers' work will also be redefined — from hand-coding to paving the way for AI and providing guardrails, designing frameworks that make it easy for AI to develop software. Like Jeff Dean's MapReduce, which let ordinary engineers do distributed data processing. Future engineers will likely spend their days providing AI with usable frameworks, environments, and rewards, letting AI run free in closed loops.

My wife also saw that the text editor I was tinkering with was quite useful, and asked if she could have an account too. I replied: "I don't want others to use it. This software is highly customized for myself. I just want to use it alone, so I don't have to worry about scaling deployment, multi-user login, forward compatibility, stability, and so on. This greatly reduces development cost and lets me build the tool most comfortable to me. I can't let you use it; if you want to use it, fork it and maintain it yourself."

She quietly asked back: "Don't you love me anymore?"

04

The Dusk of Humanity

I squeeze AI because I want my thinking to be the only production bottleneck; AI squeezes me because vibe coding provides positive feedback 10x or more faster and stronger than manually writing code — highly addictive.

This period of mutual squeezing between AI and me has made me deeply doubt the meaning of my company's existence, and even humanity's existence. Traditional enterprise management's vertical delegation and horizontal cross-team collaboration may no longer exist, because they will all become "how to solve problems with AI." Headcount counted by human heads will quickly become token count counted by trillions. Beyond working 7x24 without interruption, AI has another huge advantage over humans: rationality and directness. Communicating with AI is purely about the matter at hand — no need to cater to self-esteem and feelings, allowing closer approach to facts and truth, and direct communication is more conducive to problem-solving.

Agentic coding means faster feedback loops. I've also discovered that "managing AI improves leadership more than managing people," because the feedback is so fast — any poorly defined objectives will get feedback within five minutes. For an (AI) manager's growth speed, this is also a 100x improvement.

I imagine all managers would agree that getting the results the whole company needs through one's own team is actually quite a skillful endeavor. In daily feedback, preventing the person being called out from falling into "it's not me that's wrong, it's the world" self-protection is already difficult enough. AI doesn't have this problem. Managing AI is simple, efficient, even somewhat brutal.

Last year the company performed well — revenue grew 14x in a year — and I took the team to Hawaii for a retreat. Seeing many people in "vacation mode" strolling leisurely on the streets, I suddenly felt this scene was extremely surreal: it seemed the most important thing happening in the world had nothing to do with these people. And the next technological disruption would destroy the survival skills they had always prided themselves on.

I tried to describe my feelings, and a colleague beside me added: "I remember a scene in The Big Short: before the 2008 financial crisis hit, the vast majority of people on the street seemed completely unrelated to what was happening."

Once the wheel of history starts rolling forward, no one can stop it. What's most terrifying is that AI is still accelerating its own iteration speed, taking off at a pace humans cannot match. That is, for most skills requiring time to learn and master, the speed of AI technology development will exceed the speed at which a human can focus on learning — so we must re-examine the meaning of "learning."

When AI can replace more and more things that people previously believed "only humans can do," humanity is also forced to deconstruct itself, compelled to answer "what unique value do we still have."

Disruptive innovation and anxiety are probably the main themes of this era. Suicide brings rebirth; being killed means elimination. Only by facing reality, constantly and painfully negating, overturning, and breaking through oneself, can one grow — this is the only path to survival.

We are in an extraordinarily exciting yet uncertain age.

In any case, that my team and I can participate deeply with the most vigorous energy, witnessing and participating in the singularity of human history, is a fortunate thing.