Live data from Hacker News

When I reject AI code even if it works

vinibrasil.com

141–150 of 184 posts

Re: When I reject AI code even if it works

#141
post #59

Earlier quoted context omitted.

I think this policy is probably more prescriptive than I would go with myself. I like to think of my risk tolerance first to help make that determination. For example, I use a vibecoded internal tool written in Go. I don’t even know how to write Go. Haven’t read a single line of the code. I just wanted to move from bash scripts to using cloud SDKs for performance reasons. But the internal tool is a convenience tool,…

> I just wanted to move from bash scripts to using cloud SDKs for performance reasons. What is this supposed to mean? How is a “cloud sdk” more performant than a shell script?

The shell script wasn’t the performance issue, it was the fact that the shell script was calling the AWS CLI rather than the SDK.

There’s a bit less waiting around.

Re: When I reject AI code even if it works

#142

Earlier quoted context omitted.

I think this policy is probably more prescriptive than I would go with myself. I like to think of my risk tolerance first to help make that determination. For example, I use a vibecoded internal tool written in Go. I don’t even know how to write Go. Haven’t read a single line of the code. I just wanted to move from bash scripts to using cloud SDKs for performance reasons. But the internal tool is a convenience tool,…

> Here’s another example: you’re making a static website. No JavaScript, no interactivity. Linking a huge file consuming clients’s bandwith for no reason. Embedding PII in the html source? And if setting up your own server, misconfiguring it?…

“Setting up your own server” isn’t part of this, as you’d almost certainly deploy a static site using something simple and serverless.

You also don’t need to know how to read HTML to recognize large files. You can catch issues like this with a simple website performance testing tool like pagespeed.web.dev

I’m also not sure how PII would enter the HTML source.

Re: When I reject AI code even if it works

#143
post #40

Coding with AI eventually comes down to two paths, I've realized. One is using AI exclusively for everything. The other is not using it at all. There is almost no middle ground. The reason is that as the complexity and depth of the problem increase, the code AI generates increasingly follows enterprise level patterns. The deeper the meaning of what I input, the more AI tends to produce code that goes beyond my own ar…

I'm part of the middle ground. Not able to do full agent code, but I'm fine using it to generate snippets that i fully read. I find it great to use apis with little documentation. For me AI is similar to a google search when im not able to find meaningful doc or i want the code snipped and refine over it

Re: When I reject AI code even if it works

#144
post #84

Even using Fable (while it was briefly available), having it refine a plan, and directing it to make only small incremental changes, I still found reasons to reject its first pass at a lot of work. There was a lot of “You’re right to push back” responses. A lot of incidents where it would creat some giant complex set of abstractions to accomplish something that I could find ways to do much more elegantly and in a mor…

A nice trick I've found is following up with "make it simpler". Often you can do 2-3 rounds of that and end up with something much easier to comprehend but still meeting the requirements. I have a Rails background, so maybe KISS is more engrained in my philosophy than whatever training material was used on AI. At least it isn't heavily pushing design patterns...

Yeah noticed the same thing too - Ruby/Rails background, though I have done distributed systems in java (too many unnecessary abstractions in that ecosystem)

then you add the simplicity / lessons of clojure of using simple datastructures & functions - simply agents become frustrating - cz most of the things I need to get done are done in a few lines

majority of the time is spent thinking by me to save a few lines.

Re: When I reject AI code even if it works

#145
post #25

Even using Fable (while it was briefly available), having it refine a plan, and directing it to make only small incremental changes, I still found reasons to reject its first pass at a lot of work. There was a lot of “You’re right to push back” responses. A lot of incidents where it would creat some giant complex set of abstractions to accomplish something that I could find ways to do much more elegantly and in a mor…

These "You're right to push back" scenarios are scary for me. I mostly code ML implementations, and some of the errors Claude Code (CC - have only used Opus 4.7) makes are very sneaky, and if you don't have sufficient experience in the area (I see this with people entering ML and writing their implementations with CC), you wouldn't know when to question CC and will let errors or future pitfalls silently slip into you…

Another version of this issue is when you push back but you were NOT "right to push back". In other words, the LLM original solution was better than the pushback.

Most of the time my pushbacks are true improvements, but I've seen a couple of instances where the LLM was happy to downgrade their own good solution.

Re: When I reject AI code even if it works

#146
post #25

Earlier quoted context omitted.

These "You're right to push back" scenarios are scary for me. I mostly code ML implementations, and some of the errors Claude Code (CC - have only used Opus 4.7) makes are very sneaky, and if you don't have sufficient experience in the area (I see this with people entering ML and writing their implementations with CC), you wouldn't know when to question CC and will let errors or future pitfalls silently slip into you…

