Hacker News new | ask | show | jobs
by AstroBen 63 days ago
I wish more was being invested in AI autocomplete workflows. That was a nice middle-ground.

But yeah my hunch is "the old way" - although not sure we can even call it that - is likely still on par with an "agentic" workflow if you view it through a wider lens. You retain much better knowledge of the codebase. You improve your understanding over coding concepts (active recall is far stronger than passive recognition).

5 comments

I've had a lot of enjoyment flipping the agentic workflow around: code manually and ask the agent for code review. Keeps my coding skills and knowledge of the codebase sharp, and catches bugs before I commit them!
if it catches a lot of bugs maybe you’d be better of letting it write it in the first place :)
It also writes lots of bugs which it'll catch some of, in an independent review chat.

This is bogus. If you think LLMs write less buggy software, you haven't worked with seriously capable engineers. And now, of course, everyone can become such an engineer if they put in the effort to learn.

But why not just use the AI? Because you can still use the AI once you're seriously good.

> But why not just use the AI? Because you can still use the AI once you're seriously good.

Perhaps because the jury is still out on whether one can become “seriously good” by using AI if they weren’t before.

I haven't seen it.
This is definitely not correct in my opinion. You’re essentially saying, instead of a person actually getting better at the craft, just give up and let someone else do it.
I was joking :)
Nono, that is the reverse centaur. Structure your own thoughts, that's the human work.
Statistically LLMs generate more bugs for the same feature.
IME, not really. When you prompt it to review its own written code, it will end up finding out a bunch of stuff that should have been otherwise. And then you can add different "dimensions" in your prompt as well like performance, memory safety, idiomatic code, etc.
Man, same here, those early days of Cursor were mindblowing; but since then autocomplete has stagnated, and even the new Cursor version is veering agentic like everything else.

I hope if/when diffusion models get a little more traction down the line it'll put some new life into autocomplete(-adjacent) workflows. The virtually instantaneous responses of Inception's Mercury models [0] still feel a little like magic; all it's missing is the refinement and deep editor integration of Cursor.

On the subject of diffusion models, it's a shame there aren't any significant open-weight models out there, because it seems like such a perfect fit for local use.

[0] https://www.inceptionlabs.ai/

This matches my experience. When I write the boring glue code myself, I get a map of the project in my head.

When I let an agent write too much of the structure, the code may work, but a week later every small change starts with "where did it put that?"

I can see the logic behind "manual coding" but it feels like driving across country vs taking the airplane. Once I've taken the airplane once, its so hard to go back...
Can't understand this mentality. If I had the time I would much rather never set foot in an airport again. I would drive everywhere. And I would much rather write my own code than pilot an LLM too
You’re describing extremely valid approach for a hobby. Less for a business.
The fact so many people think businesses need to do do do, faster faster faster, now now now, at all costs is a major reason everything sucks, everything is fucked up, everyone is exploited.
Exactly. When you're operating as a business you need to be executing and AI helps a lot in brainstorming, developing, testing etc.

I have ADHD and just by brainstorming with AI helps me initiate.

Of course, you need to be the ultimate gatekeeper or else there will be quality issues. But isn't that the same when we write manual code? AI is just another tool in your toolkit.

No, they are not. Even ignoring business where using AI would have consequences for you (medical is one example), there are plenty "normal" software companies that value quality over slop.
Airplanes are good for certain types of journey, but they're vastly inefficient for almost all of them.
That's why I added "across the country". I guess its a bad analogy.

I agree with the premise of the article but I just don't think going back to manual coding is the solution.

Here's my new attempt using puzzle as an analogy which I wrote yesterday:

Starting last year, I noticed coding was getting less fun. It’s like buying a puzzle set and finding out there’s an auto-complete button. Press it and the puzzle solves itself. Faster than me, better than me, prettier than me. It’s like playing a game with cheats on.

I don’t even have to touch the pieces anymore. I just tell the auto-solver what I want. Tell it I want a bird, it gives me a bird. A pirate ship? Here’s a pirate ship. At first I never imagined it could do a rocket, but with its help, that went from fantasy to reality fast.

Sometimes it doesn’t quite match what I wanted, but usually just telling it what’s wrong fixes things. The whole process is so fast that, if nothing’s broken, I don’t even bother looking at how it actually solved it. That would just waste time.

But coding felt less fun with this new assist mode.

The fun of puzzle-solving is gone. That feeling of trekking through the hard parts and finally reaching the summit is gone. Now it’s like taking a cable car up.

Before, I had to think alone for a long time, try things, experiment, until I finally cracked the problem. Now with the assist mode, it’s like doing college homework where the teacher already has the answer key. I just ask and I get a standard answer.

Coding went from craft to management. “I” went from a craftsman with standards to a foreman watching workers do the job. It’s just not the same. And “foreman” sounds kind of weak.

I only see this being the case for throwaway code and prototypes. For production code you want to keep long term it's not so clear cut.
I’m writing production quality code with agents, it was the development ‘harness’ that took time up get right.
Real life measurements show a 25 percent improvement in coding speed when using AI at best. And this is before you take technical debt into account!

Yes, AI unlocks coding for people who fail FizzBuzz. This isn't really relevant to making software though.

It's more like driving across country vs firing a missile with you being the warhead...
How?

I usually code faster with good (next-edit) autocomplete then writing a prompt and waiting for the agent.

The workflow isn't that you "wait for the agent".

This is like saying "EV charging is soooo slooooow" and thinking you need to stand next to the car holding the nozzle in the charging port like with a petrol car.

Of course you go do something else unless it's a literal 30 second operation.

AI autocomplete sucked. Everyone quickly moved on because it is not a useful interface
LLM auto-complete is the most useful experience I've had with LLMs by quite a margin, and those were the early GitHub Copilot versions as well. In terms of models and cost it overperformed. It wasn't always good but it was more immediately useful than vibecoding and spec-driven development (or vibecoding-in-a-nice-dress).

I think most people "moved on" because they both thought the agent workflow is cooler and were told by other people that it works. The latter was false for quite some time, and is only correct now insofar that you can probably get something that does what you asked for, but executed exceedingly poorly no matter how much SpecLang you layer on top of the prompting problem.

> AI autocomplete sucked

> Everyone moved on

> it is not a useful interface

You've made three claims in your brief comment and all appear to be false. Elaborate what you mean by any of this?

Who's "everyone"?

In some codebases, autocomplete is the most accurate and efficient way to get things done, because "agentic" workflows only produce unmaintainable mess there.

I know that because there are several times where I completely removed generated code and instead coded by hand.

Why? I thought it was pretty good, just get the rest of your function a lot of times and no context switching to type to an agent or whatever. It just happens immediately and if it's wrong just keep typing till it isn't. You can still use an agent for more complex things.

I just wish I knew of a good Emacs AI auto complete solution.

It’s wildly useful. Type out a ridiculously long function name that describes what you want it to do and often… there it is.