16 ms·
I'm tired of fixing customers' AI generated code
- w_for_wumbo 2y agoI'd be tempted to just roll with the AI generated endpoints/hallucinations. If it's presenting me statistically probable names that make sense after absorbing the world's knowledge, I'm tempted to lean into that, instead of insisting that I have it right. Correct names don't succeed as often as useful names do.
- pocketarc 2y agoThat's a great idea, but I think the main problem is that the generated endpoints/properties will be affected quite heavily by whatever the prompt/context was. AI isn't necessarily saying "this is the one endpoint that will always be generated". Unless it is - if the customer generated code is always the same endpoints/properties then it'd definitely make sense to also support those.
- TillE 2y agoI'm always a little surprised at how many people out there want to develop software yet haven't put in the effort to gain even the most basic computer nerd programming chops. You see this all the time in the more newbie-friendly game engine communities. Maybe you don't want to pursue a career in software, but anyone can spend a week learning Python or JavaScript. I suspect/hope a lot of these people are just kids who haven't gotten there yet.
- jprete 2y agoCoding requires a willingness to understand and manipulate systems made of unbreakable rules. Most people don't want to deal with such an uncompromising method of communication.
- busterarm 2y agoAnd then there are those of us who find computers to be more bearable than people... At least computers don't think it's their god-given right to treat you like garbage.
- Mistletoe 2y agoDid you not use Windows 95?
- __MatrixMan__ 2y agoWhat percentage of web traffic today would you say is composed of bits that the user--if they bothered to inspect it--would prefer to not have anything to do with? I'd say it's more than half. Computers treat people like garbage all the time.
- fragmede 2y agoyou're right, but I have a hard time picturing the computer as having emotions to be able to treat me like garbage in the first place. you won't rm the file? sudo rm file! the computer could fight back and say access denied still because of extended attributes, but for some reason I don't equate poorly written software as being treated like garbage. I always imagine some hapless programmer is doing the best they could with the resources they have in the system they're under, it's just not very good but that's not their fault.
- __MatrixMan__ 2y agoI'm similarly sympathetic when I come across a buggy implementation. It's malicious design that I'm objecting to. But I suppose it's a bit silly to say that it's the computer that's treating me like garbage. It's just that someone else is in control of my computer, and they're treating me like garbage.
- sim7c00 2y ago
- hamandcheese 2y agoI think you overestimate the amount of skill a newb can quickly gain on their own. I taught myself to code, but it took a whole summer (aka free time that adults don't get) and I had access to my dad (who was a software engineer himself) to answer lots of questions.
- dylan604 2y agoI read a "Teach yourself $language in 10 days" book in a weekend, and was banging code on Monday to create the first v0.1 in a week. Of course the code was absolutely horrendous, but it worked. I still have a copy of that old database that was used, and over the years, I have turned to it as I've learned new things and have even rewritten the UI a couple of times. It has helped me stay up to date with new trends as it was originally written in '99 using frames, then went to full CSS/JS, then used it to learn flex, and so on. So, if you're solo dev'ing, you can get away with making things work with what you've learned in a week. You just wouldn't be hired by anyone else of a serious nature. So it just depends on the individual and projects being worked.
- malfist 2y agoBut you're building on the context of knowing a different language. Picking up the second, fifth, or nth language is easy, as long as it isn't the first one.
- kloop 2y agoThe second one actually seems to be harder for some people. It requires separating the syntax from the semantics Agreed on all further ones, however
- dylan604 2y agoWhat makes you say that? I learned HTML using Notepad and Netscape. I had a single semester as senior in high school that taught PASCAL, but that was 7 years prior. Not really sure how that helped in the slightest. I don't feel this is any different from someone that might have taken a class that taught HTML/JS/CSS except for that would actually be learning directly applicable to today. If that type of person jumped into a bootcamp, I feel like that would be similar to anything I experienced if not better. The internet is a thing now so there is so much more access to anything I had.
- mrbombastic 2y agoA week is not anywhere close to enough to learn programming in any meaningful way for someone with no experience.
- tourmalinetaco 2y agoIt is, however, enough to make small programs and extend from there. Especially following a book like K&R.
- wuming2 2y agoTime to expertise is down to zero in “Fake until you make it” circles. 260 week-long iterations later, having survived the “hype curve” and the “Valley of Death”, they declare themselves “battle-proven”. A.k.a. experts.
- sergiotapia 2y agothe worst is when someone knows all the keywords to make it seem like they are technical but after talking for a few days you realize wait they really don't know wtf they're talking about!
- whatshisface 2y agoThis is one of the rewards for paying full attention to people, even when you aren't forced to by the situation: small misalignments slip out long before you hear something that jars you into a critical frame of mind.
- hinkley 2y agoExpert beginners.
- jpc0 2y agoUntil I decided to start "reinventing the wheel" and just not using abstractions from popular libraries and frameworks I really struggled to actually understand what is happening. I feel like a week isn't anywhere near close enough but depending on what you want to do it gets you to start tinkering. Ironically I do wish that I had started working on embedded with microcontrollers than starting with web purely because there isn't space for absurd abstractions. On web even the DOM API is a huge abstraction over rendering calls to OpenGL/DirectX/Vulkan and I never could grok what is happening with the DOM API until I played with the underlying tech and learnt about trees and parsers and how that would be stored. I still use the DOM and love the abstraction, but sometimes I just wish I could use an immediate mode approach instead of the retained mode that the DOM is... Someone with a week of knowledge, or even someone who has spent 10 years building react may not understand half of that unless they have actively tried to learn it. Thwy might have an idea if they had formal education but a self taught programmer. They have been building houses using lego blocks, I you give them mortar and bricks you are setting them up for failure.
- nsonha 2y ago> You see this all the time in the more newbie-friendly game engine games tend to attract young people (read: beginners) but at the same time game programming's barrier to entry is pretty high with maths & physics, low-level graphical programming, memory management, low level language and dependencies, OOP... It's almost obvious that this should be the case, every kid who's interested to coding I talked to wants to do something with games.
- elzbardico 2y agoThis is not the case any more and have not been for a very long time. There are plenty of game engines, and some of them are specifically targeting beginning game devs and abstract a lot of that stuff in really high level concepts that require no much more from the developer than some really basic arithmetics and geometry intuition. In fact, there are so many beginner-friendly gaming engines out there for most languages, that I am convinced that we should start using games as the entry-point for teaching programming languages. It is a beatifully self-contained domain.
- soared 2y agoGame dev is a fun hobby some people like to mess around with, just like any other hobby. Doesn’t mean they’ll be experts or know what they’re doing, but they’ll try and probably ask some basic questions online. I mess around in goody and game maker and can write some shitty code there, but I’ve never written a line of code for work. I just like messin around for fun
- sim7c00 2y agoits nice to have a hobby. I make Operating systems as a hobby. But because I am not an Army of dilligent engineers with a knowledge based in all history of computing and computer science, i would not dare to ship my code to an unwitting user and allow them to connect to the internet. Thats dangerous in these times. Do you know how many botnets exist because of shit game-engines that are easily exploited and connected peer-to-peer etc. Lovely frameworks and engines... but really harmful if you ask me. People are unwitting victims of other peoples hobby projects. You need to be responsible in this day and age. If you don't want to do the due dilligence, or are stapped for resources (time, knowledge, etc.) then it's best to for example, make a singleplayer game, or LAN only and disallow any IP addresses in your game not defined as internal class ranges. Do have a hobby, and do have fun, but do so responsibly. You wouldn't want one of your works of love and passion to end up hurting someone would you? Simple steps can be taken to project the consumers of your lovecraft from the vicious world out there. It's sad this is needed, but that's no excuse not to do it. Humans should be better, but they are not.
- dylan604 2y agoThere's a common phrase that founders should code, but not all founders are coders. So when the start up is small and the founders want to contribute by testing PoCs, the chatbots are getting used by those founders that can't code. Lucky for me, the PoC is just that and allowed to be implemented without shimming the PoC directly. I cringe every time they mention using the bots, but luckily it has been controllable.
- triyambakam 2y agoI think people often don't know where to begin.
- fingerlocks 2y agoAgreed. I’ve experienced this in different programming domains. A mere ten or so years ago I only wrote firmware in C and MacOS apps in objective-c. That was my world and it was all I knew, and all I’ve done for a long time. Then something happened. Small startup. Website needs urgent fix and the web guy is MIA, so what the hell, I can take a stab at it. Literally had no idea where to start. I didn’t know about npm, minified transpiling, much less actual testing and deployment. Could not make sense of anything anywhere. Hopelessly lost. I even grepped the JavaScript for “void main()” out of desperation. Just ridiculous
- viccis 2y agoOne of my favorite intern stories was a kid who was a compsci senior, very good university, and who was assigned to write some Python code for my team. He had the very immature "Python is a baby's language" attitude. He wasn't working on my stuff so I don't really keep track of what he's doing, but a few weeks later I look at what he has written. Almost all of his Python functions have one parameter with an asterisk, and he does a len() check on it, printing and return an integer if it's not the right length of function arguments. Turns out this guy learned this behavior from Perl, used an asterisk because why not he always does in C, and was just manually unpacking every function argument and using a C style return error handling process. Still the most insane thing I've seen, but I know there are a lot of kids out of college who got used to gen AI for code writing who put out a lot of this kind of code. Also, coincidentally, we haven't hired any US college interns in about 3 years or so.
- fragmede 2y agoA friend of mine says LLMs are good at producing bad pandas code because there's just so much of it out there to train off of.
- giraffe_lady 2y agoThis sort of thing is a weird relic of CS programs doing double duty as "professional school for software development" and "undergrad prep for an academic math career." You just don't know how much they actually learned about programming as a discipline in its own right and it very well could be functionally zero. I've seen recent CS grads who didn't know how to use git, didn't know how to split code across multiple files or understand why you would even want to. I think there's a fairly sound argument for these being different degrees, that a certain kind of researcher doesn't necessarily need these skills. But since it isn't there's just a huge range in how schools reconcile it.
- viccis 2y agoIMO it could be closer to a doctor/nurse dichotomy. Doctors learn medicine. From top to bottom, then insanely deep into their specialty, if they aren't a generalist. Then they spend the rest of their lives keeping up with new medical research and often doing much of it themselves, teaching others, etc., along with practicing medicine. To do that last part, the act of which justifies all of the research, they do residencies. Nurses have their own training pipeline that often centers much more patient management and practical application of medical research. It's an easier training pipeline and they are paid much less, but the fact is that most people don't have what it takes to be a doctor, and the world doesn't need that many of them, it needs more practitioners. Likewise, I think that any person who is going into the software development industry should either do it as one who gets a deep compsci education along with mandatory training in a modern practitioner skillset, or one who just learns how to practice software dev with just enough theory to handle basic problems. One could also go pure compsci, but the academia+practitioner path I mentioned earlier should have a separate title so that you can trust that the person with this credential has some baseline utility right out the gate. Right now, "computer science" encompasses all of this, which is a huge problem for employers. At the very least, it would be nice if we settled on some universal definitions for various job roles, including "computer scientist", "software engineer", "software developer", etc. Right now, all of these are floating signifiers!
- creesch 2y agoI am not, I see it happening even within companies. They figure that for some junior tech related roles they don't need to hire people with the education and just teach them in house. Often not developing itself, but things like automated tests in a QA role. The result is people that have no technical background, no real interest in it either, no basic framework to start from learning to use a specific set of tools and a very basic understanding of programming.
- stavros 2y ago> I'm always a little surprised at how many people out there want to develop software yet haven't put in the effort to gain even the most basic computer nerd programming chops. If you're surprised by reality, that says something about your mental model, not about reality. People don't want to "learn programming", they want to "make a thing". Some people learn programming while making a thing, but why learn about how the sausage is made when all you want is to eat it?
- sfn42 2y agoI like learning how to do stuff. It's strange to me that people think they can do stuff without learning how
- dahart 2y ago> People don’t want to “learn programming”, they want to “make a thing”. Hahaha, I wish that were true, but it’s not. Lots of people want to learn programming for learning and programming’s sake, or because programming is more lucrative than sausage making. I think I’ve worked with more programmers that care more about programming than the end result, than making something. It’s constantly frustrating and a huge source of over-engineering mistakes that have proliferated through engineering. > why learn about how the sausage is made when all you want is to eat it? Then why do sausages get made? It’s because not everyone only wants to eat them. There’s a variety of reasons people make sausages and also like eating them, from making money, to making high quality or interesting variety sausages, to being self-sufficient and not paying others for it, to learning about how it’s done. It’s been my experience that the more someone cares about eating sausages, the more likely they are to dabble in making their own.
- _xiaz 2y agoAnyone who already programs for a couple of years can spend a week learning $lang. Learning programming for the first time takes a long while and a lot of effort. I'd say a couple of months if you're bright and motivated. Possibly a year or two if you're not.
- rurp 2y agoI agree with the part that someone who wants to build something technical should gain at least some related knowledge, but a week is underselling the effort needed to learn how to code by a lot. After one week of teaching myself Python I couldn't code my way out of a paper bag, and I'm someone who enjoyed it enough to stick with it. The average person would need at least 10x that amount of time to be able to start building something interesting.
- tensor 2y agoI'm not surprised at all. Honestly the "I don't need to learn that" mentality is common in tech even in people who call themselves senior developers. It's especially noticeable in the hostility of many towards the sorts of information you learn in a good computer science degree. How many arguments have we heard here along the lines of "why teach algorithms universities should be teaching _insert_fad_technology_of_the_day_." Big Oh and time complexity is a special favourite for people to pick on and accuse of being useless or the like. You see it in arguments around SQL vs document databases, people not being willing to recognize that their for loops are in fact the same as performing joins, people unwilling to recognize that yes they have a data schema even if they don't write it down. So I'm not surprised at all that people would use AI as a substitute for learning. Those same people have likely gotten by with stackoverflow copypasta before gen AI came about.
- randomdata 2y agoSeems like the natural progression from end goal to breaking it down into the smaller and smaller pieces required to see the goal through, as people have always done. Before LLMs you'd probably have to reach for learning Python or Javascript sooner, at least if StackOverflow didn't have the right code for you to copy/paste, but I expect anyone who sticks with it will get there eventually either way.
- tazu 2y agoHilariously, the target market for the author's API seems to be the same as the top post on HN today[0]: "traders". I think amateur "trading" attracts a specific brand of idiot that is high/left on the Dunning Kruger curve. While taking money from idiots is a viable (even admirable) business strategy, you may want to fully automate customer service to retain your sanity. [0]: https://news.ycombinator.com/item?id=41308599 https://news.ycombinator.com/item?id=41308599
- cscurmudgeon 2y agoOut of topic, but: https://www.mcgill.ca/oss/article/critical-thinking/dunning-kruger-effect-probably-not-real https://www.mcgill.ca/oss/article/critical-thinking/dunning-... > The two papers, by Dr. Ed Nuhfer and colleagues, argued that the Dunning-Kruger effect could be replicated by using random data.
- kaoD 2y agoThe more I'm reading this article the less I understand their point. Is there an actual paper that describes how their "random data" is generated? I can also generate random data that looks like any distribution by carefully choosing the random distribution. What's their point?
- bofadeez 2y agoIt's people who generally don't have any other skills and reject all evidence for Efficient Market Hypothesis. They legitimately think what they're doing is not gambling. No amount of empirical evidence can convince them they have no risk-adjusted alpha
- creesch 2y agoYeah the customer demographic here likely does worsen the situation. Although I am sure that this is happening elsewhere as well.
- cratermoon 2y agoThere's already a big market for taking out AI garbage, and it expect it to grow as the AI bubble bursts. The best thing a consultant can do today is learn the common issues and failure modes of AI generated code. Providing an API service to customers means you will get terrible client code. Sometimes it's dumb stuff like not respecting rate limits and responding to errors by just trying again. One option, if you don't want to fix it yourself, is to partner with a consultant who will take it on, send your customers to them. Bill (or set your API access rates) appropriately. Sometimes you have to fire customers. Really bad ones that cost more than they bring in are prime candidates for firing, or for introducing to your "Enterprise Support Tier".
- OutOfHere 2y ago[flagged]
- axelthegerman 2y agoAs long as AI is just hallucinating sh*t I don't think anyone needs to be particularly worried :) It's got a long way to go to even stack up to bad programmers that somehow are always able to find a job somewhere.
- deleted 2y ago[deleted]
- core_dumped 2y agoLanguage models aren’t AI no matter how hard you squint. When we get actual AI (not counting on anytime soon) it will be more than the annoyed developer that loses their job
- tbrownaw 2y agoWe'll never have AI, because once we figure something out it stops being AI. Modern generative stuff like LLMs and image diffusers counts at least as much as the various older used-to-be-AI things.
- fragmede 2y agoI mean, when the LLM says it isn't intelligent, why question it? https://chatgpt.com/share/127aa0ca-2273-4330-862d-53d9ff3dcf71 https://chatgpt.com/share/127aa0ca-2273-4330-862d-53d9ff3dcf... On the other hand, if you ask it if it's artificially intelligent, it says yes: https://chatgpt.com/share/37517e92-4c53-4053-846f-ab513e1dc939 https://chatgpt.com/share/37517e92-4c53-4053-846f-ab513e1dc9...
- deleted 2y ago[deleted]
- randomdata 2y ago> Language models aren’t AI no matter how hard you squint. While you are free to make up any definition you want on the spot, so are others. Yes, language models are just plain old boring machine learning like any other, but machine learning is a subset of what most people consider to be the area of AI. > When we get actual AI (not counting on anytime soon) it will be more than the annoyed developer that loses their job Again, while you can define things however you please, so can everyone else. This is what most people would consider AGI, not AI.
- djaouen 2y agoI'm not! Email in bio.
- deleted 2y ago[deleted]
- matrix_overload 2y agoWell, if you are annoyed by a particular maintenance task related to your business, find a way to automate it! In this case, you could create examples for your API in common programming languages, publish them on the product website, and even implement an automatic test that would verify that your last commit didn't break them. So, most of the non-programmer inquiries can be answered with a simple link to the examples page for the language they want. As a bonus point, you will get some organic search traffic when people search for <what your API is doing> in <language name>.
- mrbombastic 2y agoFunnily enough an llm is pretty good at categorizing and prioritizing support requests.
- lagniappe 2y agoThere's room for all of us in this industry. What someone is unwilling to do is just an opportunity for someone else to pick up the yoke.
- deleted 2y ago[deleted]
- aunty_helen 2y agoThis could actually be an ingenious way of solving the problem. If someone has a support issue and can't solve it themselves, yet requires coding help, forward them a freelancer that they can hire for 20$/hr from upwork that knows this API well etc.
- fragmede 2y agoUnfortunately it doesn't look like there's a way to contact the author of this piece.
- nkrisc 2y agoI have the sense that most of these people won’t be willing to pay anything to have their code fixed.
- shadowgovt 2y agoI wonder if there's any consistent pattern to the API hallucinations.
- surfingdino 2y agoYes. They are all crap.
- lqcfcjx 2y agonow you probably should build an AI to fix AI generated code based on your documentation.
- bdcravens 2y agoThis seems like a support issue, not an AI issue. AI is how the code was written, but the issue would be the same if it was amateurs writing bad code. If all you want to do is support your API, a support article outlining the issues you see over and over would be something to point your customers to. Warrant your API against errors, but point out that anything more is billable work. If you're not interested, partner with someone to do that work. You could even offer support contracts that include some amount of customization.
- SpicyLemonZest 2y agoIt's a support issue in a sense, but in many contexts people want to offer a better support experience than "anything more is billable work". A reputation for being helpful and customer-friendly is valuable, especially in a business where you're selling to other programmers, and you can't buy that reputation after the fact with money from support contracts.
- omoikane 2y agoThis post seems to be saying that AI opened up a new avenue for people to demand free work. If someone asked "I wrote some rough designs and interfaces, can you write me an app for free?" The author could easily detect it as a request for free work. But because the first part is hidden behind some ChatGPT generated code and the second part is disguised as a request for help, the author would be tricked into doing this free work, until they detected this pattern and write a blog post about it.
- xoac 2y agoIs this a chatgpt summary of the article?
- m463 2y ago> amateurs writing bad code in volume, this turns into support writing the code. I think of how the south park movie folks sent so much questionable content to the censors that the compromise in the end let through lots of the puppet sex.
- 2y ago
- nsonha 2y agois there a way we can make a support bot or a chat-based document that is fine tuned and limit the answer to only what's in the API? Getting the users to use it is another issue but one problem at a time.
- protocolture 2y agoYeah so every tech revolution does this right. ATMs were meant to kill banking jobs but ah theres more jobs in banking than ever. The Cloud was meant to automate away tech people, but all it did was create new tech jobs. A lot of which is cleaning up after idiots who think they can outsource everything to the cloud and get burned. LLMs are no different. The "Ideas Man" can now get from 0 to 30% without approaching a person with experience. Cleaning up after him is going to be lucrative. There are already stories about businesses rehiring graphic designers they fired, because someone needs to finish and fine tune the results of the LLM.
- dylan604 2y agoI seriously hope those rehires are coming back with a refined rate as well.
- protocolture 2y agoA healthy dickhead tax on the way back in would be smart.
- busterarm 2y ago> ATMs were meant to kill banking jobs but ah theres more jobs in banking than ever. ATMs only handle basic teller functions and since COVID in NYC I had to change banks twice because I couldn't find actual tellers or banks with reasonable open hours. BoA had these virtual-teller only branches and the video systems were always broken (and the only option on Saturday). This was in Midtown Manhattan and my only option was basically a single branch on the other side of town 8-4 M-F. I'm now happily with a credit union but at least since moving to the south things are generally better because customers won't tolerate not being able to deal with an actual person.
- creesch 2y ago> ATMs were meant to kill banking jobs but ah theres more jobs in banking than ever. US banks, who are surprisingly behind the times in as far as automation goes. Here a lot of banks used a lot of automation to reduce the amount of manual jobs needed. to the degree that many offices are now also closing as everything can be done online. And no, there is no need to visit banks here as I get the impression it is in the US. We don't even have physical checks anymore.
- anonzzzies 2y agoI have a business fixing broken code/systems (especially if it is stressful and last minute); if you are tired/annoyed of something in the software market, just up your fees. For us not much changed; a lot of badly (throw the spec over the wall) outsourced software was fairly bad since forever; AI generated code is similar. I guess this will grow even faster though, as normally solid developers might take on a lot more work and get sloppy with AI.
- sira04 2y agoCould you make a model from your API/docs and let them plug that into their AI stuff? That would be funny.
- danielmarkbruce 2y agoIf you are building an API and have decent docs, it's a totally ok trade off to say "i'll lose some customers this way, but I'm not providing support". And just be upfront about it. Some stores have a no return policy with no exceptions. They lose some customers, it's ok.
- tonyoconnell 2y agoWhy don't you use AI to provide support? I'm serious actually. This sounds like something AI can do really well.
- hsbauauvhabzb 2y agoSpoken like someone whose never been on the receiving end of any such ‘support’.
- ilaksh 2y agoFor the problems given in the article, it will 100% work. It's very easy for Claude 3.5 or gpt-4o to look at documentation for a couple of API endpoints, compare it to submitted code, and point out invalid endpoints and properties. It can provide correct code also if the custom is asking for something possible. It won't be flawless but if the issues are as basic as stated in this article, then it seems like a good option. It will cost money to use the good models though. So I think the first step would be to make sure if they ask for an invalid endpoint it says that in so many words in the API response, and if they ask for an invalid property it states that also. Then if that doesn't give them a clue, an LLM scans incoming support requests and automatically answers them. Or flags them for review.. To prevent abuse, it might be a person doing it but just pressing a button to send an auto-answer. But maybe a relatively cheap bot in a Discord channel or something connected to llama 3.1 70b would be good enough to start, and people have to provide a ticket number from that bot to get an answer from a person.
- stitched2gethr 2y agoI'm a bit torn. My first thought was "If the current state of the art LLMs made the mistakes it's unlikely an LLM would be able to correct them." But I'm not sure that's true if the support LLM (chat bot) is given very specific instructions so as to limit the possible answers. Still I think that's gonna break down pretty quick for other reasons. Maybe the chat bot can recognize a botched request and even suggest a fix but what then? It certainly won't be able to convert the user's next request into a working application of even moderate complexity. And do you really want a chat bot to be the first interaction your customers have. I think this is why we haven't seen these things take off outside of very large organizations who are looking to save money in exchange for making customers ask for a human when they need one.
- mediumsmart 2y agoI always make gpt fix the code it created. How else would I learn.
- alexeiz 2y agoI had a related episode at work when my coworker asked me why his seemingly trivial 10 line piece of code was misbehaving inexplicably. It turned out he had two variables `file_name` and `filename` and used one in place of another. I asked him how he ended up with such code, he said he used copilot to create it. Using code from a generative AI without understanding what it does is never a good idea.
- frumper 2y agoI knew a guy that made a good living as a freelance web developer decades ago. He would pretty much just copy and paste code from tutorials or stack overflow and had no real idea how anything worked. Using code without understanding it is never a good idea, it doesn’t need to be from AI for that to be true.
- Laakeri 2y agoBut he made a good living out of it, so in the end it was a good idea?
- emseetech 2y agoIt certainly puts a ceiling on a career. And I'd argue it probably gave him a pretty rough shelf life. At some point he has to understand what he's doing. Unless he's so good at selling his services he can consistently find new clients. And if that's the case, he'd probably kill it in sales.
- fragmede 2y agosales engineer is quite a lucrative career. don't have to be really good at it, just enough to be useful.
- snoxy 2y agoSales engineers have to be good enough to bluff their way through the layers of hyperbole/minor exaggeration/utter bullshit (delete as applicable) the sales team have spun. Whether their conscience gets involved before the deal closes, different question.
- bijutoha 2y ago[dead]
- sholladay 2y agoSo have an AI do it for you!
- jowdones 2y agoRetail "traders" are the textbook definition of mentally challenged obnoxiousnes. Go meet them on forums like EliteTrader.com and you will soon realize who you are dealing with. It's your fault really. You don't build custom software for guys having the intellectual capacity and budget of a tractor driver unless you enjoy pain.
- wh-uws 2y agoI will take all of these customers. Please forward them to me.
- atomic128 2y agoFor real: profitable consulting businesses have been formed to help LLM programmers. BUGFIX 66, for example, and various others. They can charge substantial money to help customers cross that "last mile" and get their LLM-generated pile of code working.
- schainks 2y agoI am literally doing this right now for a client with a prototype, never realized the market is as big as people are saying!
- cbg0 2y agoThese "customers" were receiving free help. If they wanted to spend money on quality software they wouldn't have used an LLM.
- sproosemoose 2y agoThe crypto product in question is for a very young age group. https://pump.fun/board https://pump.fun/board
- FractalHQ 2y agoThis website is so cursed… on mobile it’s constantly layout shifting up and down by an entire screen height every ~0.3 seconds. I’m not sure how to feel.
- gumby 2y ago> Helping a customer solve challenges is often super rewarding, but only when I can remove roadblocks for customers who can do most of the work themselves. One thing I loved about doing technical enterprise sales is that I’d meet people doing something I knew little or nothing about and who didn’t really understand what we offered but had a problem they could explain and our offering could help with. They’d have deep technical knowledge of their domain and we had the same in ours, and there was just enough shared knowledge at the interface between the two that we could have fun and useful discussions. Lots of mutual respect. I’ve always enjoyed working with smart people even when I don’t really understand what they do. Of course there were also idiots, but generally they weren’t interested in paying what we charged, so that was OK. > Helping a customer solve challenges is often super rewarding, but only when I can remove roadblocks for customers who can do most of the work themselves. So I feel a lot of sympathy for the author — that would be terribly soul sucking. I guess generative grammars have increased the number of “I have a great idea for a technical business, I just need a technical co founder” who think that an idea is 90% of it and have no idea what technical work actually is.
- cl3misch 2y agoYour second quote is the same as the first one. Did you copy the same one twice by accident?
- underdeserver 2y agoI suspect the quote was pasted by mistake the first time.
- gumby 2y agoYeah, I moved the paragraphs around and pasted the quote in where it belonged, forgetting that it had been pasted at the top. Too late to edit, though.
- alex-moon 2y agoThis is honestly something I'm grateful for a lot of the time. I'm presently running a tech start-up in a highly technical domain (housebuilding, in a word) which also happens to be pretty hostile to businesses. People look at a planning application like "Why are there hundreds of documents here?" and it's because yeah, it is hard - there are huge numbers of variables to take into account, and the real "art" of urban design is solving for all of them at once. Then you send it to planning and basically no-one is happy, why haven't you done this and what are you going to do about that. You have to be pretty creative to survive. Before that, I worked in a digital print organisation with a factory site. This factory did huge volumes on a daily basis. It was full of machines. They had built up a tech base over years, decades, and it was hyper-optimised - woe betide any dev who walked into the factory thinking they could see an inefficiency that could be refactored out. It happened multiple times - quite a few devs, myself included, learned this lesson the hard way - on rare occasion thousands of lines of code had to be thrown out because the devs hadn't run it past the factory first. It's an experience I'd recommend to any dev - build software for people who are not just "users" of technology but builders themselves. It's not as "sexy" as building consumer-facing tech, but it is so much more rewarding.
- userbinator 2y agoCryptocurrent trading tools? The susceptibility of people to get-rich-quick scams and the desire to not do even the minimum of work is surely correlated. Stop poisoning the well and then complaining that you have to drink from it.
- tdignan 2y agoOP should set up an AI chatbot to triage his customer support. It probably wouldn't be that hard to send that code right back to GPT and get a fix suggestion to the customer instantly. Stick your documentation for each endpoint in a vector database, and use RAG to give them a quick fix. If it doesn't work let them go to level 2 support for a fee.
- thomasahle 2y agoThese kind of support requests are also a big issue for open source projects. Hanging out at the DSPy discord, we get a lot of people who need help with "their" code. The code often uses hallucinated API calls, but they insist it "should work" and our library simply is buggy.
- black_13 2y ago[dead]
- bruce511 2y agoA tiered approach to sales can help here. Cheap version offers minimal support. (Although you still have to sift "bug reports" into my problem/ your problem.) Standard version allows for more support (but still rate limited.) Developer version charges for time spent, in advance. This helps because people only expect free support if you don't explicitly offer something else. If you offer paid support them it's reasonable and expected that there are limits on free support.
- gorbachev 2y agoI've been saying for a while now that there's an absolute gold mine waiting for people who want to specialize in fixing AI generated applications. A lot of businesses are going to either think they can have generative AI create all of their apps with the help of a cousin of the wife of the accountant, or they unknowingly contract a 10x developer from Upwork or alike who uses generative AI to create everything. Once they realize how well that's working out, the smart ones will start from scratch, the not-so-smart will attempt to fix it. Develop a reputation for yourself for getting companies out of that pickle, and you can probably retire early.
- PeterStuer 2y agoDoesn't solve the problem that the budget they has in mind for the app was $300, while an experienced dev can directly see this is going to be a $20K v.1 before change requests project.
- KoolKat23 2y agoAnd this is why people continue to do it. And at that, with such a discrepancy, why not? Proof of concept, you know if it adds value and makes money, enough money to pay $20k.
- urbandw311er 2y agoI think the missing proof point is whether companies would fork out the extra $19,700 once they understand the actual cost.
- PeterStuer 2y ago99% of them were never in the bespoke sofware market to begin with. If the $300 did not work put, they'll cobble something together in Excel pr use some SaaS that comes close enough.
- gorbachev 2y agoSo they'll try 5 $300 fixes, and then either give up entirely, or figure out that maybe the 100 developers they ignored who told them it's gonna cost $20K were right.
- deleted 2y ago[deleted]
- nbzso 2y agoThis is only the beginning. Imagine this when AI bot chains and "agents" replace conveniently junior devs on scale. Someone will "hack" an API/Lang Chain/Insert-LLM-Framework Solution. The next decade of support business is here. Fix my "hallucination" market. Thank you, Microsoft. You did it again.
- delifue 2y agoSomeone mentioned "hallucination-based API design" on twitter (I cannot find it now). It's designing API by LLM hallucination. If there is a common hallucination API call, just add that API. This will make the API more "friendly" and resemble common similar APIs. Considering that LLM can hallucinate in different ways unpredictably, not sure whether it will work in practice.
- sim7c00 2y agoI doubt LLM hallucinations will produce good secure code. In my opinion, using code from LLMs, which might see your program come to life a bit quicker, will only enhance the time needed for debugging and testing, as there might be bugs and problems in there ranging from trivial things (unused variables) to very subtle and hard to find logic issues which require a deeper knowledge of the libraries and frameworks cobbled together by an LLM. Additionally, it takes out a lot of the knowledge of these things in the long run, so people will find it more and more challenging to properly do this testing and debugging phase.
- IanCal 2y agoThe description here isn't about using LLM hallucinations as code. It's using them as example API users and seeing what they get stuck on. Let's say you've got some rest API. Are they trying to send PATCH requests but you only support POST? Do they keep trying to add pagination or look for a cursor? Do they expect /things to return everything and /things/id to return a single one but you have /things and /thing/1 ? None of this is to say you must do whatever they are trying to do but it's a very cheap way of seeing what introducing your API/library to a new user might be like. And, moreover, you can only ever introduce someone once but you can go again and again with a LLM. Review the things they're doing and see if actually you've deviated from broad principles and if a change/new endpoint actually would make things much easier. Fundamentally you can break this down to "if there's someone who can do some coding but isn't a top class programmer, how much do I need to explain it to them before they can solve a particular problem?"
- sim7c00 2y ago
- Pikamander2 2y ago> Often this takes the form of trying to access an endpoint that does not exist, or read a property off the API response that does not exist. After probing a bit more, my suspicions are usually confirmed — ChatGPT hallucinated that endpoint or property In some cases, you might be able to use this to your advantage to improve the product. When working with third-party APIs, I've often run into situations where my code could be simplified greatly if the API had an extra endpoint or parameter to filter certain data, only to be disappointed when it turns out to have nothing of the sort. It's possible that ChatGPT is "thinking" the same thing here; that most APIs have an X endpoint to make a task easier, so surely yours does too? Over time I've sent in a few support tickets with ideas for new endpoints/parameters and on one occasion had the developer add them, which was a great feeling and allowed me to write cleaner code and make fewer redundant API calls.
- ben_w 2y ago> It's possible that ChatGPT is "thinking" the same thing here; that most APIs have an X endpoint to make a task easier, so surely yours does too? While this is possible, I would caution with an anecdote from my ongoing side project of "can I use it to make browser games?", in which 3.5 would create a reasonable Vector2D class and then get confused and try to call .mul() and .sub() instead of the .multiply() and .subtract() that it had just created. Sometimes it's exceptionally insightful, other times it needs to RTFM.
- fenomas 2y agoI feel like we'll eventually all agree that it's a mistake to ask a generalist LLM for code. I've found ChatGPT to be fine at talking about code - like describing the difference between two APIs - but for generating nontrivial chunks of working code I think it's miles behind Copilot and similar. And I assume that's just because, y'know, ChatGPT can write sonnets and translate Korean to Swahili and whatnot. It's amazingly broad, but it's not the right tool for the comparatively narrow problem of code generation.
- Kuinox 2y ago
- jonplackett 2y agoI would suggest adding a help section with advice for people using ChatGPT that sets expectations and also gives a pre-written prompt for them to use. Something like. Some of you may use ChatGPT/Copilot to help with your coding. Please understand this service is designed for professional programmers and we cannot provide extensive support for basic coding issues, or code your app for you. However if you do want to use ChatGPT here is a useful starting prompt to help prevent hallucinations - though they still could happen. Prompt: I need you to generate code in ____ language using only the endpoints described below [describe the endpoints and include all your docs] Do not use any additional variables or endpoints. Only use these exactly as described. Do not create any new endpoints or assume any other variables exist. This is very important. Then give it some examples in in curl / fetch / axios / python / etc. Maybe also add some instructions to separate out code into multiple files / endpoints. ChatGPT loves to make one humungous file that’s really hard to debug. ChatGPT works fairly well if you know how to use it correctly. I would defo not trust it with my crypto though, but I guess if some people wanna that’s up to them. May as well try and help them!
- markatkinson 2y agoI'm tired of fixing my own AI generated code.
- xg15 2y agoWe have come full circle: Silicon Valley is finally disrupting the software engineering industry...
- orbit7 2y agoAs a basic offering have good documentation and a community support forum and the option to report bugs. Make the type of support you are providing paid, this could be in tiers. Outsource support as needed.
- amai 2y agoI‘m tired of fixing my colleagues‘ AI generated code. They churn out a lot of code in a short amount of time, but then we loose the saved time again because during pull request review they often cannot explain what this code is actually doing. Maybe I should use an AI for code review, too?
- throwuxiytayq 2y agoWhy are these people employed? Isn’t that a bit like a fake employee who outsources his work behind your back? You can’t work with the guy because he literally doesn’t even know or understand the code he’s pushing to the repo
- ramesh31 2y ago>Why are these people employed? After being stuck on a project with a few of them recently, I've started to figure it out. They know they are incompetent, and are afraid of being around competent people who would call them out. So they link up with other likewise incompetents to maintain a diffusion of responsibility, so the finger can't be pointed at any one person. And when the system they are building inevitably fails horribly, management can't really fire the whole team. So they bumble along and create "make work" tickets to fill time and look like something is happening, or they spend their time "fixing" things that should have never existed in the first place by layering mountains of hacks on top, rather than reassessing anything or asking for help. Rinse and repeat once the project has clearly failed or been abandoned.
- j-a-a-p 2y ago> My API is just a few well documented endpoints. If you can figure out how to send a POST request using any programming language, you should have no problem using it. But that seems to be too high a bar for the new generation of prompt-engineer coders. Nice. The time has come that we need to design the API with the LLM in mind. Or, to rephrase that, test your API that it is working with the popular LLM tools regularly.
- OJFord 2y agoI think this is the point to establish a 'community', and in particular to only 'offer' community support (or charge more for spending your own time on it). Some people will enthusiastically fix other customers' generated crap for free, let them.
- treprinum 2y agoSet firm boundaries and reject/ghost customers that want to build their app for free and are "angry". Those never lead to anything profitable.
- tpoacher 2y agoSame, but for academic documents. It used to be that a 'bad' document had things 'missing', which were easy to spot and rephrase / suggest improvements. Now a 'bad' document is 50 pages of confusing waffle instead of 5, you need to get through the headache of reading all 50 to figure out what 'sentence' the person was trying to express at the place where an autogenerated section has appeared, figure out if the condensed document is something that actually had any merit to begin with, THEN identify what's missing, and then ask them to try again. At which point you get a NEW 50-page autogenerated document and start the process again. F this shit.
- shireboy 2y agoI can empathize, but am also wondering if some of these are feature requests in disguise. For “how to call api” docs, sample code, and even client libraries can be generated from your OpenAPI specs. Link to the docs in every reply. The more complex asks could be translated “build this endpoint and charge me for it”. If all else fails, set up partnership with devs who want to fix/build customers crap and figure out some copy to direct the more complex asks to them.
- jollyllama 2y agoAgreed, client libs and sample applications have fallen by the wayside and could provide a solution here. It makes it very obvious to the customer when they download and run something that works, and then their changes break it, that the issue is with their changes.
- afro88 2y ago> Often this takes the form of trying to access an endpoint that does not exist, or read a property off the API response that does not exist. After probing a bit more, my suspicions are usually confirmed — ChatGPT hallucinated that endpoint or property This is an opportunity. Add another tier to your pricing structure that provides an AI that assists with coding the API connection. Really simple Llama 3.1 that RAGs your docs. Or perhaps your docs fit in the context already if the API is as simple as it sounds.
- netcan 2y agoThis is totally understandable, valid, etc. OTOH, see script kiddies, WYSIWYG Stack Overflow C&P, etc. It's just the way things are now.
- paxys 2y ago> The worst is when a request starts out simple — I help them fix one hallucination — but then that customer wants to build more complex logic, and somehow I’ve set the expectation that I will provide unlimited free support forever. I’ve gotten a number of angry messages from customers who essentially want me to build their whole app for free. Welcome to the life of any consultant/support agent/open source maintainer ever. AI isn't the problem here, managing expectations is.
- mu2si3 2y ago[dead]
- paxys 2y agoI can guarantee that all these users are following some "hustle university" course peddled by a Twitter influencer. Crypto and AI are the two favorite words of all these get rich quick scams.
- pvillano 2y agoI won't say all investors are entitled and overconfident, inspired by grifters, emboldened by survivorship bias, and motivated by greed. That would be rude
- cqqxo4zV46cp 2y agoIt’d also be pretty naive, speaking to your seemingly quite narrow experience with the outside world. So, thank goodness you didn’t say it.
- b112 2y agoYou can be a Google dev, and make half a million a year! For only $29.95, we'll show you how to empower yourself with the wonders of AI!
- Tade0 2y agoTypically the decimal separator is two steps to the right here. The other day my friend showed me a curious screenshot where an, ahem, dev influencer showed all the courses he's done. Problem is, just one of those six courses amounted to two average net salaries in the region and they were fairly basic. Either the guy in question had a year's worth of runway (then why even bother getting into IT?), got into debt or... didn't actually pay for any of this and it was not disclosed. I do my best to dissuade people from spending their hard earned money on such things, but a significant chunk unfortunately does not listen.
- mikewarot 2y agoI'm on the other side of this when it comes to the C programming language. I've avoided it for decades, preferring Pascal, or even Visual Basic. The single best thing to help someone in my place is clear and coherent documentation with working examples. It's how I learned to use Turbo Pascal so long ago, and generally the quickest way to get up to speed. It's also my biggest gripe with Free Pascal... their old help processing infrastructure binds them to horrible automatically generated naming of parameters as documentation, and nothing more. Fortunately, CoPilot doesn't get impatient, and I know this, so I can just keep pounding away at things until I get something close to what I want, in spite of myself. ;-)
- linsomniac 2y agoSeems like the opportunity here is for the author to sell an AI that is trained on the API and documentation.
- andai 2y agoAs the author says, the errors are very easy to fix. Easy enough for GPT! He should set up a support chatbot. Only seems fair? ;) I'm half joking, but in most cases I found that GPT was able to fix its own code. So this would reduce support burden by like 90%. I hate chatbot support as much as the next guy, but the alternative (hiring a programmer to work as a customer support agent on AI generated code all day?) sounds not only cruel, but just bad engineering.
- dimal 2y agoI’ve found that it’s often able to fix its own code when I’m able to understand that problem and state it clearly. On its own, it tends to just go in circles and proudly declare that its solve the problem, even though it hasn’t. It needs a knowledgeable person to guide it.
- cynicalpeace 2y agoAI is going to be like any other tool. If you don't know how to use it, you may end up hurting yourself. If you know how to use it, it will make you 100x more efficient.
- pacoWebConsult 2y agoSeems to me like you have an opportunity to develop a couple SDKs in your customers' favorite languages (probably python and typescript) and a simple "Get Started" template that could alleviate a lot of these requests. Show them the base case, let them figure out how to work with your api via an SDK instead of directly with an API and let the advanced users build their own SDKs in whatever language they prefer. Since its, as OP claims, a simple HTTP API, the SDK could be generated with OpenAPI client generation tools.
- jdance 2y agoSeems like a good way to have a bunch of new products to also support
- pacoWebConsult 2y agoMaintaining an OpenAPI spec when you make changes to your API and regenerating the client SDKs through CI is really not a ton of extra work. A template to show a dead simple usage of your API can pay dividends as it lowers the barrier to a customer adopting your product over a competitor's.
- maxidorius 2y agoAnd then the customers will open support requests for code generated by an AI that misuse that very SDK. It doesn't look like OP's issue is with the code per say, only with the lack of skills of its customers, regardless of the code they write...
- dpassens 2y agoI don't really know how to point this out without sounding rude and obnoxious, which is not my intention, but it's "per se" (Latin for by itself), not "per say".
- maxidorius 2y agoNo rudeness taken, don't worry! TIL, I didn't know! Thanks!
- snakeyjake 2y agoAI, Rust, crypto, Medium, SAAS startups It's a fuckin perfect hacker news bingo. Magnificent!
- pmarreck 2y agoThe game might change (a little) when it can actually run the code it generates, examine any errors and potentially fix based on that. And when you use a language that has better checks all around.
- suprt411 2y agoDo you want to outsource this L1 L2 or even L3+ support? Lets talk
- bkazez 2y agoCharge for engineering support and hire someone to do it for you!
- ramesh31 2y agoWelcome to the hell that is being a senior dev nowadays. Every junior with a Copilot license all of the sudden fancies themselves an expert programmer now. It's absolutely maddening.
- adverbly 2y agoAnother concern is around reviewing it. I can't tell in a pull request what someone wrote themselves, or to what level of detail they have pre-reviewed the AI code which is now part of the pull request before allowing it to get to me. I can tell you I don't want to be fixing someone else's AI generated bugs though... Especially given that AI writes more/less dry/more verbose code, and increases code churn in general.
- hoosieree 2y agoJust add more AI, that'll solve everything. [edit] unfortunately I think I need to point out the above is sarcasm. Because there really are people using AI to review AI-generated code, and they do not see the problem with this approach.
- lacoolj 2y agolol this is just like trying to help people in programming discords that are literally using AI on screen to write and rewrite the entire app as they go. then they run into an issue, ask for help, and don't understand when you say "there's a memory leak 50 lines down" or "you have to define that variable first". AI is a great tool to help someone start an idea. When it goes past that, please don't ask us for help until you know what the code is doing that you just generated.
- jrochkind1 2y agoI am no partiuclar fan of AI (and actually haven't used copilot or similar myself ever), but the real problem here is not AI but: > I’ve gotten a number of angry messages from customers who essentially want me to build their whole app for free. I guess AI maybe encourages more people to think they can build something without knowing what they are doing. i can believe that for sure. There was plenty of that before AI too. Must be even worse now.
- zzz95 2y agoEvery problem hides opportunities! I can see a future where documentation will be replaced by a plugin to an AI code service. Instead of providing users with documentation on how to use the package, devs will be training an LLM on how to assist the user in generating the interface code. An elaborate Chat GPT prompt for instance.
- darepublic 2y agoI often think about code when I'm driving. I've thought about a way to brainstorm code ideas out loud and have the llm generate a code file with my idea. I'm talking about a fairly granular level, where I'm specifying individual if blocks and the like. Then when I have my hands available I can correct the code and run my idea
- jameslk 2y ago> Often, though, the customer is envisioning a more complex application, and I just have to tell them, “Sorry, you’re going to have to hire a professional developer for this.” Welcome to enterprise sales, where building custom solutions atop of your sprawling BaaS empire is exactly what you do. Your customers have a need and you’re basically turning down an upsell opportunity that also buys you lock in to your platform. Another way to look at it: are they all trying to build something similar or something with similar components? Maybe it’s time to expand the features of your product to reduce the amount of work they need to do.
- julianeon 2y agoI'm wondering if he could just adjust the API to give an error message that an LLM (or a person) could understand and then correct. It might be worth putting some effort into beefing that up, to cut down the support requests.
- aussieguy1234 2y agoand they thought AI would put SWE's out of work... If there are more people able to prototype their ideas with AI, sooner or later they will need a real engineer to maintain/improve that code. That will lead to more jobs and higher demand for SWE's.
- yawaramin 2y agoThe customer support issue with selling SaaS is not just about AI, I think. It's widespread across the industry. There are customers who have almost no idea about how their software works, and expect you to guide them through their own specific setups. One issue we regularly have is people complain that our TLS certificate keeps changing and that they want us to notify them in advance of any change. We try to tell them that two/three-month duration TLS certificates is a best practice and that they should ensure that their trust store knows about standard root certificates. Then it turns out their software only supports one root cert at a time and they want us to jump into a call and guide them through changing it in their software.
- imrejonk 2y ago> The worst is when a request starts out simple — I help them fix one hallucination — but then that customer wants to build more complex logic, and somehow I’ve set the expectation that I will provide unlimited free support forever. I’ve gotten a number of angry messages from customers who essentially want me to build their whole app for free. Annoying, but a good way to weed out bad customers. Life’s too short to deal with people who feel this entitled.
- michaelcampbell 2y agoThis whole thing reminds me of the dotcom boom where people who learned a week or 2's worth of HTML were suddenly "programmers", and were being hired because they could put on their own pants more often than not.
- fuzzfactor 2y ago>I'm tired of fixing customers' AI generated code Well, that didn't take long . . .
- yym68686 2y ago[dead]