I've tried, and I feel like I've got closer with faster models, but ultimately the agentic loop excludes you. Even if you're asking the agent to do simple short tasks, it's still: prompt, wait, wait, wait, check, and you never really feel like you're the one in control.
The problem with faster models is also that they're more stupid, so that additionally breaks your flow when you have to fix something dumb it's done.
LLM-powered autocomplete is a bit more like it, but that tends to be either so dumb as to be a net negative, or slow enough to be useless. And autocomplete is pretty distracting for me.
I feel like I'm missing a mode that works more like a pair programmer. Perhaps a multimodal model that can talk to you about what you're writing, as you write it, and offer suggestions rather than trying to take over and do everything for you.
Llm-buddy is an “Emacs package that watches your recent buffer edits and asks an LLM to review them. When it finds something worth pointing out, it can add a short inline note in the relevant buffer or show a message in a popup buffer (it usually does the former).
The goal is lightweight feedback while you work: typos, logic mistakes, questionable edits, or prose issues that a normal compiler, linter, or spell checker may not catch.”
Edit with an example: Read some interesting science news yesterday regarding man made risk of high water (Nature). Mailed the author, found the article (popular news doesn’t do attribution) and data and code was open source. Claude Fable had it running very fast and explained the things I forgot from high school. Started on localization and adding some methods from my background (econometrics, extreme value theory). All nice in the /hobby/ way. I can overlap fields in hours now. A brilliant feeling (but probably not brilliant).
What I cannot do is assess the value and novelty of the created work on my own. So I still need to have a set of geologists and econometricians / actuaries work through ‘my work’. That’s what we need tools for! We need UI/UX in this case for novel fields interacting with quality controls made easy. I currently wouldn’t dare ask the author for her time based on my slop. And I cannot critically assess what I’ve made. I only learned today that Greenlands ice attracts water, that Manila and other cities are sinking due to exhaustion of their aquafiers and that the North Sea is surge heavy and unique that way.
Side-note, I wonder if audio cues would work well here. When another person is commenting on something, we as humans can typically remember their point while still being focused on text, but if a popup with text comes up we usually get distracted by it. Just my two cents.
Skill issue, not a universal problem.
Just give it a zillion linters - including ones you wrote yourself - and make it write its own tests (red/green) so it doesn’t need to stop until it’s made working software with nothing dumb in it.
Then get into a flow state when you write your weekly update emails and respond to customers.
I’m quite sure I’ve left money on the table over the years as a result of my reluctance to manage and mentor junior developers. Disappointing that I’ve ended up managing junior AI developers who won’t even grow as a result of the time I’m putting into them.
When I send one agent off to do work I usually begin thinking about some other unrelated problem I also want done, and then I try to spin up a parallel agent to do that as well. The thinking itself is where a lot of the deep work happens for me IMO. I probably spend like 80% of my time thinking, researching and reviewing plans. The other 20% is actually promoting.
I see a lot of people saying that agents trivialize work now - like you just push a button and an answer comes out. This is so far from my experience I actually don’t know how to bridge the gap. If you are not spending a lot of time researching you are likely going to be asking the agent to do things that don’t really make sense.
Main thing is (1) how do I verify the agent hits the happy path and (2) how can I elicit and clarify assumptions it might make.
Then follow up the build with exploring and refactoring.
(2) prioritized context switching (like playing an RTS) I have several tasks going at once, while one works I hop onto other tasks.
I usually have one or two “core” goals I’m trying to accomplish that take deeper thinking and get priority. The other tasks are smaller and require less thinking.
A lot of times I’ll have the secondary agents build research docs I can review in detail later.
I come from more of a hardware & environmental engineering background and we were always taught that projects were iteratively built via Design, Build, Test, Learn cycles.
I drive the Design and basic skeleton of the build (pseudocode or boilerplate), then pass off the rest of the Build and Test to the agent. I pick up after the test and read the agent commits/notes, then write up next steps. Repeat DBTL. Maybe spin a few features out at a time in parallel depending on how much time I want to devote to reviewing new project features later in the day.
Nowadays with AI I try to start most tasks with a plan, review each phase/step, research parts I'm more unsure of, and try to refine it. Ironically it's more of a dev cycle like process anyway IMO.
"Higher levels" of AI usage are exhausting and flow-free endeavours.
I guess to take it a step further you could just write everything in a single file with enough context to let the LLM figure out location but this is quite literally just a prompt.
I was thinking about this when I tried a faster model (Cursor released something fast about a month ago?). It was such a joy to use (well, at least compared to other models, where you wait 5-10 mins for even simpler tasks), and I noticed I felt much closer to the problems, and I got closer to a "flow" state... ...but unfortunately, the models are faster for a reason, and the output got worse. While I did enjoy my job more, I was also left worried that the model missed important things (and it did when cross referenced with other models or just doing the thinking myself).
IMO we need much faster yet capable models to bring back a bit of a flow state.
Another approach worth trying is to get some agents researching 4-5 tasks thoroughly in the background, discovering all the relevant details, collecting all the files likely to be edited, their content etc..., then work on one thing at a time with a better focus for yourself, maybe use a faster model.
One thing I try to do is code manually if I know that I can be faster and better. It's convenient to stick to one tool, the agents, when editing code, but for smaller clean up tasks, they just never get it right, and sometimes it's better to do 1 min manual work over 5 mins of explaining what you want and the agents still not delivering it...
a) making me not think at all
b) giving me weird adhd brain (I never struggled before with this)
The difficulty is to break down the task in a way that multiple agents can work on it.
I usually spin two or three major issues with 10-12 agents in total.
This isn't even troll post. AI has killed the ability to reach flow for me, but I basically have to use it at work so <shrug>. But if I'm WFH or at night, a little help helps me stay focused and connected to my work, sometimes even with AI. Does my mind drift? sure. But that's as close as I get to flow now.
I just watch YouTube in the downtime these days, or movies that I don't care too much about
Does that mean when I'm in deep thinking without any external "information inflow" I'm not "in flow state"?
I'd agree that waiting for replies kind of pulls you out of flow if you just sit and wait, but I'm not sure why you'd do that. You can continue working along-side, validate, or continue iterating on the design while the agent does other things.
It's the opposite of watching YouTube, pretty much.
Attention is on the full body, and the field of perception, then field of awareness, all at the same time.
A bit like shavasana practice, but instead of scanning part by part, expand presence to everything.
The thinking analytical mind stops, the nonthinking mind activates and softly intensifies.
Michael Taft has many different guided approaches to this on his channel but there are many other teachers as well, e.g. Adyashanti, Angelo Dillulo, Loch Kelly, Shinzen Young (specifically his Do Nothing and Auto Focus techniques) and expanding the gamut to traditional Vajrayana teachers, Lama Lena, Mingyur Rinpoche, Lama Dawai Gocha, all with accessible online teachings. Also Sayadaw U Tejaniya and Christopher Wallis who are less conventional, so to speak.
I think that this is mostly a UI problem. Chat UI is just not a good UI for programming and the fact that the current "AI"-coding sphere has converged on it is incredibly silly.
One of of the first things that I did when I first seriously tried an LLM-based coding agent is making an ad-hoc task manager on skills and simple daemons.
So that I can interact with it using files instead of this stupid workflow of typing a prompt into the console and then just doing nothing while waiting for the response.
There is absolutely no reason not to do it asynchronously.
Such a cycle previously could take hours or days, resulting in long, deep flow states. But now I go through dozens such cycles a day.
So less of a single flow state, more so many short flow states. As for waiting, that ’s when you can explore another idea in parallel. Double the flow states for me :)
I can not fathom context switching between multiple worktrees so that the PM can make JIRA graph look better.
I have a couple of terminals open and work on at max 3 things.
A main task, an exploration task and another prompt/skill improvement or documenting an issue (or a proposal)
Playing Star Citizen? There's pockets of 5 minutes all over the place traveling from A to B. I keep my laptop nearby and have a prepared todo list of items to work through. Those moments wasted on Reddit are now moments wasted on feature experiments!
Waiting for a cup of tea? Run an experiment. Waiting on wife? Run an experiment.
Piece by piece an app is coming together built from 5 minute increments of reclaimed time.
The more time I spend waiting for an AI to think, the less flow I experience. Fast autocomplete-style AI boosts flow. Slow autonomous agents usually break it.
My workaround is to stay in the loop: AI handles the typing, I handle the thinking.
the trick to get it uninterrupted is "selective multitasking". i don't like having too many Claudes / Codexes in parallel on auto-pilot; this way im finding i'm getting _something_ that is perfectly plausible, but rarely what i wanted. but I have N going at any given time, just enough to be basically non-stop reading. problems need to be related; within one project, ideally adjacent areas that are complementary. then my "flow" is just switching between reading and typing non-stop. never felt time flying by faster in my life, pure flow
- Use a fast model like DeepSeek Flash V4 on high (it's Sonnet level, but fast and cheap).
- While the LLM is working, start writting your next prompt. A good prompt usually takes between 1 and 10 minutes to write anyway.
Doing this should keep you busy enough to never leave flow.
But it is intense and demanding when the LLM is fast, I'll tell you that.
Pair programming. I call it pilot / copilot / autopilot. Two real people plus one or two agents working together. Classic XP stuff, the copilot can help remind what we are focusing on, file follow up issues, give instant code reviews.
Bake offs. Do the same task but in two different chats or agents or approaches (TDD vs vibe or legacy app vs next app).
I don’t do these all the time, and they don’t guarantee ROI, but it keeps me focused on one thing to completion intend of getting distracted
It's more taxing because I'm switching problems but at least these are all libraries within the same ecosystem so eventually, they line up.
I've half-joked a few times that ADHD with hyperfocus is a perk in this agentic coding era.
YMMW but I find it fast enough to maintain focus on one task (if that's what you're going for given a particular problem
I tend to focus on on project at a time with multiple agents, rather than agents on multiple project, and then time slice myself across projects
Ask HN: Do you struggle with flow state when using AI assisted coding tools?