Top
Best
New

Posted by vnbrs 12 hours ago

When I reject AI code even if it works(vinibrasil.com)
193 points | 112 commentspage 3
danfritz 5 hours ago|
This resonates a lot with me. I often use AI for the plan and let it propose multiple possible implementations, I often have to point out the glaring easier / logical solution.

When implementing its often a lot of misses with a few golden hits. The other day it used flex for a table layout while our app uses tables everywhere sigh.

Another typical one is that it tends to prefere frontend aggregation and looping of data instead of letting the database and backend deal with it.

Using mix of claude, cursor composer and codex.

eranation 10 hours ago||
LLMs diverge, not converge. They slightly increase entropy if not controlled. While you can have DRY skills and use AI to organize AI (in loops(tm) like Boris does) but eventually if you don’t understand the code, you are taking yourself out of the loop. And not just the job security that’s on the line, it’s the increasing cost for AI to babysit AI. If you or your “loops” (or paperclip, Hermes, gastown, or next in class agents of agents that runs your entire company) let it gradually sneak in slop-debt, the cost to fix it later will become prohibitive. (You can always just rewrite it, but as the race for “feature complete” and “zero backlog” continues, rewriting an ever growing set of new daily table stakes will become an economical moat)

TLDR: Keeping your codebase human readable and reason-about-able is not just helping humans to stay relevant. It will save costs for LLMs to maintain it.

rvz 10 hours ago||
> Before coding agents, when given a task, I would explore the codebase, think of different solutions, experiment, and only then implement. That could take days of consolidating all that context. When I finally submitted that PR, confidence was higher, and explaining each of my changes to my coworkers was easier.

Now we are getting to the point where we are speed-running the deskilling of engineers into comprehension debt and they themselves rapidly losing confidence in reviewing code they did not write.

I think this blog post [0] is the best example of what could go entirely wrong and even worse when you do not know the technology.

If you cannot explain a change even when "the CI is green" or "all tests passing", I will immediately reject it.

Maybe great for vibe coding prototypes, but it all changes when that code is deployed onto mission critical systems. Just ask Amazon with Kiro. [1]

[0] https://sketch.dev/blog/our-first-outage-from-llm-written-co...

[1] https://www.reuters.com/business/retail-consumer/amazons-clo...

_wire_ 11 hours ago||
"Even if it works?"

How do you verify that it works?

serious_angel 11 hours ago||
For example, the following "works":

    json='{ "left":2, "right":2 }';    
    result="$(
        perl -e '($_)=<>; / "left":(\d+), "right":(\d+)/; print $1 + $2, "\n";' <<< "$json";
    )";
    printf '%s\n' "$result";
Yet, it is literally the same as:

    printf '%s\n' "$(( 2 + 2 ))";
p1024k 11 hours ago|||
According to the author's intention, it is the code that he cannot understand or control. Even if the solution provided by the AI works, he will not adopt it. This is unless he can understand or control it. This should be an assumption.

However, if AI provides a solution, as the person using AI, one should conduct research before making a decision. This is not in conflict with or hindered by the use of the ideas provided by AI.

andyfilms1 10 hours ago|||
I will say--as someone who has fielded late night troubleshooting calls--I totally understand OP's point of view. It's reasonable to expect that you will be able to answer questions about something that you ship, or brainstorm ways to solve a problem a customer is encountering while using something you provided them.

The obvious counterargument is "well, just ask the AI for those answers," but the AI lacks the context and experience that you have. Sometimes, genuinely, the user really is just "holding it wrong," but none of the current AI models would ever admit that, and you'd spend hours trying to solve an unsolvable problem.

Grombobulous 10 hours ago||||
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, and you can do everything it does using alternative methods. So if it break, there is no real negative impact besides personal convenience of anyone using it. There’s some documentation on how to do everything manually if needed.

Here’s another example: you’re making a static website. No JavaScript, no interactivity. Truly, what could go wrong? And while I do understand HTML a lot better than Go, it wouldn’t really matter if I didn’t.

what 8 hours ago|||
> 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?

Grombobulous 41 minutes ago||
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.

skydhash 9 hours ago|||
> 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?…

Grombobulous 38 minutes ago||
“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.

fzeroracer 9 hours ago|||
If I'm on call solving a problem another engineer caused and I reach out to them for clarification and they say 'I don't know, the AI wrote it' I am going to advocate for them being fired tomorrow.
archargelod 4 hours ago|||
You can't. You must prove it. And I don't mean that you need a rigorous scientific proof - that would obviously be too hard to do for every single function/library/program.

Human developer can work on a program incrementally, ensuring at each step that it is mostly correct.

But LLMs can't think, they fake reasoning and explore problem space in random walk until they stumble into something that looks like a solution. And these "solutions" will have hilarious and absolutely unexpected failure modes.

xigoi 6 hours ago||
Vibe coders seem to have the misconception that if the LLM’s code passes all tests (also generated by the LLM), then it must be correct.
aimattb 8 hours ago||
[flagged]
cws_ai_buddy 8 hours ago||
[flagged]
YongHaoHu 5 hours ago||
[dead]
monkamonme 8 hours ago||
[flagged]
codelong888 9 hours ago||
[flagged]
OffBeatDev 8 hours ago|
[dead]
More comments...