Skip to content
foxleoly
Go back

Vibe Coding Feels Great, But Don't Run Yourself Like a Background Process

Edit page

中文版:Vibe Coding 很爽,但别把自己跑成后台进程

Lately my body has been giving me feedback before my code does.

Not dramatic feedback. Just the usual small stuff: stiff neck, dry eyes, that strange afternoon crash where my hands are not doing much but my head still feels overloaded. I can sit there with five projects somewhere in the background and feel tired before I can point to one specific thing that made me tired.

I am not trying to talk anyone out of AI coding. I use it every day. Codex, OpenCode, Claude Code, DeepSeek, GLM. They help me maintain this blog, touch Cloudflare configs, read GitHub Actions logs, debug Workers, and turn loose notes into drafts.

The tools got faster. My body did not.

Vibe coding does feel good

The best part of vibe coding is how little friction there is at the start.

If I want to change a line on the blog homepage, I do not spend ten minutes remembering where everything lives. I ask Codex to look. If I cannot remember where a Cloudflare option is hiding, an agent with the right skill can go find it. If a GitHub Actions run fails, the agent can read the workflow and the logs before I have even fully decided whether I want to deal with it.

That changes behavior.

Before, an idea often went into a notes app and stayed there. Now I send a prompt and something starts moving. A diff comes back. I review it. Tests fail. I add one more sentence. The agent keeps going.

That is the addictive part. Not that I never write code anymore. More that a lot of ideas no longer die before they start.

Fast code makes review heavier

The weird thing is that faster code generation does not always make the day feel easier.

When I write code myself, I build the mental model while writing. I know why I touched a file. I know which shortcut I took. I know where the ugly part is.

With an agent, I often get a finished diff first and understanding second.

It may change four or five files in a few minutes. The feature may look done. The tests may even pass. But I still have to slow down and ask the annoying questions. Did it understand the request, or did it make a plausible guess? Did it touch the right files? Did it make the simple thing complicated? Did it break a boundary case? Is coverage still okay? Would I merge this if it were written by a teammate?

That decision is still mine.

AI speeds up the generation step. It does not take responsibility for shipping. So the tiredness moves. Less of it happens while typing. More of it happens during review, debugging, and the few minutes before merge when I have to decide whether I actually trust the change.

Sometimes reviewing an agent’s diff is more tiring than writing the code myself. At least when I write the mess, I know why it is a mess.

Five projects is about my limit

Agents make parallel work feel normal.

One project is implementing a feature. Another is running tests. One is waiting on CI. One is changing configuration. One is sitting there as a half-written blog draft. Everything is moving. It looks efficient.

Then each project comes back to me.

The code needs review. The test result needs a decision. The coverage report changed. CI failed. The feature works, but maybe not in the way I meant. None of these are huge tasks by themselves, but each one requires me to reload a different context.

From my own experience, five projects is close to the edge.

Not because the agents cannot handle it. I cannot. Five projects means five mental models. Every switch asks me to remember what I wanted, what the agent changed, what was already tested, and whether this thing is safe to merge.

That is not a metaphor. I literally have five worktrees open at once, each waiting for me to switch back in, and each carrying a different mental context.

Agents can run in parallel. My attention is still mostly single-threaded.

Context switching is the part that wears me out

The tiring part is usually not one hard piece of code. It is the constant context switching.

One diff is ready. Another test run finished. CI turned red somewhere else. A config change needs a second look. A blog draft needs a closing paragraph. Every time I switch, I have to load the project back into my head.

Do that once and it is fine. Do it all day and it adds up.

That is where AI coding feels different from the old workflow. Some implementation work is offloaded, but coordination and judgment become heavier. I type less. I decide more.

My hands may be less tired, but my eyes and head are not. I sit longer than I mean to. My neck gets tight. At night I still catch myself thinking about whether a prompt was clear enough or whether that Cloudflare config should be checked again.

Tools can run in the background. People cannot.

Codex on mobile helps me leave the chair

One recent change has helped: Codex on mobile.

I used to stay at the desk whenever an agent was running. A test was still going. A result was about to come back. Maybe something would need my answer. So I waited. Then I opened another task while waiting. Then another.

Now I can do some of that light coordination away from the desk.

I can check Codex while walking. Between sets at the gym, I can answer a small question or tell it to continue running tests. If an idea for a post shows up, I can capture it and ask Codex to shape it later.

This is not where I do serious review. I do not want to approve a risky merge from a phone screen. Anything that touches deployment, config, or nontrivial code still deserves a real screen and a clearer head.

But lightweight coordination works well on mobile: add context, confirm direction, continue or pause.

That matters to me because it does not make me more online. It lets me leave the chair without everything stopping.

Let the agents run, but log off yourself

I am less naive about vibe coding than I was at the beginning.

I will keep using Codex, OpenCode, Claude Code, DeepSeek, and GLM. They make me faster, and they help me finish things I would otherwise leave alone. I just try to put a few limits around the workflow now.

When an agent is running, I try to stand up instead of staring at the screen. I use walks for light coordination and save real review for the desk. If I am tired, I do not merge. Late at night, I avoid risky deployment and config work. I do not let every idea become a task immediately. For me, five active projects is already enough.

I installed Time Out, one of those break reminder apps. It pops up once an hour and tells me to get up, drink water, move a little. 🧘 Nothing fancy. I used to find that kind of reminder annoying. Now I kind of need the interruption, because otherwise I will always tell myself I am only waiting for one more test run, one more diff, one more small fix.

I also try to set an end time for the day. ⏰ When that time comes, stop. Easy to say, harder to do. AI agents make “one more round” feel harmless, but the body does not count work in agent rounds.

I try not to stare at token usage either. How much quota is left this month, whether I am “wasting” a subscription, that line of thinking is a trap. 💸 A subscription is not a KPI. Burning tokens just because they are available is a strange way to burn yourself too.

None of this is a grand productivity system. It is just what I learned after pushing the workflow a little too hard.

Vibe coding feels great. I am still in. But I do not want to treat myself like another background process in the toolchain. Models can change, subscriptions can change, tools can change. The person who has to keep writing code and building things over time is still me.

So I am not only trying to go faster now.

I am trying to last longer.


Edit page
Share this post:

Machine-readable source: Markdown · Original file: GitHub


Next Post
Vibe Coding 很爽,但别把自己跑成后台进程