upvote
It's very difficult to keep AI focused, when it barfs out 3 pages of reply in response to a one-sentence prompt. It's sort of its nature for some reason, it's very impressive if you've never seen it but it's exhausting to use for very long. It's like a very eager assistant who doesn't have enough experience to understand scope.
reply
3 pages of reply or overly verbose code, often without abstractions - I read all the posters here and in other forums say that programming has shifted towards reviewing AI output rather than coding said output manually; I agree, however, I just don't buy that everyone is actually reviewing the code as intensely as one would expect - there is a tendency that arrived rather quickly to assume that the AI is correct and efficient. I guess the ultimate reviewer is another AI agent I guess.
reply
I think ultimately you still have to pay down tech debt eventually. Either through bankruptcy (throwaway the project) or servicing the debt (refactoring, rearchitecting etc).

It's not different than when coding by hand, often we take shortcuts by hand that we then have to pay for later. It really just becomes a judgement call on when to stop prompting new features and start service what you have.

I think with AI and vibecoding its tempting to assume the output is good and chase the dopamine hits of more features, more features, more features, but eventually you get stuck.

That being said AI is also a great tool at paying down tech debt. It's great at helping you read a codebase and can be great at making the mechanical changes you want. And I think there is some truth to the story that newer models will be able to pay down debt (fix the slop) of older models. But its all shades of grey, newer models are better than older ones, but can I emit slop with 5.6 faster than 5.7 will be able to fix it in the future? Nobody knows.

It's not like human projects are devoid of bad code, its all tradeoffs and shades of gray. But to be honest I haven't written a line of code by hand in a while.

reply
deleted
reply
I find it highly similar between running agents and running human teams.

Clear goal, share context, delegate but verify. Running a team of engineers also inevitably generates pages and pages of material, design spec, code, test, review. Just that we now do that with agents and agents are way less trust worthy

reply
> for some reason

Usage is metered/billed by the token. This suggests a few possible hypotheses for why they might tend to be verbose.

reply
>It's sort of its nature for some reason

I've known some people who can never stop talking. Maybe they are overly represented in the training set.

reply
The verbosity in code is also a huge problem. I asked it to introduce 4 functions in my project (like, literally, just functions) and I'm looking at 32 files changed and two spec files that are total 200 lines long. It's functional, but jesus, this is going to need a refactor.
reply
It sounds great for prototyping. Once you do a month's experimentation in a day and generate some shit app that barely works, but looks functional, you have a definite goal to recreate that design but working properly.
reply
It seems like an absolute dream for corporate execs who don't know anything about development, see a taped-together prototype built in a day, and think to themselves "Wow, we're 90% done... we could almost ship that!!"
reply
Well, from my experience, if the AI dev is ill intended, he can just say nothing then the exec will go "we can ship now as it is!"
reply
nobody throws a prototype so this will happen
reply
This was true a while ago. Today we are replacing decades old sloppy production code with 100% verified better code through tests written by AI, code written by AI. This is not looking functional but drop in functional replacement with measurable improvements.
reply
there are two camps: those who have spent the tokens to figure out how to wield AI, and those who haven't. unfortunately, it's not cheap to get to the former category… and i imagine it'd be difficult to lose access to that tooling and fall back to the second category.
reply
Experimenting can be pricey but early on I spent my own money thinking "if I can get a handle on how to do this I'll get a 100x return on my money" and it was a good bet.

If you're not convinced - sign up and pay by the token of a high or highest level model. Anthropic or Grok for example. The vendor isn't the concern. The quality of what can be done. Then, find an agentic 'harness' that is written in a language you can read. There are several (pi, opencode, crush, etc) and then clone that repo or one of yours you don't mind having exposed and then point your agent to that repo.

Now ask questions: what api calls are made by this repo? Where are secrets stored and sourced from? Do an adversarial investigation and list the bugs. Then fix the bugs.

Then review the work and determine the value and how to wield this new tool. It replaces reading, writing, and editing - not thinking.

reply
You have coworkers who know what a test is? Hire me! ;)
reply
Indeed it is. I’m very grateful to what LLM enables me.

The revelation to me was that I used to code what I know, now I could code what I don’t know. The common path is that when I face something I don’t know, which is quite often, to move forward I have to level up my understanding.

reply
I find the more structure that the AI can be given to follow the better. I recently tried building a side project with Elixir, Phoenix & LiveView but on the recommendation of somebody I decided to have it use the Ash framework within it.

I've been very pleasantly surprised. The combination of the compiler improvements in Elixir 1.20 and the structural guardrails from Ash seems to have led to very consistent, organized and readable code.

reply
I think the mistake there was the 5 hour session specing the app. It's so hard to know what you want before you see it, so optimize towards seeing it as soon as possible. That's what I thought the article was going to be about based off the title.

Once you have something concrete you can iterate on the prototype until it's a mess. But, hopefully, in that time you got closer to figuring out what you want. And even if the code for the prototype is a mess the "idea" of it should be cleaner. I like to have an LLM make a new spec at that point, and start fresh with it. You can clean up the abstractions and the UX there.

When writing code is cheap figuring out what you want to write is the hard part. It always was, but the barrier of getting the code written and working made that less obvious.

reply
One of the most foundational insights I’ve ever had in IT is clients don’t know what they want until you shove it in their face. And only then do they say no, no, no, change this, this and that.

Same story as building a house. There’s so many unknowns.

reply
it's cunningham's law where the fast LLM generated iteration is the confidently wrong answer that the clients will correct
reply
A climbing app..

Does anyone want one?

The article says to stop building and go outside!

And actually, talking about climbing apps with fellow climbers is a great way to be outside.

reply
I climb and I want one :)

> talking about climbing apps with fellow climbers is a great way to be outside.

Indeed. The climbers I met are very supportive. They helped me scan the gym, shared their own climbing footage, which is what I'm trying to do, visualize climbing in a 3D scene.

reply