Another version of this issue is when you push back but you were NOT "right to push back". In other words, the LLM original solution was better than the pushback. Most of the time my pushbacks are true improvements, but I've seen a couple of instances where the LLM was happy to downgrade their own good solution.

I've had those as well. Sometimes I'm asking clarifying questions because I'm not sure about the solution, and the LLM "interprets" that as pushback (as opposed to curiosity / enquiry), and sycophancy takes over. Sometimes it will simply change the code without ever answering the questions, or it will answer the questions along with it, but incorrectly - or with bad assumptions.

Re: When I reject AI code even if it works

#147
post #128

Earlier quoted context omitted.

Do you still need to review the code? LLMs generate code too quickly for humans to keep up.

Yes, but I can not review all anymore. It's too much code. But I at least "scroll" over all the code and check if I can spot something obvious. But you can not hold up anymore. I guess, you have to trust and react fast if something goes wrong. It has become more stressful.

As someone with 20+ years of experience as well, can we agree that, if you're doing this for any code that really matters, that this is fundamentally irresponsible and, in some circumstances, unethical?

Suppose you were legally liable for your code misbehaving in a way that led to harm. Would you behave differently?

And do you do this by choice? Or is this the case of an employer forcing you to vibecoded while skipping your due diligence as the author of that code?

Re: When I reject AI code even if it works

#148
post #25

Earlier quoted context omitted.

These "You're right to push back" scenarios are scary for me. I mostly code ML implementations, and some of the errors Claude Code (CC - have only used Opus 4.7) makes are very sneaky, and if you don't have sufficient experience in the area (I see this with people entering ML and writing their implementations with CC), you wouldn't know when to question CC and will let errors or future pitfalls silently slip into you…

Another version of this issue is when you push back but you were NOT "right to push back". In other words, the LLM original solution was better than the pushback. Most of the time my pushbacks are true improvements, but I've seen a couple of instances where the LLM was happy to downgrade their own good solution.

> Another version of this issue is when you push back but you were NOT "right to push back". In other words, the LLM original solution was better than the pushback.

Indeed, it's easy to surface this by sending one model a "Review" of their proposal to another, then bounce them back and forward, ask which one is best and both models will almost always say something like "The other proposal/review is better", I'm guessing because somehow they think it comes from the human, and "human is always right" or something.

Re: When I reject AI code even if it works

#149

Earlier quoted context omitted.

Another version of this issue is when you push back but you were NOT "right to push back". In other words, the LLM original solution was better than the pushback. Most of the time my pushbacks are true improvements, but I've seen a couple of instances where the LLM was happy to downgrade their own good solution.

I've had those as well. Sometimes I'm asking clarifying questions because I'm not sure about the solution, and the LLM "interprets" that as pushback (as opposed to curiosity / enquiry), and sycophancy takes over. Sometimes it will simply change the code without ever answering the questions, or it will answer the questions along with it, but incorrectly - or with bad assumptions.

> Answer grounded in truth, with evidence and concrete proof, no guessing or assumptions allowed, no changes to files on disk.

I've used this a bunch as a suffix to try to prevent that, works OK in most cases, but not always obviously, works better in the system/developer prompt if you have access to those. Seems I've used that about ~1000 times since 2025/08 when I started using codex (- transcription duplications, so maybe 1/2 of that?).

    $ rg -a -o "Answer grounded in truth" ~/.codex/sessions | wc -l
    1046

Re: When I reject AI code even if it works

#150
post #128

Earlier quoted context omitted.

Yes, but I can not review all anymore. It's too much code. But I at least "scroll" over all the code and check if I can spot something obvious. But you can not hold up anymore. I guess, you have to trust and react fast if something goes wrong. It has become more stressful.

As someone with 20+ years of experience as well, can we agree that, if you're doing this for any code that really matters, that this is fundamentally irresponsible and, in some circumstances, unethical? Suppose you were legally liable for your code misbehaving in a way that led to harm. Would you behave differently? And do you do this by choice? Or is this the case of an employer forcing you to vibecoded while skippi…

It depends on. There's of course code that must be deeply checked. And all shades of grey. I guess it needs experience to know when to do what. Regarding to be forced or not... There are many kinds of pressure, features, deadlines... Of course, I learned how to deal with them and when to speak up or not. My boss is paying me the AI abo. He wants to get things done as fast and as good as possible. That's his job. We have to make sure to not keep behind. Other companies bring out new features faster and faster. Sadly, that's how the world goes round. I personally would take it slower... but seems there's only one way as longs as there are a few that go as fast as possible, you have to keep up.
Post reply on HN