this post was submitted on 20 Jun 2024
472 points (89.7% liked)
Technology
58013 readers
2839 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This. Many of these tools are good at incredibly basic boilerplate that's just a hint outside of say a wizard. But to hear some of these AI grifters talk, this stuff is going to render programmers obsolete.
There's a reality to these tools. That reality is they're helpful at times, but they are hardly transformative at the levels the grifters go on about.
I use them like wikipedia: it's a good starting point and that's it (and this comparison is a disservice to wikipedia).
Yep! It’s a good way to get over the fear of a blank page, but I don’t trust it for more than outlines or summaries
Man, I need to build some new shit.
I can't remember the last time I looked at a blank page.
Blank pages are for the young
I wouldn't even trust it for summaries beyond extremely basic stuff.
I agree with your parenthetical, but Wikipedia actually agrees on your main point: Wikipedia itself is not a source of truth.
I interviewed a candidate for a senior role, and they asked if they could use AI tools. I told them to use whatever they normally would, I only care that they get a working answer and that they can explain the code to me.
The problem was fairly basic, something like randomly generate two points and find the distance between them, and we had given them the details (e.g. distance is a straight line). They used AI, which went well until it generated the Manhattan distance instead of the Pythagorean theorem. They didn't correct it, so we pointed it out and gave them the equation (totally fine, most people forget it under pressure). Anyway, they refactored the code and used AI again to make the same mistake, didn't catch it, and we ended up pointing it out again.
Anyway, at the end of the challenge, we asked them how confident they felt about the code and what they'd need to do to feel more confident (nudge toward unit testing). They said their code was 100% correct and they'd be ready to ship it.
They didn't pass the interview.
And that's generally my opinion about AI in general, it's probably making you stupider.
I've seen people defend using AI this way by comparing it to using a calculator in a math class, i.e. if the technology knows it, I don't need to.
And I feel like, for the kind of people whose grasp of technology, knowledge, and education are so juvenile that they would believe such a thing, AI isn't making them dumber. They were already dumb. What the AI does is make code they don't understand more accessible, which is to say, it's just enabling dumb people to be more dangerous while instilling them with an unearned confidence that only compounds the danger.
Spot on description
Yup. And I'm unwilling to be the QC in a coding assembly line, I want competent peers who catch things before I do.
But my point isn't that AI actively makes individuals dumber, it's making people in general dumber. I believe that to be true about a lot of technology. In the 80s, people were familiar with command-line interfaces, and jumping to some coding wasn't a huge leap, but today, people can't figure out how to do a thing unless there's an app for it. AI is just the next step along that path, soon, even traditionally competent industries will be little more than QC and nobody will remember how the sausage is made.
If they can demonstrate that they know how the sausage is made and how to inspect a sausage of packages, I'm fine with it. But if they struggle to even open the sausage package, we're going to have problems.
Yeah, I honestly don't have any real issue with using it to accelerate your workflow. I think it's hit or miss how much it does, but it's probably slightly stepped up from code completion without "AI".
But if you don't understand every line of code "you" write completely, you're being grossly negligent and begging for a shitshow.
I just don't bother, under the assumption that I'll spend more time correcting the mistakes than actually writing the code myself. Maybe that's faulty, as I haven't tried it myself (mostly because it's hard to turn on in my editor, vim).
Nah perfectly fine take. Each their own I say. I would absolutely say that where it is, not bothering with it is completely fine. You aren't missing all that much really. At the end of the day it might have saved me ten-fifteen minutes here and there. Nothing that's a tectonic shift in productivity.
Yeah, most of my dev time is spent reading, and I'm a pretty fast typist, so I never bothered.
Maybe I'll try it eventually. But my boss isn't a fan anyway, so I'm in no hurry.
It can be useful in explaining concepts you're unsure about, in regards to the reading part, but you should always verify that information.
But it has helped me understand certain concepts in the past, where I struggled with finding good explanations using a search engine.
Ah, ok. I'm pretty good with concepts (been a dev for 15-ish years), I'm usually searching for specific API usage or syntax, and the official docs are more reliable anyway. So the biggest win would probably be codegen, but that's also a relatively small part of my job, which is mostly code reviews and planning.
Yeah. I haven't bothered with it much but the best use I can see of it is just rubber ducking.
Last time I used it was to asked how to change contrast in a numpy image. It said to multiply each channel by contrast. (I don't even think this is right and it should be
((original value-128) * contrast) + 128)
notoriginal value * contrast
as it suggested), but it did remind me I can just run operations on colour channels.Wait what's my point again? Oh yeah, don't trust anyone that can't tell you what the output is supposed to do.
Wait wait wait so... this person forgot the pythagorean theorem?
Like that is the most basic task. It's
d = sqrt((x1 - x2)^2 + (y1 - y2)^2)
, right?That was off the top of my head, this person didn't understand that? Do I get a job now?
I have seen a lot of programmers talk about how much time it saves them. It's entirely possible it makes them very fast at making garbage code. One thing I've known for a long time is that understanding code is much harder than writing it, and so asking an LLM to generate your code sounds like it's just creating harder work for you, unless you don't care about getting it right.
Yup, you're hired as whatever position you want. :)
Our instructions were basically:
It was technically different (we phrased it as a top-down game, but same gist). AI generated manhattan distance (
abs(x2 - x1) + abs(x2 - x1)
) probably due to other clues in the text, but the instructions were clear. The candidate didn't notice what it was doing, we pointed it out, then they asked for the algorithm, which we provided.Our better candidates remember the equation like you did. But we don't require it, since not all applicants finished college (this one did). We're more concerned about code structure, asking proper questions, and software design process, but math knowledge is cool too (we do a bit of that).
College? Pythagorean Theorem is mid-level high school math.
I did once talk to a high school math teacher about a graphics program I was hacking away on at the time, and she was surprised that I actually use the stuff she teaches. Which is to say that I wouldn't expect most programmers to know it exactly off the top of their head, but I would expect they've been exposed to it and can look it up if needed. I happen to have it pretty well ingrained in my brain.
Yes, you learn it in the context of finding the hypotenuse of a triangle, but:
So when I'm interviewing, I try to provide things like algorithms that they probably know but are likely to space on, and focus on the part I care about: can they reason their way through a problem and produce working code, and then turn around and review their code. Programming is mostly googling stuff (APIs, algorithms, etc), I want to know if they can google the right stuff.
And yeah, we let applicants look stuff up, we just short circuit the less important stuff so they have time to show us the important parts. We dedicate 20-30 min to coding (up to an hour if they rocked at questions and are struggling on code), and we expect a working solution and for them to ask questions about vague requirements. It's a software engineering test, not a math test.
Yeah, that's absolutely fair, and it's a bit snobby of me to get all up in arms about forgetting a formula - although it is high school level where I live. But to be handed the formula, informed that there's an issue and still not fix it is the really hard part to wrap my head around, given it's such a basic formula.
I guess I'm also remembering someone I knew who got a programming job off the back of someone else's portfolio, who absolutely couldn't program to save their life and revealed that to me in a glaring way when I was trying to help them out. It just makes me think of that study that was done that suggested that there might be a "programmer brain" that you either have or you don't. They ended up costing that company a lot to my knowledge.
I don't want to believe that coders like these exist and are this confident in an AI's ability to code.
My co-worker said told me another story.
His friend was in a programming class, and made it nearly to the end, when he asked my friend for help. Basically, he had already written the solution, but it wasn't working, and he needed help debugging it. My friend looked at the code, and it looked AI generated because there were obvious mistakes throughout, so he asked his friend to walk him through the code, and that's when his friend admitted to AI generating the whole thing. My friend refused to help.
They do exist, but this candidate wasn't that. I think they were just under pressure and didn't know the issue. The red flag for me wasn't AI or not catching the AI issues, it was that when I asked how confident they were about the code (after us catching the same bug twice), they said 100% and they didn't need any extra assurance (I would've wanted to write tests).
Copilot / LLM code completion feels like having a somewhat intelligent helper who can think faster than I can, however they have no understanding of how to actually code, but are good at mimicry.
So it's helpful for saving time typing some stuff, and sometimes the absolutely weird suggestions make me think of other scenarios I should consider, but it's not going to do the job itself.
Legitimately, this is the only use I found for it. If I need something extremely simple, and feeling too lazy to type it all out, it'll do the bulk of it, and then I just go through and edit out all little mistakes.
And what gets me is that anytime I read all of the AI wank about how people are using these things, it kind of just feels like they're leaving out the part where they have to edit the output too.
At the end of the day, we've had this technology for a while, it's just been in the form of predictive suggestions on a keyboard app or code editor. You still had to steer in the right direction. Now it's just smart enough to make it from start to finish without going off a cliff, but you still have to go back and fix it, the same way you had to steer it before.
I know engineers who make over double what I make solely because of that skill.
I think we all had that first moment where copilot generates a good snippet, and we were blown away. But having used it for a while now, I find most of what it suggests feels like jokes.
Like it does save some typing / time spent checking docs, but you have to be very careful to check its work.
I've definitely seen a lot more impressively voluminous, yet flawed pull requests, since my employer started pushing for everyone to use it.
I foresee a real reckoning of unmaintainable codebases in a couple years.
Looks like two people suckered by the grifters downvoted your comment (as of this writing). Should they read this, it is a grift, get over it.
Yes, and then you take the time to dig a little deeper and use something agent based like aider or crewai or autogen. It is amazing how many people are stuck in the mindset of "if the simplest tools from over a year aren't very good, then there's no way there are any good tools now."
It's like seeing the original Planet of the Apes and then arguing against how realistic the Apes are in the new movies without ever seeing them. Sure, you can convince people who really want unrealistic Apes to be the reality, and people who only saw the original, but you'll do nothing for anyone who actually saw the new movies.
I've used crewai and autogen in production... And I still agree with the person you're replying to.
The 2 main problems with agentic approaches I've discovered this far:
One mistake or hallucination will propagate to the rest of the agentic task. I've even tried adding a QA agent for this purpose but what ends up happening is those agents aren't reliable and also leads to the main issue:
It's very expensive to run and rerun agents at scale. The scaling factor of each agent being able to call another agent means that you can end up with an exponentially growing number of calls. My colleague at one point ran a job that cost $15 for what could have been a simple task.
One last consideration: the current LLM providers are very aware of these issues or they wouldn't be as concerned with finding "clean" data to scrape from the web vs using agents to train agents.
If you're using crewai btw, be aware there is some builtin telemetry with the library. I have a wrapper to remove that telemetry if you're interested in the code.
Personally, I'm kinda done with LLMs for now and have moved back to my original machine learning pursuits in bioinformatics.
Also, a lot of people who are using AI have become quiet about it of late exactly because of reactions like this article's. Okay, you'll "piledrive" me if I mention AI? So I won't mention AI. I'll just carry on using it to make whatever I'm making without telling you.
There's some great stuff out there, but of course people aren't going to hear about it broadly if every time it gets mentioned it gets "piledriven."
Pretty much me. I am using it everywhere but usually not interested in mentioning it to some internet trolls.
You can check my profile if you want, or not. 7 months ago I baked my first loaf of bread. I got the recipe from chatgpt. Over 7 months I have been going over with it on recipes and techniques, and as of this month I now have a part time gig job making artisan breads for a restaurant.
There is no way I could have progressed this fast without that tool. Keep in mind I have a family and a career in engineering, not exactly an abundance of time to take classes.
I mentioned this once on lemmy and some boomer shit starting screaming how learning how to bake with the help of an AI didn't count and I need to buy baking books.
Edit: spelling
And if you need examples of people being piledriven, you can browse my history a bit. :) Since I'm not doing anything with AI that would suffer "professionally" from backlash (such as might happen to an artist who becomes the target of anti-AI witch-hunters) I've not been shy about talking about the good things AI can do and how I use it. Or at calling out biased or inaccurate arguments against various AI applications. As a result I get a lot of downvotes.
Fundamentally, I think it's just that people are afraid. They're seeing a big risk from this new technology of losing their jobs, their lifestyles, and control over their lives. And that's a real concern that should be treated seriously, IMO. But fear is not a good cultivator of rational thought or honest discourse. It's not helping people work towards solving those real concerns.
Yeah, this is exactly what I think it is. I'm a bit concerned about how hard it's going to hit a large number of people when they realize that they're echo chamber of "LLMs are garbage and have no benefits" was so completely wrong. I agree that there are scary aspects of all this, but pretending like they don't exist will just make it harder to deal with. It's like denying that the smoke alarm is going off until your arm is on fire.
I'm inclined to believe, based on this thread, that you and the person you're replying to didn't read the article because the person who wrote it and most of the replies to it are not saying "LLM's are garbage and have no benefits".
The post is specifically calling out companies that have jumped on the "AI LLM" train who are trying to force feed it into every single project and service regardless of whether it will be useful or beneficial or not. And they will not listen to people working in the field who tell them no it will not be beneficial.
The hype is what people are upset about because companies are selling something that is useful in selective cases as something that will be useful to everyone universally for just about everything and they're making products worse.
Just look at Google and their implementation of AI LLM'S in search results. That's a product that isn't useful unless it's accurate. And it was not ready to be a public facing service. In their other products it's promising more but actually breaking or removing features that users have been using for years. That's why people are upset. This isn't even taking into account the theft that went on of people's work to get these LLM'S trained.
This is literally just about companies having more FOMO than sense. This is about them creating and providing to the public broken interactions of products filled with the newest "tech marvel" to increase sales or stock price while detrimentally affecting the common user.
For every case of an LLM being useful there are several where it's not. That's the point.