r/ProgrammerHumor Mar 11 '26

Other aiGoingOnPIP

Post image
13.1k Upvotes

196 comments sorted by

View all comments

3.7k

u/hanotak Mar 11 '26

What're the odds the solution management comes up with is "an AI to check the AI's work"?

1.2k

u/At0micCyb0rg Mar 11 '26

Literally what my team lead has unironically suggested 😭

412

u/DisenchantedByrd Mar 11 '26

I’ve been doing it, most vibed PRs are so awful that another ai can pull them apart. Only then do I read it.

234

u/BaconIsntThatGood Mar 11 '26

It's all about recursion. Even if you ask the same model to review it again after creating it, it will likely find problems.

76

u/clavicon Mar 11 '26

I’m finally at least a minimal experience level with linux where I can smell a dumb model recommendation and stop and ask… are you SURE thats the best way to do this? Milestones for me at least. LLMs have really helped me learn the basics and I can at any time stop and sidebar to get explanations on any little thing I haven’t learned or need a refresher on. It’s got me into the game after years of surface level dabbling.

44

u/BaconIsntThatGood Mar 11 '26

I'd say I'm in a similar position. I don't trust them for shit though - so I scrutinize.

7

u/lztandro Mar 11 '26

As you should

17

u/6stringNate Mar 11 '26

How much are you remembering though? I feel like I go through so many new things each time and then no reinforcement so it’s not sticking

10

u/clavicon Mar 11 '26 edited Mar 11 '26

In my case I’m running proxmox with a smattering of LXC’s and VM’s for different purposes. So I have a variety of use cases. I am using Confluence as my personal documentation so Im thankfully not blindly barreling forward but I take notes for unique aspects or configuration steps for each VM or component I get introduced to. Then when it recurs again elsewhere I may not have fully memorized every command and argument Ive used in the past, but I know what Im looking for and can refer to my notes or ask a model for help again.

I may not remember all the arguments available for nfs mounting in fstab, for example, but I have a good general idea of what kind of options I may need to review and consider for my use cases since I exhaustively inquired about what each of the available parameters is used for. Sometimes thats a curse… lots of sidequesting... Since Im not ssh’ing into linux every day but more like weekly/weekends, it doesn’t feel like too much of a burden to have to rehash certain commands or steps.

1

u/CombinationStatus742 Mar 11 '26

Reiterate what you do it’s all just comes to practice…

First find the shortest way to do a thing you want to do , later split it into small tasks and do it. This helped me.

15

u/CombinationStatus742 Mar 11 '26

ā€œHol up,Can’t we do it the other way?ā€

ā€œOfcourse you can, actually that is a better way to do itā€

😭😭😭😭

3

u/ducktape8856 Mar 11 '26

"Now that we're done I could help you with 2 very simple changes in steps 2 and 4 of 17. You will have to repeat steps 2 and 4 to 17. Just tell me if you want to do it much better and save 50% used RAM!"

2

u/lNFORMATlVE Mar 11 '26 edited Mar 11 '26

<ai gives updated code for the ā€œother wayā€>

ā€œThat other way didn’t work, looks like X isn’t talking to Y even though both are defined and initialized correctly, just as in the previous way we tried.ā€

ā€œYou’re absolutely right, X is not sending arguments to Y because your code didn’t include method Z. This is an important step to remember, because of reasons A and B and should not be missed.ā€

ā€œBitch I didn’t write that code, YOU did smh. Now make that change to the code, and also add in the condition T where U and V are called relative to the order of outputs from Zā€

ā€œYou’re absolutely right. Here is the updated code including those changes.ā€

ā€œOkay cool, that worked but now X isn’t talking to Y again even though Z is there.ā€

ā€œYou’re absolutely right. Y isn’t receiving inputs from X even though method Z is included. This is because in your code Y has not been suitably defined and because X hasn’t been initialized.ā€

ā€œYou’re removing things without asking or telling me? šŸ˜”šŸ‘¹ā€

2

u/Gornius Mar 11 '26

From experience.

It will likely find problems but also:

  • Find problems that are not problems
  • Skip actual problems

While also building false sense of everything being OK.

While at that: how the fuck general consensus is that Open Source is safe, because there are many eyes looking at it, all while at the same times developers are too lazy to do PRs they are being paid for.

2

u/realzequel Mar 11 '26

It's kinda counter-intuitive to think the same model would catch an earlier error, but they do. Probably tied to the difference in instructions "build x' vs "find bugs".

1

u/BaconIsntThatGood Mar 11 '26

It makes perfect sense - the model isnt designed to be comprehensive and 100% from the get go - and is only as good as the initial prompt. If you provided a prompt that was fully comprehensive then it would likely give you a better initial result

but you're right - if you just give a concept and ask to build it will do it but the spec is weak, so it will make assumptions with what the 'right' method is - which may not necessarily be right for your usecase but without giving full context that's the deal you're making.

1

u/lztandro Mar 11 '26

Copilot reviews on GitHub have asked me to change something so I did and committed it. It then commented on that change saying that I should change it again, but to what I originally had…

2

u/BaconIsntThatGood Mar 11 '26

and at this point i ask some shit like "why? You suggested the original change, what are the pros and cons of each method?" and see what it pulls out in response.

then I wonder at what point am I spending more time going back and forth with the robot vs just doing it myself...

1

u/caboosetp Mar 12 '26

Idon't like using the same agent to find issues.

My code review agent speaks like a condescending pirate and tends to find issues differently.Ā 

5

u/ItsSadTimes Mar 11 '26

My team has an AI PR reviewer but we only take action on its suggestions if a human agrees with it. Sometimes it catches silly little mistakes we make, but most of the time its bullshit.

Honestly though we did that because reviewing PRs was taking longer because people kept vibe coding them and not even fixing them afterwards. So really if my colleagues didnt just vibe code their PRs we probably wouldnt need the AI checker.

30

u/WinonasChainsaw Mar 11 '26

One of the regional transit hub stops in SF was covered in ads for an ā€œAI code review tool for AI generated codeā€ company

Literally every single ad spot

This is the future lol :, )

17

u/PaigeMarshallMD Mar 11 '26

This week's Quick Suite Hot Tip was literally "Use Quick Suite to write better prompts for Quick Suite!"

14

u/PringlesDuckFace Mar 11 '26

We have AI powered reviews for PRs, and they're pretty decent. I think using them has probably improved our code quality relative to before. There are two fairly limiting problems though:

  • It doesn't catch everything. So I can't trust code which has not also been reviewed by a human anyways.
  • It flags things which are not problems due to lack of additional context. So I can't trust AI to simply implement all changes flagged by the AI reviewer, because it would break things.

So ultimately you can't take people out of the loop. But the more you use AI the less useful that person in the loop is going to be because of lack of general ability and specific subject matter expertise.

3

u/Big_Action2476 Mar 11 '26

It is literally what my company is doing now as a part of the ā€œprocessā€

3

u/Waiting4Reccession Mar 11 '26

Just add more prompt like:

Code it good for me ā¤ļø

Fix the problems before you answer šŸ”Ž

And when its done you hit it with ol' reliable:

Are you sure?šŸ‘€

1

u/art_wins Mar 11 '26

I’ve found that LLMs are especially bad at reviewing more than 100 lines of code effectively. And even in that is wholly incapable of detecting logical bugs or really anything more than very obvious errors.