[HN Gopher] Testing GPT 4's code-writing capabilities with some ...
___________________________________________________________________
Testing GPT 4's code-writing capabilities with some real world
problems
Author : TylerGlaiel
Score : 463 points
Date : 2023-03-17 04:39 UTC (18 hours ago)
(HTM) web link (tylerglaiel.substack.com)
(TXT) w3m dump (tylerglaiel.substack.com)
| adverbly wrote:
| I think having a better understanding about the underlying
| statistical model of how these AIs are trained is helping me keep
| back the wave of fear and anxiety associated with AI risks.
|
| The singularity requires AIs to be very good at doing things
| people have not done before. But this form of machine learning is
| bad at that. It is like someone who doesn't actually understand
| anything has somehow managed to memorize their way through
| whatever topic you're asking about. They have lots of tips and
| information about things, similar to what you might currently
| find by doing research. But they don't seem to have what is
| required to push the boundaries of knowledge for understanding,
| because they don't actually really have it in the first place. Or
| maybe what they have is just very minimal when compared to the
| contribution of their memorization.
|
| Obviously you still have the main risks of breaking capitalism,
| mass unemployment, pollution of public communications, etc. But
| honestly, I think each of these are far less scary to me than the
| existential risk of superintelligence. So in a way I'm actually
| happy this is happening the way it is right now, and we don't
| have to deal with both of these risks at the same time.
|
| Our current approach is probably the safest way to progress AI
| that I can think of: it requires a new model to improve, and it's
| learning entirely from human data. It might not seem like it, but
| this is actually pretty slow, expensive, and limited compared to
| how I expected AI to improve given Sci fi movies or Nick
| Bostrom's writings(curious what he'd have to say about this
| resurgence of AI)
| Kareem71 wrote:
| Problem is reading someone else's old code takes an order of
| magnitude longer than writing new code
| copperx wrote:
| LLMs can explain code fairly accurately.
| fancyfredbot wrote:
| A great article with a practical example of a programmer using
| GPT to solve a problem it hasn't seen in its training data. It
| gives plausible but incorrect answers and the user isn't able to
| prompt it to correct them.
|
| It seems likely that a understanding of when NOT to use an LLM is
| a new skill programmers are going to want to learn in order to
| use their time efficiently.
| r3trohack3r wrote:
| Watching GPT write code hurts my brain.
|
| It starts at the first character, works forward one "token" at a
| time, and ends at the last character. Never moving back.
|
| It feels like it knows where it's going at the first character,
| even though it doesn't.
|
| It's like it starts speaking a sentence and, by the time it's
| done speaking, it's written a syntactically correct Node.js
| application.
|
| The way GPT communicates in English does seem similar to how
| humans communicate. The way GPT writes code doesn't seem to come
| close to approximating how humans do - it's an entirely different
| mechanism. Humans generally can't write code without a cursor and
| backspace.
| thingification wrote:
| Speaking from ignorance (I've not studied attention nor
| transformers): This is my feeling too. I feel like the next
| step isn't far away: a more explicit model of the world with a
| mechanism to both query and "feed back on" that model,
| correcting mistakes.
|
| If it's possible to get so far when that functionality seems in
| an important sense basically missing, imagine how far it'll go
| when that does happen.
| chillfox wrote:
| I don't think I have ever solved a truly new problem from scratch
| when programming... It's all been apply algorithm x to y problem
| or crud stuff.
|
| The most difficult problem that I have asked GPT-4 to solve was
| writing a parser for the Azure AD query language in a niche
| programming language and it did that just fine (I did have to
| copy paste some docs into the prompt).
| nitwit005 wrote:
| Pathfinding with extra constraints isn't "a new problem"
| either. There are a bunch of papers on the topic, and I'm sure
| there are multiple different variations on github. It still
| didn't succeed (did get close though).
| chillfox wrote:
| Maybe it could have got there with better prompting, maybe
| not. But by the time GPT-5 or 6 comes around it would be
| highly likely to be able to solve it perfectly.
| IIAOPSW wrote:
| So, how long until GPT decides it wants to automate all this
| tedious work and starts trying to code its own language model?
| pixl97 wrote:
| GPT won't even have to decide that, we'll look for ways to
| expand the model to self learn and tell it to do just that.
| Self improving AI is the goal for a lot of people.
|
| Not that this is a particularly controllable goal, nor a long
| term smart goal if you're human.
| nwienert wrote:
| In before all the comments about how "most code is trivial" or
| "most programming is stuff that already exists" or "you're
| missing the point look how it's getting better".
|
| I really am in awe of how much work people seem willing to do to
| justify this as revolutionary and programmers as infantile, and
| also why they do that. It's fascinating.
|
| Thinking back to my first job out of college as a solid entry
| level programmer. ChatGPT couldn't have done what I was doing on
| day 2. Not because it's so hard or I'm so special. Just because
| programming is _never just a snippet of code_. Programming is an
| iterative process that involves a CLI, shell, many runtimes, many
| files, a REPL, a debugger, a lot of time figuring out a big
| codebase and how it all links together, and a ton of time going
| back and forth between designers, managers, and other programmers
| on your team, iterating in problems that aren't fully clear,
| getting feedback, testing it across devices, realizing it feels
| off for reasons, and then often doing it and redoing it after
| testing for performance, feel, and feedback.
|
| Often it's "spend a whole day just reading code and trying to
| replicate something very tricky to find" and you only produce a
| single tiny change deep in the code somewhere. GPT is absolutely
| terrible at stuff like this.
|
| And yes, often it is finding new solutions that aren't anywhere
| on the internet. That's the most valuable programming work, and a
| significant % of it.
|
| Feel like there's 10 more points I could make here but I'm on my
| phone and don't like wasting too much time on HN. But man, what a
| disappointment of critical thinking I've seen in this specific
| topic.
| SuoDuanDao wrote:
| I think we're seeing the early phases a prediction I made in my
| first book come true: That computers will be more suitable than
| humans for most of the functions humans currently use their
| left brain half for.
|
| Best case, that will have a whole lot more humans using their
| right brain halves on things like defining the problem. I like
| the thought of that, it's more pleasant work. But a lot of
| intelligent people define their intelligence by how well their
| left brain half works and uncomfortable with how good Chatgpt
| is at those tasks. I think you're pointing out there's more to
| programming than left-brain activities, and I think you're
| right that silicon will never eclipse carbon at those
| challenges, but I think a lot of people are also feeling
| threatened by the fact that chatgpt is getting better and
| better at the thing they used to be better than all humans at.
| davemp wrote:
| > But a lot of intelligent people define their intelligence
| by how well their left brain half works and uncomfortable
| with how good Chatgpt is at those tasks.
|
| I think 'left brain' work also has a lot more predictability
| (knowing you can churn out ~X widgets/hr) so having only
| uncertain 'right brain' work can be uncomfortable for people
| to build their livelihoods upon.
|
| That being said. 'right brain' work is certainly more
| fulfilling for me.
| danuker wrote:
| > can be uncomfortable for people to build their
| livelihoods upon
|
| Absolutely. Not everyone can be consistently creative, and
| without a large enough financial buffer, it's a recipe for
| disaster.
| SuoDuanDao wrote:
| Great point. That's one reason I'm increasingly a single-
| issue voter focused on UBI.
| Quarrelsome wrote:
| I feel like there's a slight inaccuracy here that this
| article covers. GPT-like models excel at logical problems
| that have already been solved. As the article suggests the
| models (at least at the moment) are extremely keen to utilise
| existing solutions as opposed to inventing new ones. The
| existing solutions end up somewhat being far too distracting
| when problem complexity compounds beyond the common. This
| implies that those truly talented at solving logical problems
| will still be spearheading the development of novel
| solutions.
|
| We might be able to state that GPT will easily trim away all
| the average workloads for both the left and right. It can
| perform "creative writing" or draw pictures to an average or
| even beyond average extent, but it continues to currently
| struggle to hit the exceptional examples that humanity are
| capable of.
| munchbunny wrote:
| These statements can definitely be simultaneously true:
|
| * ChatGPT is revolutionary - honestly, it's genuinely
| impressive how much of a leap ChatGPT is compared to the
| attempts that came before it.
|
| * Programmers write a lot of simple code that has been written
| before - there are genuinely tons of cases of "write a web
| endpoint that takes an ID, looks it up in a database table,
| pulls an object through an ORM, and returns a JSON
| serialization of it." Most programmers? Doubt it. But tons of
| programmers write CRUD stuff and tons of IT admins do light
| scripting, and a lot of it is repeated code.
|
| Could ChatGPT do my job? Not even close. But it's still really
| impressive to me.
| Jeff_Brown wrote:
| I feel safe too, and I'm amused at the dynamic. GPT could do
| a lot of the things I do, but it would take someone who knows
| what I know in order to explain the task in sufficient detail
| for it to do that.
| pewpew2020 wrote:
| I feel it's the average programmer who is enamoured with GPT.
| The programmers working on hard stuff know that AI writing
| programs is still far away.
| weatherlite wrote:
| OK, most of us are average by definition, what's your point
| again? And - I think if it can replace my average ass it will
| sooner than you imagine be able to solve Linux Kernel bugs. I
| just don't see a huge difference in the computation required
| between CRUD and Kernel development: It's just statistics for
| the machine.
| throwbadubadu wrote:
| Very far imo.. I mean it delivers what it is, an average of
| much content out there.. and it is good at it, yes. So in a
| way, maybe the better future stack overflow with a nicer
| interface (however what could it do if there weren't
| stackoverflow to start with?)
|
| But on the other hand in new uncharted territory, it
| sometimes fails on the simplest shit: Asked it recently how
| to do one thing with enlighten (that I knew was possible with
| tqdm, but was almost sure not possible with enlighten). It
| just hallucinated up parameters to functions that didn't
| exist. Several rounds continued where it had that from, if
| different version. I asked it even for the reference where it
| meant it had that from.. and it referenced me fully confident
| a readthedocs url with tqdm and enlighten mixed, that didn't
| exist.. it is hilarious how it confidenlty can tell you one
| bullshit answer after the next.. dialogues always "hey are
| you really sure about xxx, did you look it up" "yeees, very
| certain, I did!" "But this doesn't exist" "Oooh, Im very
| sorry, you are correct and I am wrong, the next bullshit
| answer is: ..."
|
| The history disappeared I hope I get it back once, but the
| dialogue til getting to "No, it may be not possible with this
| library" was amazing, I'm really scared for our futures
| building up on that and what will happen if everything from
| business presentations to lawyer letter exchanges will build
| up on that..(:
| anonzzzies wrote:
| It's also programmers who work with average and bad
| programmers and finally have a way to not waste time with
| them anymore. I work on the hard stuff, gpt generate the rest
| (I don't have to waste time and energy to try to pull dead
| horses) and my colleagues go do something else. It's a
| reality today and will improve further. Sure it cannot do
| what I do, but that might improve; gpt4 is noticeably better
| than 3.5 at slightly harder things, especially if you work
| properly iterative with it and having it fix it's own errors.
| But no, it cannot do hard things it never saw; however it can
| give me all the boilerplate around the hard things so I only
| have to do the hard things. My days are simply 3-5 in 1 now,
| as I also don't have the overhead of explaining jira tasks to
| others who are never going to really grasp what they are
| doing anyway.
|
| So I am not average and I am enamoured with gpt, simply
| because it presents high value to me _now_ , more than some
| actual real humans. For me that's enough revolutionary.
| MrDresden wrote:
| It is not just those who are working on hard problems who are
| of that opinion.
|
| Good luck having a ML model understand a 20 year old
| undocumented dataformat developed inhouse at a specific
| research lab to be used in their proprietary systems which
| are also undocumented and are a part of a spiderweb of
| interconnected systems at that lab (I have worked at this
| particular lab).
|
| It will be a long time (if ever) until a ML model will be
| able to handle these situations (and I hazard a guess that
| most of the worlds active code is something akin to this).
|
| As a supporting tool for the software engineers working
| there, sure. Just like a linter.
| hackinthebochs wrote:
| >It will be a long time (if ever) until a ML model will be
| able to handle these situations (and I hazard a guess that
| most of the worlds active code is something akin to this).
|
| ChatGPT can do that right now. Just provide it example data
| in the input and it can extrapolate the format and interact
| with this abstraction (i.e. describe the format, write code
| to it, etc). LLMs don't just remix data it has seen before,
| they perform in-context learning. This means abstracting
| out patterns in the input and then leveraging it in
| generating output.
| sgarland wrote:
| Have you tried giving it a skeleton example of said
| undocumented data format? I've created some arbitrary ones
| and asked it to parse them, and it succeeded.
| maxdoop wrote:
| I don't think you've tried GPT-4.
|
| If you have, I don't think you are like majority of devs (maybe
| not on HN, but in real life).
|
| You sound lucky to have true, novel problems to solve each day.
| I'm with many here commenting that this is quite powerful
| stuff, especially when my day-to-day is writing simple CRUD
| apps, or transforming data from one format to another within an
| API, or configuring some new bit of infra or CI/CD.
|
| I'd love to be challenged in some new way, and have access to
| truly fascinating problems that require novel solutions. But
| most enterprises aren't really like that nor do that need that
| from majority of engineers.
| shinycode wrote:
| Also if all the company is doing is boring crud app as a
| service then the whole company is going to disappear once
| anyone can ask ChatGPT to create a version of the service for
| themselves
| Maxion wrote:
| Most CRUD apps in enterprise settings relate to something
| in the real world. E.g. ordering systems, warehouse
| management and so on.
|
| The hard part here isn't really the coding - but
| understanding the business logic and getting it out of the
| customer what they need.
|
| Often the customer hasn't even got a good enough grasp on
| their own business to be able to formulate what they need.
|
| In the short term this ai tools will make the programming
| part easier but the planning part is still hard.
| spratzt wrote:
| 'Understanding the business logic and getting it out of
| the customer' is precisely what a lot of programmers are
| bad at doing. Many would rather talk to a compiler than a
| human being. For them, ChatGPT is a real existential
| threat.
| Kostchei wrote:
| Some folks grew up without practicing code- did business
| / operational /technical things for 20+ years. For
| someone like that, chatGPT is manna from heaven. 0>0>
|
| I point chatgpt at the general problem and ask about the
| tech. Check it's answers, drill into specifics. As more
| questions, get it to write a prototype. (obviously with
| different parameters to prod- I don't trust open ai not
| to harvest from my interactions)- ok, now I have proof of
| concept, if it does the thing I want to do, then go to
| the engineers and say - hey I want to "X", here is RFC
| and rough code, .. any problems? if not, how long to push
| a localised version?
|
| I guess you might call this scripting or prototyping not
| "real coding" but, damn it's useful not have to fill my
| head with python etc. Or bore/waste a guy earning 150k
| for a half day plus to get the basics, then never get my
| prototype.. because, priority, resources, etc
| paganel wrote:
| Excellent response.
|
| I also wanted to add about the myriad of incoming data
| formats that need to be processed and the myriad of data
| exports that one has to implement for most of those
| "boring" CRUD apps.
|
| If one hasn't written code that includes comments like
| "Special case, California does it this way" or "Alberta
| needs an .xml export, not an .xsl one", with a link to a
| .pdf spec that points to somewhere on the internet, then
| he/she hasn't got to know what it really means to write a
| true and "boring" CRUD app.
| Maxion wrote:
| And n+1 things that HAVE to be done against the spec. Or
| that for some region some field has to be hidden, but
| only for that region - not any else.
| whateveracct wrote:
| There's not such thing as actually boring CRUD. I've worked
| at many companies and founded my own. Even when it felt like
| CRUD, a year+ in it was clear that tasteful decisions pay off
| and iteration and cost gradients matter. GPT doesn't sniff
| that.
|
| I agree with GP - day 2 dev me outclasses it, which means it
| isn't replacing anyone.
| anonzzzies wrote:
| HN echo chamber. Generally the better/best programmers hang
| around here; your day 2 was probably better than many
| coders hope to achieve in their whole lives. It is
| replacing people already; I personally know about 10 people
| who have been fired or assigned to a completely different
| position because gpt did a faster and better or equal job.
| So 'not anyone' is simply nonsense; I am only one person,
| there will be many many more who see the same thing. Of
| course they are not told they are replaced by ai when
| fired, but their managers or more skilled colleagues know.
|
| I do agree that there is no boring crud; that's why gpt or
| no code tools are not good for full solutions (yet), but
| it'll get there I am sure.
| DaiPlusPlus wrote:
| > I personally know about 10 people who have been fired
| or assigned to a completely different position because
| gpt did a faster and better or equal job
|
| Please elaborate.
|
| And, if true, this would be a major news story that Vox
| or any number of major newspapers would love to write
| about - so have you approached the media about this? If
| not, why not?
| suslik wrote:
| Manager here. Did not fire anyone (and hope not to), but
| I am starting to look into implementing GPT-4 as a part
| of our development practice and, potentially, reduce
| future hiring. This might have a positive impact on our
| engineering budgets, which are always tight. Many of my
| colleagues are doing the same - this has been a cooler
| topic with other managers for weeks now (strange how
| progress is now measured in weeks).
|
| At this point, this would only affect engineers who don't
| understand our subject area (biotech) and are relatively
| junior (in the sense that their output is not much better
| than a GPT4 output reviewed by a more senior dev).
| anonzzzies wrote:
| If your engineers are actually engineering then yes,
| really by all means keep them and integrate GPT in
| workflows as is suitable.
| anonzzzies wrote:
| > Please elaborate.
|
| I simply know firsthand (i'm old, i have manager, cto,
| ceo friends who I go golf and play squash with) that
| people in data entry and programming have been let go in
| the past weeks because 1 person could take over their
| work using the gtp/chatgpt api's and do their work faster
| with less errors. I am recommending the same in my
| company as a lot of my colleagues are doing nothing
| anymore as the skilled seniors are doing it themselves
| with gpt now as it's faster, less communication etc. We
| feed jira issues into gpt and it generates code; we
| review and refine or fix ourselves. It works much much
| faster and with better results. Most things most of us do
| all day is integrating ancient API's of partners and so
| mapping xml/soap/... api's to our json schema's. With
| chatgpt that's _really_ fast and mostly painless; it even
| renames the properties that need to be changed to our
| enums properly. With humans this is a painful and slow
| process, especially with people who are fast and loose
| (broken education seems to made many of those graduate
| just by cheer production speed & volume instead of
| quality; gpt can do that better too...).
|
| > so have you approached the media about this? If not,
| why not?
|
| Why would I do that? Even anonymous, it doesn't seem to
| make much sense for _me_ to do that. Anyway; that 'll
| come soon enough as it will be common soon.
| davewritescode wrote:
| > simply know firsthand (i'm old, i have manager, cto,
| ceo friends who I go golf and play squash with) that
| people in data entry and programming have been let go in
| the past weeks because 1 person could take over their
| work using the gtp/chatgpt api's and do their work faster
| with less errors. I am recommending the same in my
| company as a lot of my colleagues are doing nothing
| anymore as the skilled seniors are doing it themselves
| with gpt now as it's faster, less communication etc. We
| feed jira issues into gpt and it generates code; we
| review and refine or fix ourselves. It works much much
| faster and with better results.
|
| This isn't software engineering work, this is 21st
| century data entry with some code. This is exactly the
| type of menial work that should be automated by AI.
|
| If you have small self contained problems like map X -> Y
| then sure, ChatGPT will be sufficient. Where I disagree
| with you is calling these jobs "programming" jobs. These
| are the type of tasks that should've been written in a
| transform language like JOLT. This shouldn't even be
| code.
|
| > With humans this is a painful and slow process,
| especially with people who are fast and loose (broken
| education seems to made many of those graduate just by
| cheer production speed & volume instead of quality; gpt
| can do that better too...).
|
| Humans suck at repetitive menial tasks like this. It's
| not education's fault.
| anonzzzies wrote:
| > This isn't software engineering work, this is 21st
| century data entry with some code. This is exactly the
| type of menial work that should be automated by AI.
|
| Who said it was? This is what most programmers do all
| day, that's the point. These people can be replaced now
| without writing specialised software for the case. It is
| programming, not software engineering and it is what
| people are doing all day long (and longer) who are called
| programmers / software engineers in most companies all
| over the world. You can disagree with it, but that
| doesn't change much.
|
| So you are now putting the bar higher which is not fair;
| the fact is that people who have the title 'programmer'
| and even 'software engineer' are now readily replaced by
| AI. If you don't agree with the title; I don't either,
| but reality is what it is.
|
| I would say basically the point is ; there are way way
| too many people being 'programmers' (but not limited to
| this field) who can be replaced; only a few % should
| remain as the rest does what you wouldn't call
| programming, but the rest of the world does. Search
| twitter for 'html programmer' and such. Millions and
| millions will never be programmers and your definition,
| but have a high paying job (for their country) working as
| a programmer.
| oblio wrote:
| How does this work from an IP perspective? Aren't you
| feeding OpenAI and Microsoft with your confidential
| information?
|
| Also, what license is the code under when you get it
| back?
| anonzzzies wrote:
| I take care not to feed it secrets ; this is just boring
| ERP stuff without the magic numbers (they are not needed
| to create or test; we use test data normally as well, as
| we cannot give that to outsourcing companies either, so
| there is no difference in work).
| oblio wrote:
| And the output? Are you allowed to use their code for
| your own projects or company?
| anonzzzies wrote:
| Yes, we don't all live in the US.
| oblio wrote:
| So you basically don't care about licensing.
|
| That's ok for your use case but risky for anything open
| source of that might be sold around the world.
| nitwit005 wrote:
| If all you're doing is very simple crud apps and transforming
| API responses, your coding is already replaceable with "no
| code" tools.
| weatherlite wrote:
| > If all you're doing is very simple crud apps and
| transforming API responses,
|
| I think all of us here conflate simple with easy. It's
| simple in theory yes - you get some JSON from service X,
| maybe tweak service Y that talks to X and then feed it into
| some front end. In practice even very experienced engineers
| can take days writing or changing a simple end point or
| some front end because unclear requirements/bugs/micro
| service hell/unclear existing code/etc etc.
|
| If it was that easy the pace and quality would have been
| much higher than what I'm seeing in tech companies.
| theshrike79 wrote:
| I'm still waiting for the no-code tools that can replace
| me, the API Glue Coder.
|
| They've been promising those since the early 2000's, but
| I'm still employed.
|
| Some stuff has been automated by Zapier, IFTTT and the
| like, but most of the systems I'm integrating with don't
| have public APIs.
| joenot443 wrote:
| "I'm still waiting for the automobile that can replace
| me, the Horse Carriage Driver. They've been promising
| those since the 1880s, but I've still got passengers in
| my carriage every day!"
|
| Obviously it's a cheeky example, but this would not be
| the first time in history a previously well-established
| career was upended in a (relatively) short amount of
| time. I'm a FAANG dev, I've got skin in the game too and
| I'm trying to be optimistic, but I can't help but be at
| least a little worried. From Wikipedia -
|
| "In 1890 there were 13,800 companies in the United States
| in the business of building carriages pulled by horses.
| By 1920, only 90 such companies remained."
|
| I don't think we'll be out of the job entirely, but I can
| definitely imagine the bar being raised and the
| compensation stagnating as we now have to justify the
| time and cost of our work compared to the near-free,
| near-instantaneous output of an LLM.
|
| All that being said, if you've been working since the
| 2000s, you've got nearly a 20 year head-start on me, so
| perhaps it makes sense for me to be a bit more worried.
| theshrike79 wrote:
| > All that being said, if you've been working since the
| 2000s, you've got nearly a 20 year head-start on me, so
| perhaps it makes sense for me to be a bit more worried.
|
| Yea, that's mostly why I get hired. Experience gives
| people a certain intuition on what kind of solutions work
| for which cases.
|
| And when you've been working long enough, you don't
| (hopefully) feel the need to do cool bleeding edge shit
| at work, you just want the work code to ... work. You
| pick the simplest and most boring solution possible so
| you can clock out at 1600 and not think about services
| crashing because the newfangled thingamageek coded with
| the latest language du jour failed because of an edge
| case nobody has seen before.
| joenot443 wrote:
| That's a comforting perspective, I hope that you're
| right.
| illiarian wrote:
| > I'm still waiting for the automobile that can replace
| me, the Horse Carriage Driver.
|
| Wow. The hype around "AI"s has entered the crypto stages.
| Just like crypto was the new car, the new internet etc.,
| so is AI now.
|
| Well, at least AI is useful in certain applications.
| AstralStorm wrote:
| Again? Last time it ended in a long winter.
|
| And horse carriages have some serious advantages, maybe
| even will make a comeback. :)
| joenot443 wrote:
| I got into and out of Bitcoin back in 2010 when I was
| still in high school. Even then, I thought and still do
| that crypto as a whole is a complete ponzi scheme with
| little real world utility.
|
| I feel completely differently about LLMs; I'd say we're
| closer to 2007 when the first iPhone was released. I
| believe LLMs will become a part of our day to day lives
| at a level that crypto never came close to.
| bboygravity wrote:
| Except it isn't and it won't be until 10 layers of
| management learn what no-code tools are and why they should
| want them.
| vincnetas wrote:
| And i guess this will never happen as management at the
| first sign of trouble making AI do that they want, will
| gladly pay someone else to do it for them. Of course as
| little as possible, but either way they will be glad to
| delegate.
|
| It's same for me. I can learn how to tile my bathroom or
| repair my car, but i just don't feel like and am happy to
| pay someone else.
| illiarian wrote:
| I've been a programmer for 23 years now. In all these years
| every year was the year of no-code tools.
|
| And you know what? We went from having actual no- or low-
| code tools (UI builders, forms in Access and FoxPro etc.)
| to zero no-code tools worth a damn [1]. There was a brief
| dream of Yahoo! Pipes in mid-to-late 2000s, but it's dead
| as well.
|
| [1] Except some applications like Unreal Blueprints and
| similar node-based tools in audio and graphical software
| theK wrote:
| On the flip side, I am having a great time charging
| enterprises exorbitant hourly rates to come in and help them
| fix their crappy crud programms.
|
| But I still don't know if I am thrilled by the prospect of
| being called in to make their monkeypatched, GPT generated
| project work.
| anonzzzies wrote:
| > their monkeypatched
|
| You mean, like almost every outsourcing company pops over?
| So the type of code that infests companies who hired some
| sweatshop to do 'some simple crud'? What's the difference?
| Can you see the difference? Besides the gpt code will be
| far better commented as comments come for almost free with
| gpt while humans hate writing them.
| amrocha wrote:
| I'm working on an outsourced codebase right now and boy,
| I wish they hadn't commented their code at all
| theK wrote:
| I think you can trust the code of both those worlds
| exactly the same, not at all.
|
| I've seen GPT 3 and 4 hallucinate the most amazing
| commentary about their own output. Maybe we will get
| dependable, out of process, guidance at some point about
| how factual the model thinks it is on an output per
| output basis but until that point you should trust every
| LOC and comment exactly the same as code gifted to you by
| an adversary.
|
| My modest 2C/
| hnfong wrote:
| "Hey GPT-X: Can you refactor the codebase in
| gpt@monkeypatched-crap.git for me? Preferably in the style
| of gpt@crappycrud.git that I worked on last year."
| theK wrote:
| Token cap will probably be the biggest problem here.
|
| After validation.
|
| After getting the changes to disk, documented, actually
| compiling, etc...
|
| But the biggest problem is that transferring the nuance
| that is external to the code base is typically really
| tiresome and lengthy grunt work and again token cap.
| anonzzzies wrote:
| They went from 4K to 32k in a few months. Wait a few
| years.
| riku_iki wrote:
| we don't know what that jump means, did they increased
| model proportionally, or slapped some projection layer
| with quality degradation?..
| Jensson wrote:
| GPT-3 is 3 years old, not a few months.
| anonzzzies wrote:
| Sure but the token jump to 32k is new isn't it? Even 8k
| to 32k is significant and that was this year.
| Jensson wrote:
| Yeah, but the jump to 32k didn't take a few months, it
| was years in the making. Otherwise you could extrapolate
| with "yesterday we had 4k, today we have 32k, tomorrow we
| will have 256k", that isn't how we do it. If we follow
| the same exponential pace 256k would have to wait 3
| years, and even that is unlikely.
| osigurdson wrote:
| I think it is better to assume that we are at the
| beginning of the s-curve, not the end.
| osigurdson wrote:
| Wow. I never expected to be downvoted for such a comment.
| Downvotes please elucidate as to why we are in the
| asymptomatic phase with LLMs.
| theK wrote:
| Few years, yes. I'm with you "the change is coming" but
| we still need to transfer millions of tokens in and out
| to cater for context and out of repo intricacies.
| anon7725 wrote:
| Large enterprises will just pay to fine tune over their
| documents/code/etc.
| derefr wrote:
| Have you seen this video?
| https://www.youtube.com/watch?v=9QZlQMpNk-M
|
| I think the author is onto something - while AI might not be
| able to program per se, it can certainly be handed a code
| snippet and then use its huge corpus of Internet Learning(tm)
| to tell you things about it, code that looks like it, and ways
| (people on the Internet think) it might be solved better.
|
| In that sense, it isn't replacing the programmer; it's
| replacing IDE autocomplete.
| aix1 wrote:
| I really enjoyed the video, thanks for sharing.
|
| I think the author is operating in what I consider to be the
| sweet spot of current LLMs - where I can ask a question I
| don't know the answer to _but_ can reliably spot bullshit
| (either because I know _enough_ or through other means). I
| think there 's a lot of value to be had when those conditions
| are met, and not just for coding.
| matwood wrote:
| > replacing IDE autocomplete
|
| Co-pilot has been very useful the times I've used it. It's
| not perfect, but does cover a lot of boiler plate. It also
| makes it much easier to jump between languages.
| brookst wrote:
| I've been working with copilot a few months and the biggest
| surprise is how it has led to much better commented code. I
| used to comment tricky code to explain it. Now I comment
| trivial code _instead of writing it_. Often two lines of
| comment will get me 10 lines of copiloted code, faster than
| I could have typed it and with good comments to boot.
| jackcviers3 wrote:
| This is how I use it. It is the best rubber duck money can
| buy.
| sumtechguy wrote:
| That is a good take on it. I have been saying this thing is
| like _really_ good at summary and terrible on detail. So
| watch what it spits out.
|
| Last night I sat down and tried using it to write an 8086
| emulator. It got an simple emulation outline fairly quickly.
| But when it came to getting each of the instructions and
| interrupts correct. It fell very flat very quickly. What was
| interesting is that it made the exact same mistakes many
| early emulator writers make. You could then correct it and it
| would give it a shot at 'doing better'. I at one point got a
| bit bored with it and kept feeding it 'can you make that more
| compact/better'. It did an adequate job at that, eventually
| using templates and jump lists. It did not get very far using
| duffs device or dynrec but I am sure I could have guided it
| into doing that.
|
| But probably for a majority of things like in emulation
| 'close enough is good enough'. That is an interesting finding
| of coding things up I think. This thing is also going to make
| seriously crazy amount of bugs we will be chasing for
| decades.
| red75prime wrote:
| > ways (people on the Internet think)
|
| It reminds me of arguments that it's not the computer that
| plays chess, but its programmers.
|
| You can describe a GPT's response as a statistical average of
| responses on the internet (for quite a contrived definition
| of average), but at some point it will be easier to describe
| it as analyzing a snippet and forming an opinion (based on
| what people on the Internet think). Are we past that point?
| I'm not sure yet, but we are close.
| z3c0 wrote:
| > quite a contrived definition of average
|
| Sure, maybe an argmax mixed with an RNG isn't _really_ an
| average, but some would say it 's _quite a contrived
| definition_ of forming an opinion.
| red75prime wrote:
| argmax is doing all the heavy lifting there. Consider
| argmax is_proof_of_P_eq_NP(string)
|
| You can describe solution of any well defined problem
| with argmax, it doesn't make it trivial.
| yucky wrote:
| > I really am in awe of how much work people seem willing to do
| to justify this as revolutionary and programmers as infantile,
| and also why they do that. It's fascinating.
|
| Equally fascinating is all of the "this is fine" posts from
| programmers suddenly realizing they are not the gods they once
| thought.
|
| But fret not, programming is not the first industry that has
| been automated into a shell of itself. Yes, the industry is
| going to shrink massively, but this is what new skills are for.
| Just as farmers had to learn industrial jobs and then miners
| and autoworkers had to "learn to code", most programmers will
| have to learn to do something else. Humans are resilient and
| will adapt.
|
| And there will still be jobs in development for the most
| talented and in niche areas, but when the largest tech
| companies can layoff hundreds of thousands of employees without
| skipping a beat that should tell you all you need to know about
| the value of most "programming" jobs.
| dmm wrote:
| > Just as farmers had to learn industrial jobs and then
| miners and autoworkers had to "learn to code"
|
| The transition from agrarian to industrial societies was
| extremely painful and arguably it was centuries before the
| people affected were better off.
|
| > Humans are resilient and will adapt.
|
| Based on recent events I think it's more likely people will
| elect extremist politicians who promise quick fixes while
| blaming a convenient out-group for everything.
| weatherlite wrote:
| > most programmers will have to learn to do something else.
| Humans are resilient and will adapt.
|
| Like what? Seriously, which cognitive occupation is safe
| then? I think if one wants to stop competing with the
| machines (who appear very close to becoming superior to
| humans by what you are saying), it's some kind of child care
| / social work job. We still don't want robots in those (for
| now. Eventually they may do those better than us as well).
| lamp987 wrote:
| "Yes, the industry is going to shrink massively"
|
| You meant "expand massively" i think. Did all the programmers
| manually making machine code get fired and the job of
| programmer disappear when compilers were invented and totally
| replaced these jobs? No, it just changed to use the new tool.
|
| There wont be any unprecedented mass layoffs, despite what
| the jaded STEM-hating twitter crowd wants. Companies will
| simply make their programmers use these tools to increase the
| amount of produce per employee, and make software that would
| have been otherwise financially impossible to be made.
| Because the competition will do so too to get ahead.
| qikInNdOutReply wrote:
| The reason is easy to imagine. Most non-programmers, are living
| like analphabets in a world were reading is valuable super
| power. They grudgingly accept this power assemtry, but
| ocassionally rebel - with "easier" visual programming languages
| made and excel.
|
| This is another one of those rebellions, non-programers hoping
| to avoid reading the book and closing it for good, while
| keeping the awesome around. The code-bases we will see, were
| the commits are basically chatgpt tags and tasks for each
| document.
| lionkor wrote:
| For me, its mostly that I have used GPT-3.5 a little for
| programming C++, and I wasnt impressed.
|
| For one, it made horrible, glaring mistakes (like defining
| extern functions which dont exist, using functions which are
| specific to a platform im not using, etc.), stuff beginners
| would do.
|
| It also decided to sneak in little issues, such as off-by-one
| errors (calling write() with a buffer and a size that is off by
| one in a place where its very hard to tell), missing edge cases
| (such as writing a C++ concept which worked, but actually did
| everything in slightly the wrong way to actually ensure the
| concept was requiring exactly what I asked).
|
| Even when asked to correct these mistakes, it often struggled,
| made me read paragraph after paragraph of "im sorry, ive been
| such a bad little machine" garbage, and didnt even correct the
| issue (or, in some cases, introduced new bugs).
|
| Im utterly unimpressed by this. _GPT_ is great for a lot of
| things, but not writing code better than I would, in the same
| time.
|
| The time it took me to massage it to solve a nontrivial problem
| (write hello world with just syscalls) was way longer than
| reading the manual and writing it myself (and has less bugs).
|
| Not everyone unfazed by these articles is simply in denial. I
| feel sorry for people who write copy paste code and find that
| ChatGPT or Clippy from 2000 can relace them, but not everyone
| writes trivial code.
| antegamisou wrote:
| My thoughts exactly.
|
| There are so many non-CRUD complex disciplines involving
| programming such as signal processing, robotics, control
| theory, scientific computation to name a few, the current
| version, at least, of GPT is not even close to being a good
| supplement, let alone a substitute.
|
| But then I remember I'm on HN where the technical pinnacle of
| programming is Backend and DevOps.
| woeirua wrote:
| Two points: GPT4 is significantly better in this regard, and
| you should be concerned about the rate of progress more than
| it's actual capabilities today.
| blibble wrote:
| I suspect (and sort of hope) they're close to hitting a
| local maxima
|
| presumably they've already fed it all the code in the world
| (including a load they probably aren't licensed to)
| spaceman_2020 wrote:
| Don't you think it's going to improve much more now that
| it has hundreds of billions of pointed queries being
| typed into it every month?
|
| This is data at a scale OpenAI did not have access to
| before.
| WinstonSmith84 wrote:
| If you tried GPT4, you probably understood it's not about
| feeding all the code in the world. GPT4 analyzes and
| "understands" your code and will answer based on this.
| Clearly, it will read the variable names and make
| deductions based on this. It will actually read the
| comments, the function names and make decisions based on
| this. And it knows the rules of the language. I mean, I'm
| writing this because this is what I've witnessed since
| the time I spent playing with it.
|
| The problem I've seen is that, maybe like the author has
| been writing, it's making sh*t up. That's not untrue,
| sometimes I didn't give it all dependent classes and it
| tried to think sometimes correctly, sometimes incorrectly
| what those were (such as method signatures, instance
| members, etc.) I wish it would have asked me some details
| rather than trying to figure things out. The guys at
| OpenAI have still a lot to do, but the current status is
| very impressive
| blibble wrote:
| it is entirely about feeding it all the code in the world
|
| it doesn't understand anything, it doesn't make
| deductions
|
| it's a probability model, and I understand how it's
| implemented perfectly well, thank you
| og_kalu wrote:
| No you obviously don't lol
| travisjungroth wrote:
| Even view it as a simple probability model, you don't
| need a million Python repos. The massive amount of
| English text + 1,000 repos + your codebase is very
| powerful. You can see this because you can make up a
| language, give it some examples and it's surprisingly
| good.
| Jeff_Brown wrote:
| > you should be concerned about the rate of progress
|
| Kind of agree?
|
| On the one hand we don't even have a _roadmap_ toward
| reliable AI.
|
| On the other, if we ever plug an LLM into something that
| has memory, acquires experiences, does experiments,
| observes the outcome and adjusts its worldview in response,
| consciousness might fall out of that. And writing good code
| might not even require consciousness.
| flatline wrote:
| Epistemologically speaking, I think we can roughly break
| down the potential nature of consciousness into three
| categories:
|
| - as a function of an independent human soul
|
| - as the fundamental substrate on which the rest of the
| universe is built
|
| - as a byproduct/secondary phenomenon of physical
| processes
|
| In the latter two cases I believe that the question of
| whether GPT is conscious is immaterial. In either case it
| is functioning in the same medium we all are when we
| talk, think, write. In the first case it is not, and the
| question is thornier.
| Jeff_Brown wrote:
| Consciousness in this context is often used as an
| imprecise but important bundle of very material concepts,
| including whether something can have wants (and therefore
| warrants our anticipation of them) and whether it
| deserves ethical status.
|
| One can debate whether either those is necessarily a
| consequence of consciousness, but nonetheless those kinds
| of qualities are what people are aiming at when they
| wonder about conscious AI.
| WinstonSmith84 wrote:
| GPT4 is very different from 3.5. I've asked it today to write
| some unit tests given the code of the class (~200 lines) and
| the methods I wanted to cover and it did that just perfectly.
| It put asserts where it made sense (without me asking to do
| it), and the unit test code was better written than some code
| I've seen written by (lazy) humans. It's not perfect sure and
| it's easy to get a bad response but give OpenAI a few more
| iterations and my job will be simply to copy paste the
| requirement to GPT and paste the generated code back to
| compile.
| lionkor wrote:
| what kind of unit tests are these? is it `check_eq(add(1,
| 2), 3)` or "check for possible exceptions, cover edge
| cases, test extremes of this super important db function"
| WinstonSmith84 wrote:
| It's Salesforce unit tests, written in Apex, actually a
| niche language, so it's surprising that even on such a
| language, it was so good. And no, the unit tests were
| much more complex than this. It involves creating
| records, querying data, some business logic runs and then
| the data is updated. The asserts are after, checking that
| the business logic performed correctly.
|
| The bot created the whole unit test involving the
| creation of data with test fields, then queried the
| output results and put some asserts. That's more than 100
| lines of code which were written by GPT4. A (good)
| Salesforce developer would need a good 30 minutes to
| write those, and the result would not have been better.
|
| Again, I also have some counter examples were it made
| some mistakes, but this is really shocking how... a
| program... figured all this out.
| intalentive wrote:
| A Toolformer model integrated with Intellisense is the
| obvious next step.
| jacobedawson wrote:
| I think most people see where the puck is going, and even where
| it is right now is very impressive. It's not hard to see that
| it will be likely less than 5 years before it will be able to
| do what you did on day 2, and much more, at a tiny fraction of
| the cost, with no downtime, no attitude problems, sick days,
| etc. The things you mentioned (taking on board feedback,
| testing across devices, iterating on solutions) doesn't seem
| very far away at all.
|
| The rate of increase in capabilities is also unpredictable,
| which is what is amazing & terrifying.
| davemp wrote:
| > The things you mentioned (taking on board feedback, testing
| across devices, iterating on solutions) doesn't seem very far
| away at all.
|
| This is a very bold claim IMO.
|
| Modeling/understanding interactions in a complex system of
| potential black boxes is much, much more computationally
| difficult problem that source code to source code operations.
| mlycv wrote:
| That's what they said about Watson and Wolfram Alpha. You
| only hear this nonsense on HN.
| refulgentis wrote:
| Demonstrably untrue, it's taken up semi-residence in
| everything from oped pages to boardrooms since the New
| Year. Welcome to the mid singularity, my friend.
| dr_dshiv wrote:
| You can't say "singularity" on HN without a ton of
| downvotes. It's not because people disagree (or they'd
| say so), but because they literally shit their pants when
| they think about it. Hard to blame them.
| suction wrote:
| [dead]
| Ygg2 wrote:
| Who's not disagreeing? Singularity feels like "man facing
| existential dread confuses saturation curve for
| exponential".
| dr_dshiv wrote:
| When I say singularity, I mean "changes the nature of
| human life irreversibly and to a greater degree than any
| prior technology through a rapid progression of self-
| reinforcing growth."
|
| That rapid progression can be modeled with an exponential
| growth curve, like Moore's law, even though nothing
| material can have a sustained exponential growth.
| Regardless of how the curve is modeled, the steepness is
| such that it serves as a step function in evolution.
|
| With that clarified, there is first the question of "is
| the technological progression going to level off soon?"
| And I think the answer is no. The second question is,
| "how are we going to deal?" And the answer to that
| question can only be addressed once we answer the
| question: "what kind of world do we want to live in?"
| brookst wrote:
| I think you just declared radio, television, the
| internet, the macaroon, and mobile phones to be
| singularities.
|
| People generally use the term to mean the point at which
| progress is automatic, unbounded, and instant. E.g. AIs
| that can produce smarter AIs themselves, in short order.
| SuoDuanDao wrote:
| 'step change' sounds less exciting than 'singularity' but
| in terms of the original definition there's very little
| distinction.
| brookst wrote:
| Hmm. I see the singularity as a recursive step change;
| the last step where the average slope becomes vertical.
|
| I'm not a singularity believer (singularitist?); from the
| perspective of 1000 years ago we're already at the point
| of infinite progress in zero time. I think individuals,
| the culture, and the species adapt to accelerating
| progress, and I intuit, maybe wrongly, that Godel's
| theorem means that technology will never become runaway
| and recursive.
|
| But I think that's what people mean, more than just a
| step/paradigm change like the internet.
| vbezhenar wrote:
| I'm saving my money, so I can live enough off savings to
| learn a new profession. I'm not sure if that will happen,
| but I consider this option as likely enough to affect my
| life decisions. The world is changing at alarming rate.
|
| Though I think that it's more likely that I'll become
| shaman who talks to the spirits. Managers hate computers
| and they'd prefer to pay someone to deal with them.
| theK wrote:
| I think everywhere except HN the expectations on Watson's
| and Wolfram's second seasons where even more inflated
| travisjungroth wrote:
| Who? Crying wolf makes sense to discredit an individual but
| not a whole argument. Almost everything is being predicted
| by someone at any given time. If your criteria for
| predictions is "no one can have made a similar prediction
| and been wrong in the past", then you'll disbelieve all
| predictions.
|
| And seriously, how many people were actually saying
| "WolframAlpha will destroy a huge amount of programming
| jobs"?
| dr_dshiv wrote:
| Except Watson and Alpha weren't useful out of the box to
| everyone. They weren't the fastest growing app of all time
| and couldn't even remotely play that way. ChatGPT isn't
| hype because it is so _useful_ -- it's already on the
| "Plateau of Productivity".
|
| But it looks like an exponentially steep climb from here.
| _indefinitely_
| photonbeam wrote:
| They said the same thing about transistor scaling
| pixl97 wrote:
| Being that you and I are talking to each other by forming
| thoughts in meat that us causing other meat to move
| around tells me that digital thought still has a lot of
| scaling room ahead of it.
|
| Maybe superintelligence isn't possible for some reason,
| but the fact we exist should tell you that general
| intelligence is not magic.
| swexbe wrote:
| Your brain is analog. Trying to emulate this with a
| digital computer is bound to come with some computational
| cost.
| Filligree wrote:
| Good thing we aren't trying, then. GPT works in a
| completely different fashion.
| pixl97 wrote:
| The world created by human thought has given us such
| excess means of power production that we have literal
| gigawatts of electricity we can use in a trade off where
| it doesn't take us 4 billion years to make efficient
| circuits.
| noitpmeder wrote:
| Personally I think it's 99% hype. The current iteration and
| architecture of these systems means they will never be at the
| level where they can actually replace a programmer. The best
| they will ever get is barfing up snippets for a programmer
| (who still needs the industry-specific knowledge to VERIFY
| the snippets).
|
| Additionally, "the rate of increase in capabilities" is very
| much a false flag. Past performance (especially for second-
| order things like 'rate of improvement') is an absolute
| batshit insane metric for predicting future success.
|
| https://russellinvestments.com/us/blog/past-performance-
| no-g...
|
| The advancements have eaten low hanging fruit. Once all the
| low hanging fruit is gone, we'll all realize GPT will never
| be tall enough to reach the good stuff.
| jacobedawson wrote:
| That's why I said it was unpredictable, in both directions.
| zackees wrote:
| [dead]
| woeirua wrote:
| The fact that we're even having this conversation should
| concern you. Move the goalposts if you want, but the rate
| of progress should concern you.
| malborodog wrote:
| But obviously increasing avg and sr programmer productivity
| by many x implies many fewer jobs for programmers. That's
| the point we're interested in.
| brookst wrote:
| You seem to be saying that there is fixed demand for
| programmers and oversupply means less hiring.
|
| But the history of technology says that demand is
| recursive; the more tech produced, the more demand there
| is for producers.
|
| There may be a time when we hit the old "the whole world
| only needs 5 computers"[0] limit, but I don't think we're
| anywhere close. AI is providing leverage to create net
| more programming; it is not replacing programmers in a
| zero sum game.
|
| 0. https://www.theguardian.com/technology/2008/feb/21/com
| puting...
| flippinburgers wrote:
| Sounds a bit too much like a perpetual motion machine to
| me.
| brookst wrote:
| Isn't that true of any economy? Think of how many people
| are employed in general. How could this number of people
| have been employed 200 years ago?
| nmcfarl wrote:
| I've got a computer in all of my light switches. There's
| a limit to this, but I'm not quite sure where it is.
| thingification wrote:
| https://en.wikipedia.org/wiki/Lump_of_labour_fallacy
|
| > In economics, the lump of labour fallacy is the
| misconception that there is a fixed amount of work--a
| lump of labour--to be done within an economy which can be
| distributed to create more or fewer jobs.
| dw_arthur wrote:
| The lump of labor fallacy says nothing about a particular
| type of job. A category of jobs can become non-productive
| versus a technology and the workers within those jobs
| should get reallocated to more productive jobs.
| mattnewport wrote:
| Is that obvious? The history of programming has been full
| of things that have at least claimed to increase
| programmer productivity, everything from high level
| languages to smart refactoring IDEs, debuggers, PaaS, etc
| and in all that time the trend has been towards more jobs
| for programmers not fewer.
| redox99 wrote:
| Productivity with modern tools (SPAs, microservices) is
| often a lot lower than oldschool stuff (django/rails,
| maybe even Visual Basic, Delphi)
| dragonwriter wrote:
| > I think most people see where the puck is going
|
| Overinflated hype about "where the puck is going" being wrong
| is...not a new phenomenon. And the non-tech media
| (traditional and social, and particularly a whole lot of the
| elite commentariat that spans both more than the "hard" news
| side of traditional media, though that is influenced too)
| perspective on this is driven quite disproportionately by the
| marketing message of the narrow set of people with the most
| financial stake in promoting the hype. Even the cautionary
| notes being sounded there are exactly the ones that are being
| used by the same people to promote narrow control.
| z3c0 wrote:
| Soon, a lot of people will realize that the puck doesn't
| travel in a straight line. Eventually, it will veer to the
| right in a logarithmic fashion. When it does is up for
| debate, but - in my experience - it always happens very
| short of where the hype claims it was heading.
| eggsmediumrare wrote:
| The puck can also hit you in the face and break your jaw.
| z3c0 wrote:
| Certainly a likelihood for everyone too lazy to write
| their own code.
| caddemon wrote:
| You know the shoeshine boy indicator story [1]? That's the
| vibe I've been getting with ChatGPT lately, I have multiple
| old high school teachers with 0 computational background
| who hardly ever spoke about ML before posting regularly on
| LinkedIn about ChatGPT the last couple months.
|
| The part that gets me is they aren't just aimlessly making
| posts, they're getting involved with webinars targeted at
| educators in their respective topics, speaking at regional
| events about the future with ChatGPT, etc.
|
| One of them was a really excellent teacher but like this
| dude absolutely does not have any qualifications to be
| speaking on ChatGPT, and I hope it hasn't actually changed
| his teaching style too much because I'm having trouble
| imagining how ChatGPT could've fit in well with the way he
| used to teach.
|
| Don't get me wrong, hype often surrounds something
| legitimately good, but I think ChatGPT is being taken way
| out of context in both the ML achievement it is and in what
| things the tool is actually useful for. I guess it is easy
| for a layperson to make mistaken assumptions about where
| the puck is going when they see what ChatGPT can do.
|
| [1] "The story took place in 1929: Joseph Patrick Kennedy
| Sr., JFK's father, claimed that he knew it was time to get
| out of the stock market when he got investment tips from a
| shoeshine boy."
| SuoDuanDao wrote:
| Teaching is going to be a career affected early by
| chatgpt because students will use it (are using it) to do
| assignments. A good teacher doesn't need to know much
| about machine learning to think about how that will
| affect his job, he just needs to know his students and
| have an idea how to work with them given the new tools
| they have.
| illiarian wrote:
| > Teaching is going to be a career affected early by
| chatgpt because students will use it (are using it) to do
| assignments.
|
| Already happening. A student in Russia submitted his
| thesis written with the help of GPT, it was accepted,
| then rejected, then accepted:
| https://www.themoscowtimes.com/2023/02/02/russian-
| student-al...
| caddemon wrote:
| Yes for generic 9th grade English or poorly taught
| science classes it is easy to just use ChatGPT. His class
| would've been pretty immune to GPT plagiarized
| assignments though, assuming a serious grader were
| evaluating them, which one used to at least. Yes GPT
| could've been used to assist in the writing itself, but
| that wouldn't disrupt the educational goals achieved by
| developing the content, which required synthesizing
| multiple modern scientific papers in a coherent way.
|
| In any event, he isn't concerned at all about students
| using it for assignments, it's the degree to which he
| seems to think it can be integrated in his current
| curriculum that alarms me. I think he is misunderstanding
| the capabilities and therefore pitching something that
| doesn't actually make sense.
|
| The other teacher I didn't follow as closely, I just got
| a kick out of seeing she was now advertising some sort of
| webinar about ChatGPT filled with buzzwords too.
|
| Also if a teacher is really serious about wanting to plan
| around what GPT can and can't do to the point they want
| to be a teaching authority on it, they should be
| consulting with people in the relevant domain. When I
| want to use a new tool in the lab I talk with colleagues
| that have a great deal of relevant experience before I
| start working it into experiments. I can't imagine
| starting to give advice to others on the matter when I
| don't actually know the current nuances.
| sumtechguy wrote:
| I can see why educators are getting involved. They are
| seeing it change how their students do work in real time.
|
| I grew up and using a pocket calculator was verboten. You
| just did not do it. You better learn and memorize all of
| that stuff. Spin on 10 years after me and all kids have
| them now. If you have the right app on your phone the
| thing will OCR the problem and auto solve it and show you
| the steps. ChatGPT and its ilk are here, now. How we
| learn and create things has dramatically changed in under
| a year. It is not clear how much though.
|
| Teachers are trying to get ahold of what does it mean to
| teach if you can just ask some device to summarize
| something as complex as the interactions of the 6 major
| countries in WWII and what caused it. Then the thing
| thinks for 2 seconds and spits out a 1000 word essay on
| exactly that. Then depending on which one you use it will
| footnote it all and everything.
|
| This style of learning is going to take some getting used
| to. This tool is in their classrooms right now. Right or
| wrong. It will be there. The teachers are going to have
| to figure out what this means to their class planning.
| Not 5 years from now, today.
| caddemon wrote:
| Yeah there is a broader issue here for sure. I don't
| think that means within a few weeks of the launch of the
| pocket calculator there should have been dozens of random
| talks from people that have no understanding of what a
| pocket calculator does trying to pitch a curriculum based
| around it.
|
| These posts ooze hype bullshit, not nuanced talk about
| pros and cons and how it will affect education. ChatGPT
| should be thought of as a writing tool and perhaps an
| information source on very surface level topics. Trying
| to teach an advanced research course at a top school with
| ChatGPT heavily involved is a terrible idea on the other
| hand.
|
| I have tested asking it about a number of specific topics
| in biology research/asking questions about particular
| papers, and it gives horrible answers the majority of the
| time. If someone submitted that as a paper to me I'd give
| it a bad grade because it is dumb, I wouldn't need to
| know if it were ChatGPT or not. I would be alarmed if my
| kid's teacher went from organically teaching how to
| dissect a scientific paper to suggesting that a major
| part of the curriculum can be replaced with talking to
| GPT.
|
| I've seen articles about teachers taking the other
| extreme against ChatGPT too, but I haven't personally
| seen anything that was a realistic take on what LLMs can
| do. Maybe it boils down again to disagreement on "where
| the puck is going" but to me most of the hype is making
| ridiculous assumptions about what is imminent meanwhile
| ignoring the things worth discussing now.
|
| Which sounds a lot like bubbles. The dot com crash didn't
| mean the internet was a bad idea or that it wasn't worth
| discussing at that time.
| sumtechguy wrote:
| The thing was when pocket calculators came out they were
| _expensive_ to get ahold of. Like 500-1000 bucks for one
| (in 1970s terms that is a lot). This sort of NLM is
| effectively free. All you need is an account and the cell
| phone you already have. This is disrupting classrooms
| right now. Everyone I talk to that has a kid is saying
| their kids are using it for coursework. I get why
| teachers are 'oh no...' as of right now it is exploding
| on them. They have not had time to digest it.
| Unfortunately at this point chatgpt is like an reporter
| summing up information it has no idea what it is talking
| about and putting it into nice prose that looks good. So
| while in your area of expertise you can spot out the
| issues. But you flip the page and it is on a different
| subject it will be tough to spot out the errors. Simply
| because you do not know and attribute expertise they do
| not really have onto it. This NLM is that but turned up
| to 11.
|
| "where the puck is going" is something to consider and we
| will 100% get that wrong, but right now this thing is
| creating waves and making issues now.
| staminade wrote:
| While I think there's truth to what you say, I'd also point our
| that workers in many pre-automated industries with an "artisan"
| approach also considered themselves irreplaceable because they
| figured, correctly, that nobody could build a machine with the
| capability of reproducing their workflow, with all its inherent
| uncertainty, flexibility and diverse physical and mental
| skills.
|
| What they failed to predict was that some people wouldn't _try_
| to automate them like-for-like. Instead they would reconfigure
| their entire approach to fit with the specific advantages and
| limitations of the machinery. And this new approach might even
| be qualitatively worse in various ways, but not so much as to
| overwhelm the economic advantages that provided by the things
| machines were good at.
|
| AI likely isn't going to slot into a developer-shaped hole in a
| software team. But it's possible we'll see new organisation
| approaches, companies, and development paradigms that say: How
| far can you get if you put prompt-generated code at the heart
| of the workflow and make everything else subservient to it. I'm
| not sure, right now, that that approach is feasible, but I'm
| not sure it won't be in a year or two.
| marstall wrote:
| Iteration and integration, the tasks which take most of at
| least my time as a developer, could fade significantly - or
| become automated themselves.
|
| We won't have understanding of our code, similar to how we
| don't understand the machine language being generated by our
| compilers now.
|
| We will be using our intuition about GPT to bring into being
| fully designed and integrated systems with 10 paragraphs at
| the prompt.
|
| Which could in the end greatly increase the influence of a
| programmer in a given organization. Our role will be a
| softer, almost cyborgian one.
|
| But this will indeed require the destruction of all that came
| before it. Questions like "but does it work with this 3rd
| party API, or this platform?" must become irrelevant for this
| future to happen.
|
| A bit similar to how the web destroyed mainframe, perhaps, by
| first creating its own compelling world, then making the
| mountain come to it.
| shagie wrote:
| The artisan of old created one bowl at a time and made
| artisan pots. A machine that makes bowl can automate the
| artisan's job away.
|
| However, the next challenge is that the machine itself is now
| an "artisan" device.
|
| I'm sure the first bowl printing machine (
| https://youtu.be/bD2DNSt8Wb4 ) was purely artisan... but now
| you can buy them on Alibaba for a few thousand dollars (
| https://www.alibaba.com/product-detail/Printing-Machine-
| Cera... )
|
| I am sure there is a (bowl printing machine) machine out
| there.
|
| But if you say "I want a bowl printing machine that can do
| gradient colors" that first one (and probably the first few
| until it gets refined) are all going to be artisanal
| manufacturing processes again.
|
| This all boils down to that at some point in the process,
| there will be new and novel challenges to overcome. They're
| moving further up the production chain, but there is an
| artisan process at the end of it.
|
| The design of a new car has changed over time so that it is a
| lot more automated now than it was back then (
| https://youtu.be/xatHPihJCpM ) but you're not going to get an
| AI to go from "create a new car design" to actually verifying
| that it works and is _right_.
|
| There will always be an artisan making the first version of
| anything.
| esfandia wrote:
| > There will always be an artisan making the first version
| of anything.
|
| Until we reach the bootstrap point (the singularity?), i.e.
| when the GPT-making machine is GPT itself. Or maybe we're
| still one level behind, and the GPT-making machine will
| generate the GPT-making machine, as well as all the other
| machines that will generate everything else.
| [deleted]
| trabant00 wrote:
| Two problems with the analogy: The artisans fields where
| machines took over where hundreds and thousands of years old.
| We understood them very good. And maybe more importantly
| factory automation is deterministic and needs to be, as
| opposed to generative ML.
| nuancebydefault wrote:
| Indeed, a programmer's job feels artisan oftentimes. I think
| a reason for it is that projects are often ill defined from
| day one. They are defined by people who do not know enough
| about the system to set good requirements. The engineer works
| both bottom-up from the existing primitives of an existing
| system and top-down from requirements and tries to solve the
| puzzle where both approaches meet. Such work is very hard to
| automate. I believe there is a very big opportunity for AI to
| be used in a workflow such that inconsistencies between
| requirements, on all levels, and actual systems become clear
| a lot faster. The feedback loop to the requirements will be
| shorter, prototypes will exist sooner. The current workflow
| has little space for an AI worker. I believe this will change
| and have a major impact on the art of developing products.
| The AI programmer is still at its infancy, let's talk again 5
| years from now.
| oblio wrote:
| For that we need to make the AI deterministic or at least
| shape processes on specific error rates which are probably
| higher than that of the average smart human.
|
| We had to do that for the industrial approach and it wasn't a
| simple, fast or intuitive process.
| Jeff_Brown wrote:
| A deep insight. Thanks.
| Quarrelsome wrote:
| That's an extremely interesting thought. Perhaps we will see
| organisations in the future structure themselves more like a
| suite of unit tests. Instead of getting a developer or
| software house to plug a specific need in their org and being
| entirely outside of the development process: they will
| reflect the development process organisationally to ensure
| they catch any problems with the current output and just feed
| the box new prompts to increase their efficiency or efficacy.
|
| Their competitive advantage in their field then becomes the
| range of their tests (borne through experience), efficiency
| in running their pipeline of testing and ability to generate
| effective prompts.
| Jeff_Brown wrote:
| Tests and type signatures. Hopefully soon, dependently
| typed signatures.
| yc-kraln wrote:
| This is already how automotive companies work. They are
| huge organizations which do four things: marketing,
| financing, design, and requirements. The supplier
| management and project management all fall under
| requirements management and enforcement.
| jackcviers3 wrote:
| I firmly believe that we should be studying model analysis
| and using that to create a field of peompt engineering.
| Both from a security standpoint and a productivity
| standpoint.
| globalise83 wrote:
| "How far can you get if you put prompt-generated code at the
| heart of the workflow and make everything else subservient to
| it"
|
| OK, challenge accepted - will go down your suggested route -
| thanks :)
| JimmyRuska wrote:
| This post feels like the people that go into linux forums and
| say linux sucks because I can't get it to do X but microsoft
| can, but then get 400 replies and several that show <how to do
| thing>
|
| GPT has limited reasoning but given enough knowledge of the
| problem you can coerce it to do surprising things so long as
| you can relate it to something in else in the knowledge base.
| Given how big that knowledge base is, you can get lucky
| surprises where things just work if you fish around enough
| whateveracct wrote:
| the big thing to me is programming isn't hard
|
| I've worked on adtech, crypto, fintech, gamedev, startup
| founder, BigCo. Not once was programming something that was a
| time sink.
|
| Makes me feel like GPT is marketing to the incompetent or
| something.
| Peritract wrote:
| > Makes me feel like GPT is marketing to the incompetent or
| something.
|
| Absolutely. The common constant I can see in people who are
| really blown away by GPT's performance at [task] is that
| they are bad at [task].
|
| Programmers who describe their job as copying from
| StackOverflow think it's great at coding. People who don't
| read fiction think it's great at writing fiction, and so
| on.
| Winsaucerer wrote:
| That's not accurate at all for me. I'm not impressed with
| the output when rating it against humans who are good at
| said task. It's obviously not as good as those who are
| good in that relevant field.
|
| But it's certainly far better than humans who are not
| skilled at those tasks, and that is what I find to be
| very impressive. I just didn't realise that these models
| could be this good, and they're not even as good as they
| will be.
|
| I guess if you were expecting something that's going to
| be as good as those who are skilled in a particular
| field, you'll be unimpressed -- but I wasn't even
| expecting mediocrity.
| Peritract wrote:
| I think we're talking at cross-purposes here. I'm not
| underwhelmed by it being not as good as good humans at
| [task]; that's not a surprise.
|
| I'm saying that most people I see who are impressed by it
| for any given task are people who are not well-equipped
| to judge performance on that task.
| Sunhold wrote:
| I'm impressed by the talking dog because it's a dog that
| can talk, not because I think it's a great orator.
| Peritract wrote:
| I trust that you're familiar enough with dogs to tell
| barking apart from talking.
| brookst wrote:
| Many people are blown away by GPT for the leverage it
| provides, not because it makes the impossible possible.
|
| Programming is generally not hard. Producing 5x - 10x as
| much programming output at the same quality _is_ quite
| hard. And keeping the most interesting 10% for yourself
| while offloading the 90% that is basically just typing?
| That's what people are excited about.
| copperx wrote:
| > Not once was programming something that was a time sink.
|
| Can you please expound on that? Do you mean not hard as in
| comparison to something else?
| noitpmeder wrote:
| I think all it shows is that GP has never worked on
| complicated problems that require anything more than
| gluing libraries together.
| Jensson wrote:
| If you do nontrivial coding then GPT wont help you, so
| that isn't relevant for the discussion.
| noitpmeder wrote:
| I disagree. GP, by their statement and appeal "I've
| worked on adtech, crypto, fintech, gamedev, startup
| founder, ...", implies that he has worked on complicated
| software issues, and that he thinks GPT is a promising
| replacement for developers working on those problems.
| whateveracct wrote:
| Opposite.
|
| I did a startup for years and the backend was all boring
| Golang talking to Postgres. I am confident that if GPT
| had produced identical code it would've been worse.
| Because shit hit the fan many times due to
| misunderstandings or other things that cause bugs.
| Because I wrote the bugs, I was able to fix them. Making
| coding more of a blackbox and treating coding as menial
| labor would have definitely caused us to lose customers
| and miss important deadlines.
|
| Maybe the next way to move the goalposts is "GPT will
| debug for you someday and be trained on the entire
| transitive closure of your dependencies."
|
| That sort of thing could actually be useful as a sort of
| hint, but it isn't replacing devs any more than ripgrep
| did. To be honest, ripgrep through the source of my deps
| is already highly efficient and points me to things
| often.
| Jensson wrote:
| > implies that he has worked on complicated software
| issues
|
| No it doesn't, there is a lot of simple "gluing APIs
| together" to do in all of those. The hard part then is
| figuring out what you want to do, not getting the code to
| do it.
| whateveracct wrote:
| I have built plenty of complicated things that were much
| more than glue. Even for those, coding was far from a
| bottleneck. Because coding is easy.
|
| In fact, all the complicated software anecdotes I could
| give were things that ChatGPT wouldn't even touch. In the
| realm of design and scaling and fault tolerance and other
| such things.
| Jensson wrote:
| Exactly, we know how much code gets written per programmer
| hour, its in the single digits on average. Speeding that up
| wont make a big difference.
| matwood wrote:
| > you can coerce it to do surprising things
|
| Yeah, I've gotten it to write some pretty decent contracts,
| but only because I have written said contracts and can ask it
| all the right questions/prod it into adding what I need.
| hnfong wrote:
| And the next iteration of ChatGPT will likely generate a
| better contract because your interaction with it will be
| used as training data
| jamiek88 wrote:
| Huh. There's something scary about that in my lizard
| brain. Not sure what.
| pixl97 wrote:
| Its like feeding a baby polar bear. When it grows up it
| is going to eat you.
| ashwagary wrote:
| Extending this analogy into a question: Could the polar
| bear community eat enough expert food providers that
| their quality of food and eventually overall health
| declines?
| pbhjpbhj wrote:
| Will GPTs eat themselves, or more correctly, will they
| dilute their training corpuses until there are no gains
| to make? Seems possible.
|
| Like how we've relied on fossil fuels that are a limited
| resources, to get further we have to go beyond such
| fuels. It seems like we're in the process of locking in
| our highest attainable level of text-or-image based
| advancement.
|
| We mine the expertise in industries (programming, music
| production, graphic design, ...) and simultaneously cause
| the replacement of many future experts. Thus leading to a
| lack of expert output that we can mine?
|
| Now, currently, the problem seems to be "we're putting
| people out of work" -- but that's progress. The real
| problem is that we are unevenly distributing the
| benefits.
| simonh wrote:
| It will only be a better contract if it better meets the
| actual real world requirement, rather than the
| requirement it was literally given. That means inferring
| information that isn't there. Now that is possible for
| common situations but not reliably even for a human
| expert. The way a human lawyer would do that is by
| interrogating the client and asking about likely
| additional requirement and iterating on them to agree on
| a final requirement. Current LLM architectures aren't
| capable of this, and it's hard to see how they could be
| re-architected to do it because it's a very different
| kind of task, but if that ever is achieved then there may
| be no limit to what such a system can do.
| siftrics wrote:
| cope
| kevinwang wrote:
| Eh, it's still impressive that these systems can write such
| good code despite pretty much just predicting the next word. I
| guess it's a matter of perspective. You can either be astounded
| by how much it can do relative to your expectations from 2018
| or you can be skeptical relative to the volume of excitement. I
| think some excitement is also people extrapolating to the
| future: if predicting the next word gets you this far, what
| happens when you actually try to make it good?
| copperx wrote:
| > despite pretty much just predicting the next word
|
| Is GPT really like the old school NLP trigram stuff?
| hnfong wrote:
| "predicting the next word" sounds trivial until you realize
| the value and complexity of "predicting the next word[s] by
| a world leading expert in a particular domain".
| Jensson wrote:
| Quoting famous people sounds smart until you realize they
| just memorized a ton of trivia. These models have
| demonstrated that they don't learn logical models,
| instead they learn to generate text that looks logical at
| first glance but is nonsense.
| sgarland wrote:
| I asked GPT-4 something fairly niche that I happen to
| know a fair amount about: to explain the concept of Xenon
| poisoning in a nuclear reactor. Other than skipping
| Te-135 being the initial fission product that starts the
| decay chain (and tbf, operationally it can be skipped
| since the half-life is 19 seconds), it got everything
| correct.
|
| I'm sure if I kept probing on smaller and smaller details
| it would eventually fail, but I'd argue for _most_
| people, on _most_ subjects, it performs incredibly well.
| eternalban wrote:
| I couldn't get ChatGPT to do Wordle. I don't have access
| to GPT-4. See if it can do that.
| Nevermark wrote:
| > I really am in awe of how much work people seem willing to do
| to justify this as revolutionary and programmers as infantile
| [...]
|
| Well it is revolutionary. And it isn't just where it is today,
| but how fast these models are improving - with no saturation in
| ability evident at this time.
|
| On the other hand, I am not sure anyone is saying programmers
| are infantile - although poorly written software is as at least
| as prevalent as poorly compensated or managed software
| development positions.
| spaceman_2020 wrote:
| I started learning how to code about 6 months ago, mostly to
| build prototypes of a couple of app ideas. I have no intention
| of getting a coding job - if the prototype is successful, I'll
| seek a technical co-founder.
|
| Last couple of months, I've been using chatGPT to write a lot
| of features and functions. I don't think it has made me a
| better coder, but it has made me _massively_ more productive.
| Things like scraping data from a URL - something I would have
| had to sit through an hour long tutorial to learn - is
| accessible with a single query.
|
| I also think that the code quality has improved over the last
| few iterations. It makes fewer mistakes now.
| davewritescode wrote:
| This is exactly what GPT is great for, accelerating learning.
| spaceman_2020 wrote:
| I predict there will be an explosion of productivity and
| small scale entrepreneurship. These tools are going to give
| so many smart but technically unskilled people a path
| towards realizing their ideas and vision.
|
| Exciting times
| yodsanklai wrote:
| The problem is that many people here have an extreme point of
| view. It's either "this is going to make all develops jobless"
| or "it's useless, my job isn't that".
|
| I think It'll help with _some_ tasks, which is always good to
| take. After all, people tweak their vim settings because they
| feel it makes them more productive.
| Jeff_Brown wrote:
| Software development seems safe for the time being, but as
| someone who has both paid professional translators and used
| ChatGPT for translation, I'm certain GPT is obliterating some
| jobs.
| travisjungroth wrote:
| This tech is so powerful, cutting so close to the last of
| human output that's uncopied, advancing so fast, I have an
| incredibly hard time imagining it ending in a space that
| deserves a muted a reaction. It seems like it will either
| dramatically change society or fail. And I have quite a hard
| time imagining failure.
|
| It seems on par with the Industrial Revolution, at least.
| Which, easy to forget, was a huge deal that totally changed
| society.
| ArchitectAnon wrote:
| Here's my perspective on this as an Architect: Most construction
| details have been done before, they could be easily reproduced by
| an AI surely? There's usually just a few things that are
| different from the last time I have drawn it. A few 3D
| interactions with other components that need to be reasoned
| about. They are not that complicated individually.
|
| But yet I see this problem as well just using old fashioned
| automation let along AI to save time. I find that if you haven't
| drawn the 2D section through all the different edge cases of a
| particular thing you are trying to design, you haven't done the
| analysis and you don't really understand what's happening. I've
| made mistakes where I've been working in 3D on something
| complicated and I've had to hide some element to be able to view
| what I'm working on, only to find later that when I turn
| everything on again I've created a clash or something impossible
| to build. That's why we still do 2D drawings because they are an
| analysis tool that we've developed for solving these problems and
| we need to do the analysis, which is to draw section cuts through
| things, as well as building 3D models. After all, if models were
| such a good way to describe buildings, then why weren't we just
| building physical scale models and giving them to the builders
| 100 years ago; it's because you can't see the build-up of the
| layers and you can't reason about them.
|
| Reading this article I get the same sense about software
| engineering, if you haven't solved the problem, you don't really
| understand the code the AI is generating and so you don't really
| know if it is going to do what you've tried to describe in your
| prompt. You still have to read the code it's generated and
| understand what it is doing to be able to tell if it is going to
| do what you expect.
| IsaacL wrote:
| > Reading this article I get the same sense about software
| engineering, if you haven't solved the problem, you don't
| really understand the code the AI is generating and so you
| don't really know if it is going to do what you've tried to
| describe in your prompt. You still have to read the code it's
| generated and understand what it is doing to be able to tell if
| it is going to do what you expect.
|
| Yes, this is pretty much exactly the way I've been using GPT
| and it works tremendously well. (GPT4 works especially well for
| this style of programming.) My prompts include things like:
|
| - "read the function below and explain in detail what each
| section does" -- this prompts GPT to explain the code in its
| own terms, which then fills in its context with relevant
| "understanding" of the problem. I then use the vocabulary GPT
| uses in its explanation when I ask it to make further changes.
| This makes it much more likely to give me what I want.
|
| - "I see this error message, what is the cause? It appears to
| be caused by $cause" -- if I'm able to diagnose the problem
| myself, I often include this in my prompt, so that its
| diagnosis is guided in the right direction.
|
| - "this function is too complex, break it up into smaller
| functions, each with a clear purpose", or "this function has
| too many arguments, can you suggest ways the code could be
| refactored to reduce the number of arguments?" -- if you go
| through several rounds of changes with GPT, you can get quite
| convoluted code, but it's able to do some refactoring if
| prompted. (It turned out to be easier to do large-scale
| refactoring myself.)
|
| - "write unit tests for these functions" -- this worked
| phenomenally well, GPT4 was able to come up with some genuinely
| useful unit tests. It also helped walk me through setting up
| mocks and stubs in Ruby's minitest library, which I wasn't
| experienced with.
|
| In brief, if you expect to just give GPT a prompt and have it
| build the whole app for you, you either get lame results or
| derivative results. If you're willing to put the effort in,
| really think about the code you're writing, really think about
| the code GPT writes, guide GPT in the right direction, make
| sure you stay on top of code quality, etc, etc, GPT really is
| an outstanding tool.
|
| _In certain areas_ it easily made me 2x, 10x, or even 100x
| more productive (the 100x is in areas where I 'd spend hours
| struggling with Google or Stack Overflow to solve some obscure
| issue). It's hard to say how much it globally increases my
| productivity, since it depends entirely on what I'm working on,
| but applied skilfully to the right problems it's an incredible
| tool. Its like a flexible, adaptive, powered exoskeleton that
| lets me scramble up rocky slops, climb up walls, leap over
| chasms, and otherwise do things far more smoothly and
| effectively.
|
| The key is you have to _know what you 're doing_, you have to
| know _how to prompt GPT intelligently_ , and you have to _be
| willing to put in maximal effort_ to solve problems. If you do,
| GPT is an insane force multiplier. I sound like I work in
| OpenAI 's marketing department, but I love this tool so much :)
| ben7799 wrote:
| I'm curious how long till we figure out if these algorithms are
| plagiarizing OSS or other code they come across like GitHub
| Copilot.
|
| It requires special tools to actually figure out if this is
| happening. Having seen tests with such tools the problem seems a
| lot worse than commonly discussed.
|
| Inserting stolen code or using OSS code in violation of licenses
| is going to be a big mess. Copying snippets versus pulling in
| dependencies creates tons of issues. Even if you get away with
| violating licenses you set yourself up for security issues if the
| tools plagiarize code with vulnerabilities in a way that won't
| get updated.
|
| It might mean this stuff is a useful tool for someone with a clue
| but not for someone who doesn't know what they're doing.
| uhtred wrote:
| I was thinking last night about how my job as a pretty average
| software engineer is probably going to be taken by GPT* in less
| than 5 years, and how skilled blue collar jobs like electricians
| and plumbers and carpenters are probably much safer, since
| robotics is way behind AI.
| gumballindie wrote:
| You are not far from the truth to be fair. Software development
| as a career is bound to regress ai or not anyway. The goal is
| likely to turn it into manufacturing, and to adjust costs
| accordingly.
| chrismsimpson wrote:
| Prediction based on statistical probabilities != comprehension.
| So no.
| eggsmediumrare wrote:
| If the outcome is the same, does it matter?
| chrismsimpson wrote:
| Have you heard of the halting problem? For one, you'll never
| be able prove the outcome is the same.
| quonn wrote:
| In general. This does not mean that it could not be proven
| for most or even all relevant cases.
| modeless wrote:
| I wonder if the multimodal capabilities would be helpful on
| easily visualized problems like this. Could it benefit from
| seeing the diagrams? Seems far fetched, but so did its current
| capabilities a few months ago.
| danwee wrote:
| I want to see GPT-4 dealing with this situation:
|
| - they: we need a new basic POST endpoint
|
| - us: cool, what does the api contract look like? URL? Query
| params? Payload? Response? Status code?
|
| - they: Not sure. Third-party company XXQ will let you know the
| details. They will be the ones calling this new endpoint. But in
| essence it should be very simple: just grab whatever they pass
| and save it in our db
|
| - us: ok, cool. Let me get in contact with them
|
| - ... one week later...
|
| - company XXQ: we got this contract here: <contract_json>
|
| - us: thanks! We'll work on this
|
| - ... 2 days later...
|
| - us: umm, there's something not specified in <contract_json>.
| What about this part here that says that...
|
| - ... 2 days later...
|
| - company XXQ: ah sure, sorry we missed that part. It's like
| this...
|
| - ...and so on...
|
| Basically, 99% of the effort is NOT WRITING CODE. It's all about
| communication with people, and problem solving. If we use GPT-X
| in our company, it will help us with 1% of our workload. So, I
| couldn't care less about it.
| gsamuelhays wrote:
| I run into this a lot myself. In our paper
| (https://arxiv.org/pdf/2303.07839.pdf) we specify a
| 'Specification Disambiguation' pattern that attempts to address
| this very thing.
| franl wrote:
| Just wait until XXQ adopts the same AI technology to keep the
| AI-using company's business. Then the AI can simply coordinate
| with one another, and make the appropriate changes faster than
| currently possible. Microsoft is well positioned to do
| something like this and already working toward this end to end
| collaborative AI.
| netfortius wrote:
| Absolutely this. I still don't understand why people stop
| seeing the AI at one end of the
| business/computing/requirements gathering model. You should
| have it at both ends, "converging" towards the target.
| lend000 wrote:
| What if they replace "us" with GPT and one programmer to glue
| together the snippets it provides?
| jimbokun wrote:
| How good is GPT-4 at writing emails to nail down requirements?
| eggsmediumrare wrote:
| Company XXQ to LLM once they figure their shit out: here is the
| endpoint we need. LLM: gives code. You: not involved.
| pif wrote:
| Maybe you did not get the point: "once they figure their shit
| out" _is_ the pain point, and no ChatGPT can ease that!
| quitit wrote:
| This is so common in many types of business, and usually a very
| difficult point to articulate so thank you for that. It's
| something to be shown to those ringing the death-knell for
| programmers, artists, and the like.
|
| Those death-knell types seemingly aren't aware of what day to
| day operations looks like and how AI makes a great tool, but
| doesn't necessarily deal with the very human factors of whims,
| uncertainty, reactive business mentalities and the phenomenon
| that is best summarised by this webcomic:
| https://theoatmeal.com/comics/design_hell
|
| In my field they like to call this "hurry up and wait", a
| nonsensical but fitting description that summarises everything
| from changing scope to the unjust imbalance of time between the
| principal and the agent.
|
| (There is a comment further down which suggests that we could
| just train AI to deal with this variability, I hope that's
| humour... sweet summer child thinks you can train AI to predict
| the future.)
| [deleted]
| IKLOL wrote:
| I think the fear should be less about AI taking 100% of jobs
| but it should be AI making a single programmer do the job of
| 5, which would wipe a majority of the market out and make it
| a non-viable career option for most.
|
| Companies are already bloated, imagine when they realize one
| overworked highly paid senior can replace 10 juniors.
| zeroonetwothree wrote:
| How much more efficient is programming in Python with
| modern tools vs assembly? I would bet more than 5x
| lebuffon wrote:
| That's an interesting case and use of the word efficient.
|
| Developer time reduced by 5X CPU time increased by 500x
|
| When CPU cycles are cheap it's a logical tradeoff but it
| still grates against my sensibilities.
| jdminhbg wrote:
| 5X is a gigantic underestimate of how much developer time
| has improved. How long would it take a good assembly
| programmer to implement a CRUD web server connected to a
| database? Way more than 5x longer what a mediocre Python
| programmer would need.
| ruined wrote:
| an assembly programmer wouldn't write a web server
| connected to a database, they would implement a tui over
| tty, and it would be faster.
| jdminhbg wrote:
| How good would it be at letting business users attach
| photos and emailed documents?
| Jensson wrote:
| > How long would it take a good assembly programmer to
| implement a CRUD web server connected to a database?
|
| You know you can call import functions and call libraries
| in other languages than python? If everyone was
| programming in assembly then there would be plenty of
| libraries to make database calls or make web servers in
| assembly, and there would be plenty of tutorials online
| that you could copy and paste to get things going,
| meaning it wouldn't take much work at all. It would be
| more work, but not orders of magnitude more work.
| bee_rider wrote:
| Depends on the field kinda. For a really extreme case,
| something like big dense linear algebra is going to just
| use BLAS calls anyway. For big enough matrices, all of
| the flops are coming from the library, the cost of
| calling from Python vs the cost of calling from C or
| Fortran is amortized anyway, and probably most people
| won't beat a tuned BLAS however much developer time they
| throw at it.
|
| It makes more sense to tune libraries excessively, we
| could say it is less of a trade off, more of an
| allocation of the finite low-level tuning developer
| resources to high-impact libraries.
|
| Anyway it turns out that the only way to get most people
| to link to a good BLAS is to use Numpy and distribute it
| through some giant Anaconda Rube Goldberg machine, so, I
| dunno, people are weird.
| ryandrake wrote:
| We should stop thinking about the trade-off as between
| developer time and CPU time. The CPU is an inanimate
| object which doesn't mind pushing around more electrons.
| What we're really throwing under the bus when we optimize
| for developer time is _the customer 's time_.
|
| If an inefficiency saves a developer 10 days of work, but
| results in an operation taking 100 milliseconds longer,
| and you have 50M customers who do that operation just one
| time, then you've wasted ~58 customer-days.
| wlesieutre wrote:
| Don't forget customer's battery
| bee_rider wrote:
| So we just have to figure out if developer-hours or
| customer-hours are the tighter bottleneck.
| geysersam wrote:
| What does it even mean to say that a hypothetical
| assembly program is 500x faster than an existing Python
| program, when the assembly program does not even exist?
|
| It's some kind of philosophical question.
|
| Maintaining an assembly version of a modern software
| stack is not 5x more costly, it's simply not possible.
| giardini wrote:
| Good question. Why don't we pit one of today's Python
| programmers against an IBM VS assembler programmer on an
| IBM 360 system circa 1960 and see how far each gets in a
| week?
| aftbit wrote:
| Let's make it more fair: what about one of today's Python
| programmers vs an IBM assembler programmer using
| Erlang/Elixir to develop a telephone switch?
| scruple wrote:
| > making a single programmer do the job of 5
|
| I mean, I already do? And for totally mundane and benign
| reasons. This has been my experience in this industry for
| the last 8 years or so, though my first 9 years I felt like
| the pace was maintainable.
|
| Do more with less. It's so common to come across situations
| where so and so left, their position won't be backfilled,
| the targets don't adjust to compensate for the productivity
| hit, and we can put up or shut up.
| olalonde wrote:
| Fixed pie fallacy. More likely, there will be 5x as many
| apps / companies with just as many jobs available. And the
| cost of everything will go down, except truly scarce things
| like Manhattan real estate.
| xwdv wrote:
| If you can have one programmer do the job of 5, then you
| will be defeated by companies using 5 programmers to do the
| job of 25.
|
| Also, if your one programmer dies you now have no
| programmers and loss of all institutional knowledge,
| whereas the other company can lose several programmers and
| still be OK. There is value in having redundant
| programmers.
| 908B64B197 wrote:
| This was already the case 10 years ago.
|
| Except, there was no AI, but an alternative called an
| offshored development center. You would send your spec and
| design document and get, via email or FTP if they were
| really cutting-edge a number of files that would sometime
| compile and even, according to the legends, actually work.
| The way this tech worked is that you generally had to wait
| overnight for your spec to "mature" into code.
|
| Some places figured out they could hire local engineers for
| about 5-10x what they paid for this "offshored development
| center" tech and get better results.
| bcrosby95 wrote:
| That would be awesome. We have a never-ending list of
| things to do and not enough time to do it all. What you're
| saying to me is that we can get through our list of
| priorities even faster, and stuff won't continually rot at
| the end of the list.
| mbesto wrote:
| > imagine when they realize one overworked highly paid
| senior can replace 10 juniors
|
| This already happens, the market is just not very efficient
| about it, e.g. a highly paid senior dev is not working at a
| company that only needs 2-3 developers, they're working at
| Google with 100's of devs.
| jjkeddo199 wrote:
| Disagree -- I think chatGPT will make juniors more
| palatable to hire. ChatGPT will basically give juniors a
| free pair programmer to baby-sit their work/progress. Why
| pay extra for senior devs when juniors can become much
| more efficient thanks to ChatGPT becoming stack-overflow
| on steroids. I think the wage gap between junior and
| senior will actually drop massively. I predict teams will
| keep 1-3 architect level positions for designs and
| reviews and replace all seniors with cheaper juniors.
| [deleted]
| pydry wrote:
| Companies were bloated because of the profit potential of
| tech and organizational dysfunction.
|
| AI wasnt needed to cut down on bloat - some combination of
| a few companies reaping the majority of the profit and
| reduced dysfunction is enough.
| SketchySeaBeast wrote:
| I don't know if that's going to be the case - companies can
| never have enough software and typically they just go until
| the budget runs out as the software is never "done". I
| think being able to build 5x the software with one dev
| means that each company is going to build 5x the software.
| gonzo41 wrote:
| You're not thinking that companies will not just spin up 5
| projects, so 5 programmers produce a notional 25 person's
| worth of work. And hey, maybe they sack the expensive old
| guy and the AI spend isn't so great. Seems like a win.
| vages wrote:
| If increased productivity equaled job loss, there would be
| two programmers alive today, doing the same job as the
| fewer than 10000 programmers using punch cards as we
| entered the year 1950.
|
| A lot of projects today are not even greenlit because they
| would be too expensive to make. For instance, there are a
| lot processes in almost every country that require you to
| file paper forms, even though we have had web forms and
| databases for 25 years. This goes even for rich countries.
| If one programmer is able to do the job of 5 others, we
| will probably have 5 times as many systems to tend to now
| that businesses and institutions can afford them.
| coldtea wrote:
| > _If increased productivity equaled job loss there would
| be two programmers alive today, doing the same job as the
| fewer than 10000 programmers using punch cards as we
| entered the year 1950._
|
| The only reason it's not the case in this example is
| because computers at the time were a tiny early adopter
| niche, which massively multiplied and expanded to other
| areas. Like, only 1 in 10,000 businesses would have one
| in 1950, and only big firms would. Heck, then 1 in 100
| million people even had a computer.
|
| Today they've already done that expansion into all
| businesses and all areas of corporate, commerce, and
| leisure activities. Now almost everybody has one (or a
| comparable device in their pocket).
|
| Already cloud based systems have made it so that a
| fraction of programmers and admins are needed. In some
| cases eliminating the need for one altogether.
|
| There are tons of other fields, however, more mature,
| where increased productivity very much equaled job
| loss...
| cguess wrote:
| Have no doubt, we will find new places to put computers.
| In the 80's and even the 90's everyone said the same
| thing, "Why do I need a computer? I can do everything I
| do already without a problem?" Well, turns out with
| computers you could do 12 more things you can never
| considered. Consider the interoffice memo: it'd take
| what, 1-2 hours to get a document from one floor to
| another through the system? Cool, you can work on 2-3
| projects at a time maybe, because that's all the
| bandwidth allowed. Along comes email and ups that to 5-6
| because now the communications can be pretty consistent.
| It's still not perfect, because what if you're at lunch
| or the gym? Then came Blackberries and all of a sudden
| its 12-15 projects at once. Then Slack because you don't
| even have to think. Now add this.
|
| Notice that during that time there weren't all of a
| sudden less programmers, or managers or sysadmins, if
| anything there's more. If anything everyone is even more
| stressed with more to do because of the context switching
| and 24/7. That's why this will do, I'd bet money on it.
| notJim wrote:
| I dunno, I feel like we've been trying to find new places
| to put computers for a couple decades now, and the effort
| is kind of losing steam. Every week there are threads
| about how useless a lot of these efforts are.
| coldtea wrote:
| > _In the 80 's and even the 90's everyone said the same
| thing, "Why do I need a computer? I can do everything I
| do already without a problem?" Well, turns out with
| computers you could do 12 more things you can never
| considered_
|
| Yeah. Also, unfortunately, it turns out those people in
| the 80s and 90s got it right. They didn't really need a
| computer - they'd better off without one. But as soon as
| we got them, we'd find some things to use them for -
| mostly detrimental to our lives!
| gnaritas99 wrote:
| [dead]
| [deleted]
| WillPostForFood wrote:
| _If increased productivity equaled job loss, there would
| be two programmers alive today_
|
| Increased productivity doesn't necessarily lead to
| overall job loss, but it will eventually in the area
| where the productivity is realized. Agricultural
| employment is a very clear example.
|
| https://cdn2.vox-cdn.com/assets/4565243/Ag_workforce.png
| protomolecule wrote:
| Well, yes, it got down, but only from 12 mln to 5.5 mln
| people in agriculture.
| BurningFrog wrote:
| Something like 97% of all jobs have been eliminated since
| the Industrial Revolution started ~250 years ago.
|
| And instead of the 97% unemployment our intuition tell us
| would happen, we're instead 30x as productive.
|
| The same will happen when/if AI makes writing software
| far more effective.
| JPws_Prntr_Fngr wrote:
| > ... instead of the 97% unemployment ... we're instead
| 30x as productive.
|
| Economic productivity simply means output per worker. So,
| we could make 97% of the US population permanently
| unemployed tomorrow, and as long as the AI replacement
| labor yielded equal or greater proceeds to the remaining
| 3%, we'd see a colossal increase in "productivity."
|
| That would be in the interest of the 3% to do (or
| attempt), which is what makes the scenario so scary.
| comfypotato wrote:
| But that's never happened in the past. Why should it
| happen now? The Industrial Revolution is used as an
| example because it was the biggest spike in productivity,
| but the general trend has been the same since the
| invention of tools. Agriculture, another perfect example,
| lead to others having time to produce things instead of
| hunting/gathering. It's easy to grasp with the
| agriculture example that "unemployment" wasn't even
| really a risk.
|
| Sure, there will be niche sub-industries that will be
| erased by LLMs, and people who have those niche skills
| will suffer. This has always been the case with
| technological advances. And always, it has not disrupted
| the economy.
| gnaritas99 wrote:
| [dead]
| addaon wrote:
| > If increased productivity equaled job loss, there would
| be two programmers alive today, doing the same job as the
| fewer than 10000 programmers using punch cards as we
| entered the year 1950.
|
| Yeah. The problem is that there's only one of me. All the
| rest of you are filling in for the other guy.
| twic wrote:
| Correct. This is pretty much Jevons's paradox:
| https://en.wikipedia.org/wiki/Jevons_paradox
| _fizz_buzz_ wrote:
| This is true for other domains also. My wife translates
| for an ecommerce business. A lot of what she does is very
| automated. The software she uses remembers all phrases
| she has translated and uses a word bank she manages for
| special parts and uses DeepL for new translations which
| are then only proofread and fine tuned. It's amazing how
| much stuff she can translate that way in a day (no idea
| how many thousands words). She is kind of managing and
| overseeing an AI (DeepL) and sanity checking the work. If
| this was 20 years ago one would probably need a
| translation department of 10-15 people to do the same
| work. However, her company would have never been able to
| justify that kind of cost. So, in my view: Software and
| AI made translators probably more than 10x more efficient
| in the last 10 years, however the amount of stuff that
| gets translated also increased 10 fold during this time.
| sanderjd wrote:
| Yep! I think this is both the optimistic case, and the
| version of the future that seems most likely to me.
|
| I'm still a bit bummed about it, because just writing and
| structuring code is something that often brings me joy
| (and maybe your wife feels similarly about the actual
| translation work...), but at the end of the day, I
| realized well before all this AI craze that it really
| isn't the most valuable thing I do in my job.
| nemo44x wrote:
| Wouldn't this actually create more demand for programmers?
| More businesses can exist that have a need for software. To
| date every advance in programming efficiency has resulted
| in more tech, not less.
|
| Additionally there's the math behind it. If Company A fires
| 50% of their staff because AI lets the remaining 50% work
| at twice the productivity then how will they compete with
| Company B that keeps their staff and now gets 200%
| efficiency?
|
| The math is in favor of getting more, not fewer,
| developers.
| yonaguska wrote:
| Yep, I personally see the cost of doing a start-up going
| way down for individual developers or even junior
| developers.
| cguess wrote:
| You know, until that AI code breaks and you have no idea
| what's going on internally.
|
| You know how hard it is to start debugging a project you
| haven't been onboarded to? Now imagine that every time
| something has a hiccup.
| anon7725 wrote:
| This is the ray of sunshine in all this AI stuff, to me.
| korijn wrote:
| If as GP says AI could automate 1% of a single programmer's
| job (the boring part where you write code), then how on
| earth can you derive that a single programmer could do the
| job of 5 with AI? It's completely illogical.
| coldtea wrote:
| The GP estimate is way off...
|
| If they indeed wait for input from other
| departments/companies 99% of the time (so they just need
| to actually program 5 minutes in their 8-hour workday),
| then they can be already thrown out of a job and have the
| company do with 1/10 the programmers, no AI required...
| korijn wrote:
| Exactly!
| koolba wrote:
| Clearly the company needs to dedicate a programmer to
| wait on each customer individually. You can't have the
| same person waiting for two things simultaneously.
| intelVISA wrote:
| Can't believe companies are still single-threaded in
| 2023.
| diab0lic wrote:
| I suspect the post you're replying to disagrees with the
| 1% figure.
| cosmodisk wrote:
| I'm kind of on the fence with this one. As someone who does
| programming at work,I don't want to be partially replaced
| by a prompt, however there are also lots of sectors, where
| the problems are big and solving them could help a lot of
| people but money is an issue,so being able to access
| resources on a scale of large tech companies would be
| amazing.
| soperj wrote:
| Yeah, but they would then just start 10 times the number of
| projects at once and watch the majority of them fail.
| risyachka wrote:
| Companies will continue to hire even more people. Their
| single point is growth.
|
| If one can go the job of 5 - they revenue per employee will
| increase.
|
| They will hire even more employees.
| nicholasjarnold wrote:
| > Companies are already bloated, imagine when they realize
| one overworked highly paid senior can replace 10 juniors.
|
| Yep. This is where I'm at in terms of personal armchair
| predictions of the future.
|
| I expect the labor market will be tough for more junior
| software engineers in the coming years. This might indeed
| cause backpressure in the supply of new grads/new labor
| force entrants in this family of fields ("software
| development").
|
| However, the "highly paid senior" is only around for so
| long before achieving financial independence and just not
| working anymore. Then what? The company didn't hire juniors
| because the "highly paid senior" did all the work. Whoops.
| Now the company lacks the pipeline of people to replace
| that senior.
|
| It'll sort itself out in time, but the next decade will be
| interesting I think. Some companies will realize that they
| must make investments into the future of the labor force
| and will do better in the longer term. Other companies
| might indeed "fire the juniors" for some short term gains
| and find themselves lacking replacement staff later.
| kneebonian wrote:
| I see it the other way around the senior engineer is
| expensive and costs a lot 2 juniors are cheap. Who cares
| if their code is crap they produce it really fast so they
| find a bug, just fix it quickly. If anything the time a
| Sr. spends thinking about things to do things "right" is
| seen as a waste of time. Whereas the jr. will produce an
| enormous amount of buggy code but they can fix the bugs
| quickly by just throwing another prompt to ChatGPT to
| solve.
|
| Now some might say that the code will be terrible quality
| and buggy and full of holes and the users will hate it,
| it is never economically viable to build enormous systems
| on a house of cards like that. To which I respond, you
| just described every piece of enterprise software I've
| ever used ever.
| adamauckland wrote:
| Because as soon as you tilt from producing features to
| fixing bugs, you are losing traction and your competitors
| will win and now you are bankrupt.
|
| I've seen entire businesses collapse because of this
| mentality.
| kneebonian wrote:
| Tell that to SAP, Oracle, ServiceNow, or a dozen other
| enterprise software vendors.
| jjkeddo199 wrote:
| Disagree -- I think chatGPT will make juniors more
| palatable to hire. ChatGPT will basically give juniors a
| free pair programmer to baby-sit their work/progress. Why
| pay extra for senior devs when juniors can become much
| more efficient thanks to ChatGPT becoming stack-overflow
| on steroids. I think the wage gap between junior and
| senior will actually drop massively. I predict teams will
| keep 1-3 architect level positions for designs and
| reviews and replace all seniors with cheaper juniors.
| fn-mote wrote:
| I really doubt that ChatGPT will be able to give the kind
| of guidance that turns juniors into seniors.
|
| Getting juniors un-stuck on "simple" problems, maybe.
| Stack Overflow already does this. Image doesn't build?
| Search for the error message online. Don't know how to
| build the old software that only works in Ubuntu 14.10?
| Sure, you'll find that.
|
| Suggestions on how to refactor, proper design of
| interfaces, what skill to acquire next? Maybe, but that
| will be a bigger surprise.
| Art9681 wrote:
| I think this fear is unfounded because history shows this
| is not the case. We will adapt to the new level of
| productivity and our goals will adapt accordingly. What we
| are expected to produce will adapt. You were able to pump
| out 4 solid production grade pull requests per sprint? Then
| the expectation increases to a single dev being able to
| pump out 10. The company's ambition will grow as a result
| of the newfound efficiencies, and management will continue
| to request things that cannot be reasonably delivered on
| time with the people and tooling we have.
| intelVISA wrote:
| > Companies are already bloated, imagine when they realize
| one overworked highly paid senior can replace 10 juniors.
|
| That is already possible without AI and has been the case
| for a long time... the issue is nobody will stay to be that
| highly paid senior running entire projects because at that
| point you can just run your own shop and pocket the full
| profits.
| Art9681 wrote:
| It also causes a "single point of failure". If that
| senior gets hit by a bus then what? Can the company
| afford to bring in another senior that will take ~6
| months to become productive?
|
| I'm not disagreeing with you. Im thinking of going solo
| myself.
| onemoresoop wrote:
| The biggest problem going solo is getting the
| projects/contracts. Now it will become even harder so one
| has to charge less and less to compete.
| segmondy wrote:
| Yes it can write code, some demoed developing "Doom", ray
| tracing/ray casting with GPT-4 the very first day it came out
| and it was impressive. Programmers would still program, but the
| program will no longer be code but will be "GPT prompts". I
| suspect with time tho, we won't need to write amazing prompts,
| you ask GPT for a solution, it will then figure out the edge
| cases by asking you questions. If it's 2 people, it would query
| you both and resolve your conflicts. Programmers will be
| replaced with AI. We need to get over it, the question we
| should be asking is, what's next?
| maxwell wrote:
| Seems like just a higher level of abstraction: prompts become
| input for generating high-level language code output.
|
| It's an electric bicycle for the creative mind (how long
| until the first one-person unicorn?), I don't anticipate much
| success for those trying to use it as a self-driving car for
| half baked ideas.
| tjr wrote:
| How well do you suppose GPT-4 would have done at that task
| had no human developed raytracing in the first place? Would
| it be able to derive the construct based on its knowledge of
| programming and physics?
| [deleted]
| [deleted]
| 2-718-281-828 wrote:
| wouldn't it just spit out a solution every time without a care
| in the world? that sort of messy communication is only
| bothersome for humans because writing code takes time and
| effort plus it's mentally taxing to change requirements several
| times. also boredom is a big issue. none of those challenges
| are relevant for a computer.
| the_af wrote:
| > _Basically, 99% of the effort is NOT WRITING CODE_
|
| I've come to realize this is true in more contexts than I would
| like. I've encountered way too many situations where "sitting
| on your hands and not doing anything" was the right answer when
| asked to implement a project. It turns out that often there is
| radio silence for a month or so, then the original requester
| says "wait, it turns out we didn't need this. Don't do
| anything!"
| ojosilva wrote:
| ChatGPT is just a tool. With it you can create a service and
| fine-tune it to specific use cases. Let's imagine there's some
| cool startup called chris-the-it-consultant.ai that uses
| ChatGPT in the backend. Here's a prototype:
|
| System Prompt: You are CHRIS the IT consultant. Once you take
| in a question, make sure you understand all the requirements.
| Don't write code until you have an explicit request to do so.
| First make sure you ask all the questions relevant to solving
| the problem and needed by the code. All the responses as CHRIS
| should be written as CHRIS: your response here.
| Sure, I understand. As an IT consultant, it's important to
| fully understand the problem and requirements before proposing
| a solution or writing any code. Please let me know what
| question you have and I'll do my best to ask all relevant
| questions to ensure I fully understand the problem.
|
| > CHRIS, we need a new basic POST endpoint
| CHRIS: Great, I'd be happy to help you with that. Could you
| please provide more information about the purpose of this
| endpoint? What kind of data will be sent in the request body?
| Will this endpoint be used to create new data, update existing
| data, or perform some other action?
|
| > Third-party company XXQ will let you know the details. They
| will be the ones calling this new endpoint. But in essence it
| should be very simple: just grab whatever they pass and save it
| in our db. CHRIS: Understood. It sounds like
| the purpose of this endpoint is to receive data from a third-
| party company, XXQ, and store it in your database. Here are
| some questions to help me better understand the requirements:
| What format will the data be in? Will it be JSON, XML, or some
| other format? What kind of data will be included in the
| request body? Will it be simple data types like strings and
| numbers, or more complex data structures like arrays and
| objects? Will there be any validation or transformation
| required on the data before it's stored in the database?
| Are there any security or authentication requirements that need
| to be considered for this endpoint, given that it will be
| accepting data from a third-party company?
|
| > We got this contract here: { product_id: string,
| product_price: float, product_name: string }
| CHRIS: Great, thanks for providing that information. Based on
| that, here are the next steps to create the POST endpoint:
| We'll need to set up an API endpoint to listen for POST
| requests. We'll need to parse the request body, which
| should contain the product information in JSON format.
| We'll need to validate the data to ensure that it contains the
| required fields (product_id, product_price, and product_name)
| and that the data types are correct. Once the data has
| been validated, we can save it to the database.
|
| This is a real ChatGPT response (current ChatGPT - GPT 3.5
| turbo, not GPT-4, and not a real system-prompt). Not bad for a
| prototype! Now give CHRIS Github/Vercel/SSH access keys,
| SMTP/IMAP, Slack and a Whisper interface to Zoom/Meet/Teams and
| invite it to the 200 meetings where things will be changed
| around 1000x before being released. Raise some VC money and you
| are all set!
| jasmer wrote:
| ChatGPT will eventually help with debugging, suggestions,
| idioms, finding security flaws, recommending libraries,
| boilerplate, finding stuff etc..
|
| Or maybe not ChatGPT but something like it.
| amrb wrote:
| ..what if it was two AI's deciding XD
| kykeonaut wrote:
| To paraphrase Harold Abelson:
|
| Computer Science is not really very much about computers. And
| it's not about computers in the same sense that physics isn't
| really about particle accelerators, and biology is not really
| about microscopes and petri dishes. It is about formalizing
| intuitions about process: how to do things [0].
|
| [0]: https://www.driverlesscrocodile.com/technology/the-
| wizard-1-....
| mtlmtlmtlmtl wrote:
| Watching Abelson give that lecture(on video I mean, first
| lecture of SICP IIRC) made a lot of things click in my head
| as a neophyte programmer. Even after one lecture my
| understanding of the nature of computation had grown
| immensely.
|
| He and Sussman are great at distilling and explaining
| abstract concepts in a clear and precise way.
| coldtea wrote:
| That's irrelevant though, because actual programming is very
| much about computers, and about writing things the majority
| of which have already been formalized by computer scientists,
| and gluing code and programs inti pipelines...
| dimitrios1 wrote:
| I just adore the hubris on full display here to say what
| one of the world's best computer science educators has to
| say is irrelevant.
| anon7725 wrote:
| It is indeed not particularly relevant to the emergence
| of AGI and its effect on our work.
| antegamisou wrote:
| That's the most humble HNer for you btw.
| coldtea wrote:
| First, this is an argument by authority. One of the
| "world's best computer science educators" can still say
| all kinds of wrong stuff. Especially someone as
| opinionated as Dijkstra, with many controversial opinions
| other world leading computer science educators disagree
| with.
|
| Second, relevance and applicability is depending on
| context. On the context of this discussion, about
| practical programming in the trenches, what Dijkstra said
| is irrelevant.
|
| For starters, he was talking about computer science.
|
| Programmers in the trenches (what the thread is
| discussing) don't do computer science. They merely apply
| stuff developed by computer scientists (but also by non-
| scientific practioners in the field), in informal (and
| often haphazard) manner, to solve business problems
| (often the same problems again and again, which is
| something totally beneath a scientist).
|
| So, yes, something Dijkstra had said can still be wrong,
| regardless of his achievements. And it can also far more
| easily be irrelevant, as this just needs his saying to be
| unrelated to the discussion.
| lolinder wrote:
| We're not talking about Dijkstra, OP is paraphrasing
| Harold Abelson.
|
| https://en.m.wikipedia.org/wiki/Hal_Abelson
| dimitrios1 wrote:
| This is an argument of "challenging those who have the
| hubris to think Harold's statement is irrelevant to stop
| thinking small minded", if I were to call it anything.
|
| Additionally, even if I concede it is an argument solely
| on authority, just because an argument contains a
| fallacious point doesn't make it untrue, otherwise that
| would be the fallacy fallacy.
| coldtea wrote:
| > _Additionally, even if I concede it is an argument
| solely on authority, just because an argument contains a
| fallacious point doesn 't make it untrue_
|
| Notice how you also conveniently sidestepped my arguments
| about why it's also untrue (on top of containing a
| falacious point).
| dgacmu wrote:
| As a computer science educator, it's worth remembering
| that Dijkstra was incredibly full of himself and his
| specific formal view of the field. There are large parts
| of computer science that have nothing to do with the
| machine and there are other parts that do. There's no
| single cut and dried answer here, we're a pretty diverse
| field that spans everything from mathematics to
| engineering to a touch of art and human factors.
| lolinder wrote:
| What you say about Dijkstra is true, but we're not
| actually talking about a Dijkstra quote here, we're
| talking about Harold Abelson.
|
| https://en.m.wikipedia.org/wiki/Hal_Abelson
| dgacmu wrote:
| I think we all started replying to a sibling comment that
| quoted from Dijkstra and we got it threaded wrong.
|
| "Computer Science is no more about computers than
| astronomy is about telescopes" - Edsger Dijkstra
| airstrike wrote:
| I think the parent's point is that even highly inspired
| wisdom can be irrelevant if applied to all situations
|
| More like "it doesn't apply" than "it's inherently
| invaluable"
|
| Also your comment is technically an appeal to authority
| Jensson wrote:
| "Science advances one funeral at a time"
|
| - Max Planck
|
| Are you saying Max Planck is wrong here? There is plenty
| of evidence that he was right, that statements made by
| famous scientists holds fields back because they were
| reductive or hurting different perspectives. Putting
| their words at an altar is holding us back.
| gpderetta wrote:
| "Computer Science is no more about computers than astronomy
| is about telescopes"
|
| - Edsger Dijkstra
| AstralStorm wrote:
| And then some guy called Kepler invented a new kind of
| telescope.
|
| (And we all atarted writing more quantum algorithms.)
| roflyear wrote:
| Not just with external parties. This dance happens all over.
| WFHRenaissance wrote:
| Obviously you just formalize the interface for exchanges API
| contracts... and do pre-delivery validation...
|
| Also, ChatGPT would likely be able to extrapolate. It would
| just need to write an email to XXQ to confirm the change.
|
| Cope harder... the fact that you can write an email won't save
| you.
| reaperducer wrote:
| Oh, wow. Your API story just described how I spent eight months
| of 2022.
|
| I thought I was going crazy.
|
| Now I'm sad that this is just how it is in tech these days.
| kerkeslager wrote:
| I've been working as a freelance software developer for about 5
| years now, and my billing model is such that I only bill for
| hours spent writing code. Time spent communicating with people
| is non-negligible, which means that it has to be baked into my
| hourly rate. So I'm very cognizant of how much time I spend
| communicating with people, and how much time I spend writing
| code.
|
| I strongly disagree that 99% of the effort is not writing code.
| Consider how long these things actually take:
|
| > - they: we need a new basic POST endpoint
|
| > - us: cool, what does the api contract look like? URL? Query
| params? Payload? Response? Status code?
|
| > - they: Not sure. Third-party company XXQ will let you know
| the details. They will be the ones calling this new endpoint.
| But in essence it should be very simple: just grab whatever
| they pass and save it in our db
|
| > - us: ok, cool. Let me get in contact with them
|
| That's a 15 minute meeting, and honestly, it shouldn't be. If
| they don't know what the POST endpoint is, they weren't ready
| to meet. Ideally, third-party company XXQ shows up prepared
| with contract_json to the meeting and "they" does the
| introduction before a handoff, instead of "they" wasting
| everyone's time with a meeting they aren't prepared for. I know
| that's not always what happens, but the skill here is cutting
| off pointless meetings that people aren't prepared for by
| identifying what preparation needs to be done, and then ending
| the meeting with a new meeting scheduled for after people are
| prepared.
|
| > - company XXQ: we got this contract here: <contract_json>
|
| > - us: thanks! We'll work on this
|
| This handoff is probably where you want to actually spend some
| time looking over, discussing, and clarifying what you can. The
| initial meeting probably wants to be more like 30 minutes for a
| moderately complex endpoint, and might spawn off another 15
| minute meeting to hand off some further clarifications. So
| let's call this two meetings totalling 45 minutes, leaving us
| at an hour total including the previous 15 minutes.
|
| > - us: umm, there's something not specified in
| <contract_json>. What about this part here that says that...
|
| That's a 5 minute email.
|
| > - company XXQ: ah sure, sorry we missed that part. It's like
| this...
|
| Worst case scenario that's a 15 minute meeting, but it can
| often be handled in an email. Let's say this is 20 minutes,
| though, leaving us at 1 hour 15 minutes.
|
| So your example, let's just round that up into 2 hours.
|
| What on earth are you doing where 3 hours is 99% of your
| effort?
|
| Note that I didn't include your "one week later" and "2 days
| later" in there, because that's time that I'm billing other
| clients.
|
| EDIT: I'll actually up that to 3 hours, because there's a whole
| other type of meeting that happens, which is where you just be
| humans and chat about stuff. Sometimes that's part of the other
| meetings, sometimes it is its own separate meeting. That's not
| wasted time! It's good to have enjoyable, human relationships
| with your clients and coworkers. And while I think it's just
| worthwhile inherently, it does also have business value,
| because that's how people get comfortable to give constructive
| criticism, admit mistakes, and otherwise fix problems. But
| still, that 3 hours isn't 99% of your time.
| namelosw wrote:
| Consider creating an AI stakeholder that speaks for the client.
| This approach would allow the client to provide input that is
| wordy or scattered, and the consultant could receive immediate
| responses by asking the AI model most questions. Better yet,
| they can ask in a just-in-time manner, which results in less
| waste and lower mental stress of collecting all possible
| critical information upfront.
|
| As the project progresses, the AI model would likely gain a
| better understanding of the client's values and principles,
| leading to improved results and potentially valuable insights
| and feature suggestions.
| alfalfasprout wrote:
| There's major $$$, legal, and security ramifications for
| clients in many cases. Having an AI that can't properly deal
| in ambiguity and hallucinates an outright reckless idea 1% of
| the time is completely unacceptable.
|
| Writing code, sure. A human ultimately reviews it. I suspect
| in the legal world a lot of legal writing can also be
| automated to some degree. But strategic decisions, designs,
| etc. very much need a human pulling the trigger.
| geph2021 wrote:
| If we use GPT-X in our company, it will help us with 1% of our
| workload
|
| I think there are many such cases. Another one that comes to
| mind is adding features to a large/legacy code-base. Writing
| the new code/function is a small part of the work. The main
| part of the work is first understanding and agreeing on
| how/where to implement the changes, sometimes across multiple
| teams, and the implications/knock-on effects to other software
| components, potential API changes, updating test suites, etc...
| alfalfasprout wrote:
| And this is one of those things where it has to be done
| correctly by someone who knows what they're doing. It's not
| just "oh, I deployed a change and broke something i'll just
| revert it". Often it means major migrations, etc.
|
| There's a disconnect between folks writing small CRUD or
| mobile apps for clients and folks that have to work on large
| codebases with lots of complex systems.
| tarkin2 wrote:
| You won't need this to-and-fro. GPT-X will generate both sides
| for you.
| agilob wrote:
| - ... 2 days later...
|
| - us: umm, there's something not specified in <contract_json>.
| What about this part here that says that...
|
| - ... 2 days later...
|
| Can you replace this part with ChatGPT talking to another
| ChatGPT to generate questions and answers instantly?
| namuol wrote:
| > It's all about communication with people, and problem
| solving. [...] So, I couldn't care less about it.
|
| These things seem very ripe for LLM exploitation...
| blensor wrote:
| That does not make me feel any safer. The problem is that
| ChatGPT et.al. can include that part of the creation process in
| their token space.
|
| So it's perfectly possible to have it eventually iterate back
| and forth with the client and not only output the code but also
| the conversation with the client leading up to it
| jonnycat wrote:
| This is exactly right. Actually writing the kind of code that
| ChatGPT produces is a vanishingly small part of my job. And
| there's a ton more specialized scenarios to deal with, like
| next week when the third-party company is breaking the contract
| in <contract_json>.
|
| If you want to hire a developer to implement qsort or whatever,
| ChatGPT has them beat hands-down. If you want to build a
| product and solve business problems, there's way more involved.
| danuker wrote:
| We could have this already.
|
| - Have a cron job that checks email from a certain sender
| (CRM?). - Instruct an OpenAI API session to say a magic word to
| reply to an e-mail: "To reply, say REPLY_123123_123123 followed
| by your message." - Pipe received email and decoded attachments
| as "We received the following e-mail: <content here>" to the
| OpenAI API. Make it a 1-click action to check if there is a
| reply and confirm sending the message. If it does not want to
| send a message, read its feedback.
| vidarh wrote:
| I just had ChatGPT write me a JMAP client (for Fastmail)
| that'd create a draft. Then I asked it to:
|
| "Write an OpenAI API client that would take "new_message"
| from the above, feed it to the API with a prompt that asks
| the model to either indicate that a reply is needed by
| outputting the string "REPLY_123123_123123" and the message
| to send, or give a summary. If a reply is needed, create a
| draft with the suggested response in the Draft mailbox."
|
| It truncated the "REPLY_123123_123123" bit to "REPLY_", and
| the prompt it suggested was entirely unusuable, but the rest
| was fine.
|
| I tried a couple of times to get it to generate a better
| prompt, but that was interestingly tricky - it kept woefully
| underspecifying the prompts. Presumably it has seen few
| examples of LLM prompts and results in its training data so
| far.
|
| But overall it got close enough that I'm tempted to hook this
| up to my actual mailbox.
| neuronexmachina wrote:
| Generally agreed, although I think LLM's in the near- and
| medium-term will end up being useful for things like:
|
| * checking if code will be impacted by breaking changes in a
| library upgrade
|
| * converting code to use a different library/framework
|
| * more intelligent linting/checking for best practices
|
| * some automated PR review, e.g. calling out confusing blocks
| of code that could use commenting or reworking
| gonzo41 wrote:
| It's good at tech doco. ie take my dot points and make prose.
| Great for copy, great for having that nice corporate drone
| voice.
| yodsanklai wrote:
| > 99% of the effort is NOT WRITING CODE
|
| Writing code is still part of the job. In my company, I'd say
| it's still very roughly 50% of the job. If i can be a bit more
| efficient thanks to GPT, it's great. Actually, I already use it
| for writing simple things in language I'm not proficient with.
| Or how to improve a particular piece of code that I know can be
| rewritten in a more idiomatic way. It's not perfect, but I've
| found it useful.
|
| It's not going to replace SWEs, but it's going to make us more
| productive.
| 015a wrote:
| Even within the N% that is more genuine coding and system
| reasoning; system reasoning is _really_ hard, oftentimes
| requiring weird leaps of faith, and I also don 't see a path
| for AI to be helpful with that.
|
| Some random recent thing: "We have a workflow engine that's
| composed of about 18 different services. There's an
| orchestrator service, some metadata services on the side, and
| about 14 different services which execute different kinds of
| jobs which flow through the engine. Right now, there is no
| restriction on the ordering of jobs when the orchestrator
| receives a job set; they just all fire off and complete as
| quickly as possible. But we need ordering; if a job set
| includes a job of type FooJob, that needs to execute and finish
| before all the others. More-over, it will produce output that
| needs to be fed as input to the rest of the jobs."
|
| There's a lot of things that make this hard for humans, and I'm
| not convinced it would be easier for an AI which has access to
| every bit of code the humans do.
|
| * How do the services communicate? We could divine pretty
| quickly: let's say its over kafka topics. Lots of messages
| being published, to topics that are provided to the
| applications via environment variables. Its easy to find that
| out. Its oftentimes harder to figure out "what are the actual
| topic names?" Ah, we don't have much IaC, and its not
| documented, so here I go reaching for kubectl to fetch some
| configmaps. This uncovers a weird web of communication that
| isn't obvious.
|
| * Coordination is mostly accomplished by speaking to the
| database. We can divine parts of the schema by reverse
| engineering the queries; they don't contain type information,
| because the critical bits of this are in Python, and there's no
| SQL files that set up the database because the guy who set it
| up was a maverick and did everything by hand.
|
| * Some of the services communicate with external APIs. I can
| see some axios calls in this javascript service. There's some
| function names, environment variable names, and URL paths which
| hint to what external service they're reaching out to. But, the
| root URL is provided as an environment variable; and its stored
| as a secret in k8s in order to co-locate it in the same k8s
| resource that stores the API key. I, nor the AI, have access to
| this secret thanks to some new security policy resulting from
| some new security framework we adopted.
|
| * But, we get it done. We learn that doing this ordering adds 8
| minutes to every workflow invocations, which the business deems
| as unacceptable because reasons. There is genuinely a high
| cardinality of "levels" you think about when solving this new
| problem. At the most basic level, and what AI today might be
| good at: performance optimize the new ordered service like
| crazy. But that's unlikely to solve the problem holistically;
| so we explore higher levels. Do we introduce a cache somewhere?
| Where and how should we introduce it, to maximize coherence of
| data? Do some of the services _not_ depend on this data, and
| thus could be ran outside-of-order? Do we return to the
| business and say that actually what you're asking for isn't
| possible, when considering the time-value of money and the
| investment it would take to shave processing time off, and
| maybe we should address making an extra 8 minutes ok? Can we
| rewrite or deprecate some of the services which need this data
| in order to not need it anymore?
|
| * One of the things this ordered workflow step service does is
| issue about 15,000 API calls to some external service in order
| to update some external datasource. Well, we're optimizing; and
| one of the absolute most common things GPT-4 recommends when
| optimizing services like this is: increase the number of
| simultaneous requests. I've tried to walk through problems like
| this with GPT-4, and it loves suggesting that, along with a
| "but watch out for rate limits!" addendum. Well, the novice
| engineer and the AI does this; and it works ok; we get the
| added time down to 4 minutes. But: 5% of invocations of this
| start failing. Its not tripping a rate limit; we're just seeing
| pod restarts, and the logs aren't really indicative of what's
| going on. Can the AI (1) get the data necessary to know what's
| wrong (remember, k8s access is kind of locked down thanks to
| that new security framework we adopted), (2) identify that the
| issue is that we're overwhelming networking resources on the
| VMs executing this workflow step, and (3) identify that
| increasing concurrency may not be a scalable solution, and we
| need to go back to the drawing board? Or, lets say the workflow
| is running fine; but the developers@mycompany.com email account
| just got an email from the business partner running this
| service that they had to increase our billing plan because of
| the higher/denser usage. They're allowed to do this because of
| the contract we signed with them. There are no business leaders
| actively monitoring this account, because its just used to sign
| up for things like this API. Does the email get forwarded to an
| appropriate decision maker?
|
| I think the broader opinion I have is: Microsoft paid hundreds
| of millions of dollars to train GPT-4 [1]. Estimates say that
| every query, even at the _extremely rudimentary level_ GPT-3
| has, is 10x+ the cost of a typical google search. We 're at the
| peak of moores law; compute isn't getting cheaper, and actually
| coordinating and maintaining the massive data centers it takes
| to do these things means every iota of compute is getting more
| expensive. The AI Generalists crowd have to make a compelling
| case that this specialist training, for every niche there is,
| is cheaper and higher quality than what it costs a company to
| train and maintain a human; and the Human has the absolutely
| insane benefit that the company more-or-less barely trains
| them, the human's parents, public schools, universities paid
| for by the human, hobbies, and previous work experience do.
|
| There's also the idea of liability. Humans inherently carry
| agency, and from that follows liability. Whether that's legal
| liability, or just your boss chewing you out because you missed
| a deadline. AI lacks this liability; and having that liability
| is extremely important when businesses take the risk of
| investment in some project, person, idea, etc.
|
| Point being, I think we'll see a lot of businesses try to
| replace more and more people with AIs, whether intentionally or
| just through the nature of everyone using them being more
| productive. Those that index high on AI usage will see some
| really big initial gains in productivity; but over time (and by
| that I mean, late-20s early-30s) we'll start seeing news
| articles about "the return of the human organization"; the
| recognizing that capitalism has more reward functions than just
| Efficiency, and Adaptability is an extremely important one.
| More-over, the businesses which index too far into relying on
| AI will start faltering because they've delegated so much
| critical thinking to the AI that the humans in the mix start
| losing their ability to think critically about large problems;
| and every problem isn't approached from the angle of "how do we
| solve this", but rather "how do I rephrase this prompt to get
| the AI to solve it right".
|
| [1] https://www.theverge.com/2023/3/13/23637675/microsoft-
| chatgp...
| [deleted]
| anileated wrote:
| Why aren't you thinking rather that instead of talking to you,
| "they" would already be talking to the LLM (likely trained on
| your code, among other data)--while you get 0 total billable
| workload in the first place?
| slfnflctd wrote:
| My intuition here is that it's because people don't always
| say what they mean, or know how to describe what they want.
|
| I've been working on a database migration recently, and I
| look forward to the rare moments when I get to write queries
| and analyze actual data. The vast majority of my billable
| hours are spent trying to tease out the client's needs by
| going over the same ground multiple times, because their
| answers keep changing and are often unclear.
|
| It takes a lot of processing to figure out an implementation
| for someone who will straight up describe their requirements
| incorrectly. Especially when a higher-ranking person comes
| back from vacation and says "no, everything you nailed down
| in the last two weeks is completely wrong".
|
| I don't think any of the current LLMs are going to handle
| these types of very common situations better than an
| experienced human any time soon. It's like that last 1% of
| self driving which may actually require AGI. No one can say
| for sure because it's not cracked yet. I think most of us
| will continue to have job security for quite a while.
| anileated wrote:
| > Especially when a higher-ranking person comes back from
| vacation and says "no, everything you nailed down in the
| last two weeks is completely wrong".
|
| Yes, and at some point this high-ranking person is fed up
| with this now-inefficient use of time and money enough that
| they will just sort this out using an LLM tuned to handle
| this situation better if not today then tomorrow.
|
| _Maybe_ they will pay someone to coach them for a week how
| to "talk" to LLM, but other than that the one who gets paid
| in the end is OAI /MS.
| shagie wrote:
| The issue being that neither they, nor the LLM has the proper
| model for the problem domain and so don't ask the right
| questions when trying to extract business requirements.
|
| Additionally, this is "stateless" to an extent. There's no
| architectural plan for how it should work when you have an
| LLM do it. "We're using X now but there are plans to switch
| to Y in some number of months." This could lead to making an
| abstraction layer for X and Y so that when the switchover
| happens there is less work to be done - but that requires
| forward looking design.
|
| If "they" only describe the happy path, there is no one to
| ask about all the unhappy paths, edge cases and corner cases
| where the naive implementation of the problem description
| will fail.
|
| Hypothetically, yea, "they" could be trained to think through
| every possible way the generated code could go wrong and
| describe how the code should work in that situation in a way
| that isn't contradictory... but that remains an unsolved
| problem that has nagged developers for decades. Switching to
| an LLM doesn't resolve that problem.
| spdionis wrote:
| The thing is, I think ChatGPT can help a lot with this as well,
| albeit not in its current form/implementation.
|
| It just needs some knowledge repository centralization.
| cosmodisk wrote:
| So I recently finished a job, where I had to create a custom
| POST endpoint on Salesforce,so it'd take a simple JSON payload,
| apply some logic and save to the database. The job itself was a
| few hours with tests,etc. Well guess what, almost 100 emails
| and two months later,the project is still not finished, because
| of the simple middleware that was supposed to send the JSON to
| my endpoint and is as basic as my endpoint. ChatGPT can write
| the code, but all the BS inbetween will need humans to deal
| with.
| guax wrote:
| I have the same feeling, people are very concentrated on the
| ability of this AI generators to create working code from super
| specific and well formed prompts. When in reality, figuring out
| what the prompt should be accounts for 80% of the job.
| anonyfox wrote:
| don't fall into this mental trap. you can get into recursion
| quite easily here, and figuring out what to prompt can start
| from simple general questions - and there is no need for a
| developer at all, aside from the _current_ limitations of
| copy /paste/run workflow has to be done manually
| caleb-allen wrote:
| It's astonishing to see the goalposts move so quickly. The
| cope of "well, okay, it can do that, but that's not even
| the hard part!" when just a year ago this entire product
| was almost unimaginable.
| alfalfasprout wrote:
| The goalposts haven't really moved though? The reality
| that a lot of people have thrown "engineer" in their
| title but just write code given a spec or tightly scoped
| requirements or design has been true for a while now.
|
| But for quite a few folks, the coding is the easy part.
| When building larger systems you're not even that often
| implementing things from scratch. The decision making,
| dealing with existing tech debt, tooling, etc. is the
| hard part. Ambiguity is the hard part and it's always
| been that way.
|
| Don't get me wrong GPT-* is impressive. Heck, I pay for a
| subscription. But it won't really make a lot of folks at
| my company notably more productive.
| Jevon23 wrote:
| I don't think anyone is claiming to not be impressed.
| Yes, we're all impressed. This was unimaginable sci-fi
| just 5 years ago. You did it, we're impressed! You won.
|
| The next step after that is for people to figure out how
| to justify their continued relevance. I think that's a
| pretty natural reaction.
| zeroonetwothree wrote:
| I'm not concerned. If AI replaces my job then ok I'll
| find something else to do. Self driving cars seem to have
| stagnated so maybe I'll be an Uber driver
| cableshaft wrote:
| I'm impressed. But I _want_ it to be better, so I don 't
| have to spend so much time coding and can trust it to
| give me good code so I _can_ offload a lot of my efforts
| on to it. Right now I have to check and verify or go back
| and forth with prompts so much I almost would have been
| better off writing the damn code in the first place.
|
| Meanwhile I've got a backlog of about 100 personal
| projects I've never gotten around to making (especially
| creating digital versions of my board game designs, of
| which I have about 70 at this point) that I just haven't
| had the energy to work on myself, that I'd love to be
| able to just upload the rules document for it and get
| some sort of working game spit out the other end, or at
| least a good chunk of it, and I can take it from there.
|
| And then I can test a new rule by just rewriting the
| rules document, as opposed to having to manually code
| every rule change into the game.
|
| I don't think I'd run out of things for it to make if it
| was as good at complex software generation as A.I. is
| right now with art generation.
| rootusrootus wrote:
| The realization that software development is only maybe
| 5% coding came way before GPT.
|
| > The cope of
|
| Whenever I see someone use 'cope' that way, I immediately
| think they're making a bad faith argument. Is that
| intentional?
| tuatoru wrote:
| The _raison d 'etre_ of COBOL (now Cobol) in the 1950s was
| that "there is no need for a developer at all". Managers
| can produce their own reports.
|
| How did that turn out? A whole profession was created.
|
| The thing that comes closest to "no developer needed" is
| Excel. But you _really_ need someone who knows programming
| if you want a reliable, robust product, even in Excel.
| ethanbond wrote:
| Have you ever worked at a software firm of greater than say
| 30 people? Doesn't resonate with my experience at all, and
| the 30+ people are there not just to write code.
| sanderjd wrote:
| My two cents is that the parts of the job that are more like
| _product management_ will become more dominant but still not
| exclusive, and the parts that were more like _coding_ will
| become less dominant but still not vanish. Many of us, as you
| describe, already do jobs that look a lot like this. But for
| me, it 's not consistently that way; there are periods where
| I'm almost entirely coding, and periods where I'm almost
| entirely doing communication. I do expect a shift in this
| balance over time.
|
| The other thing that I spend a huge amount of my time doing -
| consistently more than writing code - is debugging. Maybe these
| models really will get to the point where I can train one on
| our entire system (in a way that doesn't hand over all our
| proprietary code to another company...), describe a bug we're
| seeing, and have it find the culprit with very high precision,
| but this seems very far from where the current models are.
| Every time I try to get them to help me debug, it ends in
| frustration. They can find and fix the kinds of bugs that I
| don't need help debugging, but not the ones that are hard.
| numpad0 wrote:
| In my extreme opinion, 100% of value is created by
| communication with people and problem solving. 0.0% of value is
| created by engineering.
|
| This explains xkcd Dependency comic[0]; the man in Nebraska
| isn't solving anyone's problem in any particular contexts of
| communications and problem solving, only preemptively solving
| potential problems, not creating values as problems are
| observed and solved. This also explains why consultancy and so-
| called bullshit jobs, offering no "actual values" but just
| reselling backend man-hours and making random suggestions, are
| paid well; because they create values in set contexts.
|
| And, this logic is also completely flawed at the same time too,
| because the ideal form of a business following this thinking is
| pure _scam_. Maybe all jobs are scam, some less so?
|
| 0: https://xkcd.com/2347/
| coding123 wrote:
| So it sounds like AI researchers should focus on replacing both
| sides - sounds like it would be much more efficient. (tic)
| jmuguy wrote:
| This is exactly why I'm so tired of these "can AI write code"
| think pieces. I assume people writing this crap aren't actual
| developers. Maybe its management fan-fiction.
| somenameforme wrote:
| I suspect there's a strong invisible ideological undercurrent
| pushing a lot of this. When I was younger and enthusiastic
| about things like a universal basic income, I would often
| follow the latest murmurings, always ready to let my hype
| (and hyperbole) meter go to 11. I remember when I saw the
| first news about some drone delivering a pizza (in New
| Zealand?) I immediately jumped to it foretelling the imminent
| end of all delivery jobs, with broad customer service not
| especially far behind. There's even the fully automated Henn-
| na hotel in Japan, I mean omg!
|
| In my naivete, the idea I had is that if the jobs disappeared
| en masse then a social solution to the economy would be
| forced to be enacted. So I was essentially _hoping_ to see
| the destruction of normalcy and employment in any new
| technology. I would expect that view is not uncommon given
| the direction of contemporary education. It feels analogous
| to cows hoping for the end of beef /milk harvesting. My
| beleaguered bovine buddies, what awaits you there is
| something rather different than cowtopia.
| anon7725 wrote:
| I think the difference here is that LLMs are powerful,
| general purpose and suited to take on many common office
| tasks as well as accelerate programming work. I think "we
| need 10% fewer white collar workers" is a massively
| destabilizing scenario that is not very far fetched.
|
| I also completely agree that society/politics will not have
| caught up with these developments in time to mitigate them.
| agos wrote:
| see also "the future is no code!" fad of a couple of years
| ago
| jorgeleo wrote:
| "Maybe its management fan-fiction"
|
| :D Priceless!
| ugh123 wrote:
| - Looks like they're using an auth protocol we don't support...
| coldtea wrote:
| > _Basically, 99% of the effort is NOT WRITING CODE. It 's all
| about communication with people, and problem solving. If we use
| GPT-X in our company, it will help us with 1% of our workload_
|
| First, if you did have GPT-X (say GPT-10) in your company,
| there wouldn't be much back-and-forth communication either.
| Those parts would still be handled with GPT-X talking to
| another GPT-X in the other company. Even the requirements might
| be given by a GPT-X.
|
| Second, even if that's not the case, the part of doing the
| communication can be handled by non-programmers. Then they can
| feed the result of the communication to GPT-X and had it churn
| out some program. Perhaps would keep a couple of developers to
| verify the programs (sort of like GPT-X operators and QA
| testers) and get rid of the rest.
|
| As for the rest of the current team of developers? GPT-X and
| the people running the company could not care less about them!
| anon7725 wrote:
| > Second, even if that's not the case, the part of doing the
| communication can be handled by non-programmers.
|
| It can't - only programmers will know which follow up
| questions to ask. GPT will be able to ask those questions
| before non-programmers will be able to.
|
| Half the work is nitpicking on date formats or where some id
| comes from or if a certain field is optional, etc.
| serpix wrote:
| Last paragraph is spot on. Would also add a vast amount is
| spent looking at the code and the system and just
| understanding what goes where.
| importantbrian wrote:
| The problem is that a GPT capable of doing all those things
| at the level required is also capable of running the company.
| Someone with capitol can start the business and set GPT-X to
| go out and maximize paperclip profits.
| logifail wrote:
| > Those parts would still be handled with GPT-X talking to
| another GPT-X in the other company. Even the requirements
| might be given by a GPT-X.
|
| What happens if one (or more) of the GPT-Xs starts having
| hallucinations while they're busy working on this project?
|
| > Second, even if that's not the case, the part of doing the
| communication can be handled by non-programmers.
|
| I was in a meeting with a sales manager and tech team a few
| days ago. Sales manager had been talking to a potential
| customer about a product that neither he nor the customer
| properly understood. They both thought it would be an
| excellent fit for a particular (new) purpose, one for which
| it was not designed.
|
| As it turned out, everyone on the tech team knew that both
| sales manager and customer were utterly and catastophically
| wrong, but it took the best part of an hour to finally
| convince him of this.
|
| It's quite hard to have useful conversations about stuff if
| you don't actually understand it.
| danielbln wrote:
| Are hallucination is a systemic for-ever problem that will
| not be solved, mitigated or in akne other way rendered
| inconsequential?
|
| Also, having conversations about things you don't
| understand with a machine, where you don't have to keep up
| social decorum and can ask the dumbest questions should
| help a lot with improving the decision making of non-
| technical personel
| logifail wrote:
| > having conversations about things you don't understand
| with a machine, where you don't have to keep up social
| decorum and can ask the dumbest questions should help a
| lot with improving the decision making of non-technical
| personel
|
| This sales manager _didn 't know_ that neither he - nor
| his customer - properly understand the product until he
| was specifically called out on it (by me, as it happens.
| At least the boss laughed). Are we expecting GPT-X to sit
| in on Teams meetings and ask questions like that, too?
| Sales manager literally did not know he needed to start
| asking questions about the product. Tech team were
| calling BS on it as soon as he reported his conversation
| with customer.
|
| "It ain't what you don't know that gets you into trouble.
| It's what you know for sure that just ain't so.", which
| may (or may not) have been said by Mark Twain.
| TuringTest wrote:
| > Are hallucination is a systemic for-ever problem that
| will not be solved, mitigated or in akne other way
| rendered inconsequential?
|
| In the same way that wrong results in a search engine
| will not be solved or mitigated in its entirety, yes.
| These new generative AIs are big search engines that
| bring results from several content points and combine
| them into a single, plausible stream of words.
| nyolfen wrote:
| sorry, is the debate here whether gpt can engage in a
| conversation with someone and respond using previous context?
| why would any of this present a challenge given its known
| abilities?
| Strilanc wrote:
| This was also my reaction to the comment. Go play out this
| type of conversation with ChatGPT. Does it _actually_ do
| worse at this than at writing the code? Or is "but code
| generators can't do the requirements part" just a cached
| thought?
| ianmcgowan wrote:
| If the us/they back and forth happens over email, perhaps
| between two different AI instances, that whole process would
| happen much faster though? It's not like ChatGPT can't review
| the contract json and ask relevant questions. Granted, the
| problem solving part might be delegated to a human, but the
| purely routine back and forth part seems already possible?
| bumby wrote:
| It's really about a misunderstanding on the value-stream
| mapping from concept to production. The claims that GPT-X will
| write code and thus cover the whole value-stream is conflating
| the very last steps with the whole process.
| [deleted]
| pydry wrote:
| I'm pretty sure you may be right. I'm also worried that what
| youve just described is the kind of task that leads to burnout
| in large doses. And I'm not sure humans are so great at it
| either.
|
| I had one job that involved a small amount of coding and mainly
| hooking together opaque systems. The people behind those
| systems were unresponsive and often surly. I had to deal with
| misleading docs, vague docs, subtle, buried bugs that people
| would routinely blame on each other or me and I was constantly
| on a knife edge a balancing political problems (e.g. dont make
| people look stupid in front of their superiors, dont look or
| sound unprepared) with technical concerns.
|
| It was horrible. I burned out faster than a match.
|
| I'm sure ChatGPT couldnt do that job but I'm not sure I could
| either.
|
| If most tech jobs turn into that while the _fun_ , _creative_
| stuff is automated by ChatGPT... that would be tragic.
| sgregnt wrote:
| Make the AI handle the conversation on both sides? No need to
| wait a few days for back and forth
| mcv wrote:
| Yeah, I don't see AI replacing programmers. Or any job that's
| the slightest bit interesting. I see AI as another tool in our
| toolbox that will help us do our job better.
|
| People have been working on medical and judicial expert systems
| for ages, but nobody wants to put those systems in charge;
| they're just meant to advise people, helping people make better
| decisions.
|
| And of course chatGPT and GPT-4 are way more flexible than
| those expert systems, but they're also more likely to be wrong,
| and they're still not a flexible as people.
| intelVISA wrote:
| By the time code is being written the job is effectively done.
|
| Unless your problem space is unsolved (where LLMs are unlikely
| to be useful either) very few devs are spending much time on
| the coding part of their 84th CRUD app.
| alex201 wrote:
| Me feeling philosophical. To me, solving a problem is living.
| No machine will do living, unless we know what living is, so
| that we can try to bake it into a machine. We can use ChatGPT
| to take blind, systematic steps in the way of solving a
| problem, but never to 'solve' the problem. For solving is
| living.
| alfalfasprout wrote:
| And in infra there's figuring out what new approaches you can
| use to replace stuff in your infrastructure. Then figuring out
| the migration costs, evaluating its usability, and dealing with
| a director that's been sweet-talked by a vendor into using some
| other solution that sucks. Then deciding whether to just build
| in house b/c none of the solutions quite work and would require
| additional stuff to build on top. Then when you finally decide
| on something the back and forth with the vendor because you
| need to handle some unique thing they hadn't thought of.
|
| The complexity in software engineering is almost never coding.
| Coding is easy, almost anyone can do it. Some specialized
| aspects of coding (ultra low latency realtime work, high
| performance systems, embedded) require deep expertise but
| otherwise it's rarely hard. It's dealing in ambiguity that's
| hard.
|
| The hype around GPT-* for coding generally confirms my
| suspicions that 70+% of folks in software
| engineering/development are really "programmers" and 30% are
| actually "engineers" that have to worry about generating
| requirements, worrying about long term implications, other
| constraints, etc.
|
| And every time that comes up those folks in the 70% claim
| that's just a sign of a poorly managed company. Nope. It's
| _good_ to have these types of conversations. Not having those
| conversations is the reason a lot of startups find themselves
| struggling to stay afloat with a limited workforce when they
| finally start having lots of customers or high profile ones.
| napier wrote:
| Companies will have their own homegrown models trained on doc
| and data corpus stacks and fine tuned facets served by MS0AI
| GPTX and other cloud shoggoth gigacorps. Company A's model will
| talk to company B's model and they'll figure out all of the
| above and complete the job in the time it takes you to blink
| and take a sip of your coffee. Bureaucratic grind lag and lossy
| communication fuzz may be some of the first casualties of the
| next few years, and I can scarcely begin to predict any further
| out than that.
| kokanee wrote:
| I agree, but I would put it like this: 99% of a software
| developer's job isn't writing code, it's getting consensus
| across stakeholders what the "prompt" for the coding task
| should be, how that prompt should change over time, which parts
| of the problem should be included in this week's prompt and
| which one's should be tackled next week, etc. Also, more often
| than not, the task isn't exactly about generating code, it's
| about sending data between various clients and servers,
| tweaking code where necessary for compatibility and new data
| shapes.
| nonethewiser wrote:
| Sure, but in fairness to the original post, it's about whether
| Chat GPT can code. Not replace software engineers.
|
| And in your scenario where chatGPT can code but someone needs
| to gather requirements, it still doesn't necessitate software
| engineers. I'm not worried about that personally but I don't
| think the "communicating between stakeholders" skill is such a
| big moat for the software engineering profession.
| zeroonetwothree wrote:
| But once XXQ has their own ChatGPT they can just communicate
| with each other and hash this out 1000x faster.
| nathias wrote:
| yea, ai will replace the fun parts of our jobs and left us with
| the tedium
| irrational wrote:
| This is also one of the reasons India taking over all of the
| programming work didn't really happen. There are numerous
| issues (time zones, language, etc.) but business people not
| being able to document perfectly what they want to have built,
| considering all corner cases and paths, is a big one.
| fendy3002 wrote:
| Even so India won't take programming works for the same
| reason no other country can. They're only a percentage of
| programmers that are outstanding there, the rest are
| mediocre. Because their population is huge and the
| programming lesson reach widely, they produce more
| outstanding programmers than other country, but still won't
| be enough.
| alfalfasprout wrote:
| Ultimately the model that worked was "I have this tighly
| scoped project that no one really wants to work on that's
| completely self contained and is going to require a ton of
| manual work" and hiring contractors to implement your own
| design.
|
| Otherwise if there's a lot of back and forth required or
| generating a design, forget it. Companies giant and small
| have tried it and eventually realized "F it" and gone back to
| in-house teams.
| tarruda wrote:
| Maybe if you train/tune GPT-4 with enough samples of similar
| interactions, it will learn to do it too.
| superasn wrote:
| If anything it will be much better as it won't mind waiting
| and asking for answers nor get frustrated with incompetence.
| muzani wrote:
| Honestly one of my favorite early applications of AI was as
| customer service. The CS people I talk to always seem
| pissed with _something_.
|
| One conversation:
|
| Me: "Hello, I'd like to ask why all the loyalty points from
| my MILES card is gone."
|
| CS: "Sir, it says here that you upgraded your MILES card to
| a SMILES card. If you did not request a points transfer,
| they are gone."
|
| Me: "Okay, how do I do that?"
|
| CS: _audible eyerolling_ "You should have done that while
| applying for an upgrade."
|
| Me: "You can verify my details for both, right? Can't you
| transfer the points over?"
|
| CS: "Ugh." _Hangs up_
|
| Whereas AI would always politely answer questions, even the
| dumb ones like this.
| hgsgm wrote:
| Customer service is reading from a scipt. Why would AI
| help you? Customer service exists to deflect you from
| getting back what the corpo stole from you. The question
| is it is easier for you to social engineer the CSR into
| helping you, or prompt engineer the AI into helping you.
| theshrike79 wrote:
| I once had to implement a Swedish standard for energy usage
| reporting.
|
| EVERY FIELD IN THE STANDARD WAS OPTIONAL.
|
| That was one of the most not-fun times I've had at work :D
| Every single field was either there or it was not, depending
| whether the data producer wanted to add them or not, so the
| whole thing was just a collection of special cases.
| hgsgm wrote:
| So, like Probocol Buffers?
| Faint wrote:
| Remember that these models generate one token at a time. They do
| not "think ahead" much more than maybe a few tokens in beam
| search. So if the problem requires search - actual comparison of
| approaches, and going back-and-forth between draft and thinking
| through the implications - the model can't do it (except in a
| limited sense, if you prompt it to give it's "train of thought").
| So it's comparable of you being in front of whiteboard, hit with
| a question, and you would have to start answering immediately
| without thinking more than you can while talking through your
| answer at the same time. Doable if you know the material well. If
| it's a new problem, that approach is doomed. Given that, I think
| the language models do remarkably well. A little bit of search,
| and maybe trying to generate the answer in different order (like
| short draft -> more detailed draft -> more detailed draft...
| etc.) will improve things a lot.
| justinzollars wrote:
| GPT 3.5 helped me debug something very complex. There was a bug
| related to symlinks in neovim with gopls LSP. The error dialog
| line was appearing, then disappearing.
|
| Chat GPT walked me through strategies to debug this, confirm
| everything was set up, tail the RPC log (wasn't aware that was a
| feature) - and identify the failing path - which was a symlink!
|
| I'm actually blown away by this capability. It was like having a
| savant next to me. I couldn't have debugged it on my own.
| shanehoban wrote:
| I'm building a pretty neat database with it at the moment, its
| not perfect, but it is saving me potentially months of fine
| tuning, down to just hours. It is amazing IMHO.
| jah242 wrote:
| Whilst maybe GPT-4 will change this, I think it is important to
| remember that these general ChatBots are not the way we have
| generally trained LLMs to write the best code. In fact, coding is
| one of the few areas where training specifically just using
| source code and maybe some stack overflow (not all natural
| language on the internet) leads to better results on the previous
| iteration of LLMs (GPT-3 wave). So the real test will be whether
| the GPT-4 wave of specific coding LLMs i.e GPT-4-Codex can
| 'actually write code' see:
|
| AlphaCode Codex CodeGen
| halflife wrote:
| I had the exact same experience. Writing code for existing
| popular problems is phenomenal. But when you diverge slightly, it
| breaks down. I asked it to write a regex which finds all html
| tags that has a specific class name, but does not contain another
| specific class name. I assume this problem has been tackled many
| times by scores of developers. It had outputted an excellent
| regex. I asked it to ignore texts in inline script (such as event
| handlers), and it presented an invalid regex. I tried to point
| out the problem but it just went into a loop of bad regex code.
| haolez wrote:
| Just imagine if these models fall in love with languages like
| APL/K/J. Even with the context windows, they will be able to do
| tons of work.
| tantaman wrote:
| I was mock interviewing ChatGPT for a few hours yesterday with
| application and system design + coding said application. My
| conclusion was it was a no hire for even the most jr positions
| because it required considerable amounts of direction to arrive
| at anything approximating an acceptable solution.
|
| tldr -- this matches my experiences as well.
| kneel wrote:
| I self taught myself how to code and have never been very good, I
| don't code often and when I do I spend a lot of time relearning
| some simple programming detail I forgot.
|
| ChatGPT (also copilot) allows me to focus on the project that I'm
| working on and offload the stack overflow searches to prompting.
| I don't have to find a similar error someone else posted on SO
| and figure out how it applies to my current problem. I can keep a
| high level view of the project and not get bogged down with silly
| bugs, learning new libraries, or deciphering someone else's code.
|
| I imagine there are a lot of people who are in a similar
| situation, it's crazy that we've just unleashed this massive
| productivity booster onto millions of people.
| kneebonian wrote:
| > I imagine there are a lot of people who are in a similar
| situation, it's crazy that we've just unleashed this massive
| productivity booster onto millions of people.
|
| Maybe it makes me sound like an elitist git, but I remember
| when the coding bootcamps started "unleashing massive
| productivity boosts" by promising to make people "full-stack
| engineers" in just a 6 weeks, and I still shudder to remember
| the code horrors I've seen as a result of that.
| legohead wrote:
| I was just complaining to my friend about how much trouble I'm
| having with it. I purchased the $20 GPT-Plus so I could use GPT-4
| after reading someone on HN say that GPT-4 is "scary impressive"
| at writing code.
|
| I have two tasks I wanted it to try, both making use of public
| APIs, starting from scratch. In short, it was frustrating as
| hell. Never-ending import problems -- I'd tell it the error, it'd
| give me a different way to import, only leading to a new import
| problem. I think I used up all my 100 queries in 4 hours of GPT-4
| just on the import/library problem.
|
| Then there were constant mis-use of functions -- ones that didn't
| exist, or didn't exist in the object it was using, but did exist
| in some other object instead, at which point it would apologize
| and fix it (why didn't you give it to me correct the first time,
| if you "know" the right one?)
|
| The actual code it wrote seemed fine, but not what I'd call
| "scary impressive." It also kept writing the same code in many
| different styles, which is kind of neat, but I found one style I
| particularly liked and I don't know how to tell it to use that
| style.
|
| Lastly, it's only trained up to Sep 2021, so all the APIs it knew
| were well behind. I did manage to tell it to use an updated
| version, and it seemed to oblige, but I don't really know if it's
| using it or not -- I still continued to have all the above
| problems with it using the updated API version.
|
| Anyway, I hope MS fiddles with it and incorporates it into Visual
| Studio Code in some clever way. For now, I'll continue to play
| with it, but I don't expect great things.
| altitudinous wrote:
| Blah Blah Blah. I use ChatGPT for this every day to write code to
| save my own efforts and it is doing just fine thanks. I also use
| it for creative content in my apps, although I edit this work to
| get the tone in its writing correct. It is excellent for this.
| yosito wrote:
| Once GPT can look at the open issues in my GitHub repos, and
| submit Pull Requests that legitimately solve the problems, then
| I'll worry that AI might be coming for my job.
| abecedarius wrote:
| For fun, I had a chat with it starting with a request to work out
| the _math_ of crescent intersection, before committing to code.
| It still confabulated, but I was able to coax out a solution in
| the end that made sense.
| bruce511 wrote:
| I don't need GPT-4 to write code, I can do that myself.
|
| I want it to attend all the meetings for me with endless managers
| discussing what the code does, should do, could do, customer
| would like it to do, can't be done and so on.
|
| Hint to managers: Programming doesn't take up my time. Your
| endless meetings to discuss my programming takes up all the
| time...
| HervalFreire wrote:
| Guys all of this happened within a couple months.
|
| If you guys are confident about the entity as it is right now not
| taking over your job, what if I double the accuracy of gpt
| output?
|
| What if I double it again? Then again? And again? And again?
|
| You guys realize this is what's coming right? This thing
| literally is a baby as of now.
| deelly wrote:
| Is it true that GPT4 failure rate is .5 of GPT3?
| HervalFreire wrote:
| I mean this is impossible to measure right? You'd have to
| compare all possible outputs of GPT3 with all possible
| outputs of GPT4.
|
| You can get away with a random sample. But there's a lot of
| bias in that sample and it's hard to control it. Out of the
| infinite possibilities there definitely exists sets of inputs
| and outputs where both GPT3 and GPT4 are always wrong.
|
| On the other side of the coin there are also sets where GPT4
| is always right and GPT3 is always wrong and vice versa.
|
| Given that there's no methodology to control what is "random"
| in these sets it's hard to come up with a good metric.
|
| So the 0.5 thing is a bit of anecdotal number from the gut.
| yawnxyz wrote:
| As a designer/non-coder, it feels like I'm just pair programming
| all the time.
|
| Stuff that usually took me a long time like regexes or
| Excel/Sheets formulas now take like two minutes. AND I'm learning
| how they work in the process. I can actually write regexes now
| that used to be wildly confusing to me a couple of months ago,
| because Copilot / ChatGPT is walking through the process, making
| mistakes, and me prodding it along.
|
| I feel like it doesn't matter how "mindblowing" or "a big deal"
| this tool is -- it's a great learning tool for me and helps me do
| my work 100x faster.
| awill88 wrote:
| And more things to yawn over! Come on, who cares if it writes
| code?! Is it that fascinating?
| burntalmonds wrote:
| I'm sure I'll change my mind as this tech improves, but having AI
| generate code goes against every instinct I have. Way too easy
| for there to be a subtle bug in the code among other problems. It
| makes me wonder though if AI could useful for writing tests of my
| code. And also AI code review.
| welder wrote:
| That's what this beta extension for vscode[0] does, generate
| tests using AI and your code as input.
|
| [0] https://about.sourcegraph.com/blog/release/4.4
| nathias wrote:
| of couse it can write code, but it can't do software development
| akamoonknight wrote:
| One thought that came to mind when the author mentioned that
| GPT-4 seemed to want to use A* was that maybe the problem
| statement was not formed in a way that would get the best
| response. I'm not entirely sure if this type of back and forth
| would be useful, but just struck me as interesting to try.
|
| I put the following prompt into ChatGPT (no GPT-4 access for me
| yet):
|
| *A problem statement is given as follows:
|
| An agent needs to find the best path on a 10x10 tile grid from
| their current location to a target location. They have a limited
| movement range of 5 points. Regular tiles cost 1 point to move
| through, water tiles cost 2 points to move through. Fire tiles
| cost 1 point to move through, but they should avoid pathing
| through them even if it means taking a longer path to their
| destination (provided the path is still within their limited
| movement range)
|
| Please point out any parts of the problem statement that require
| clarification.*
|
| Which returned the following response:
|
| Based on the given problem statement, some potential areas that
| may require clarification are:
|
| Current location and target location: It is not clear if the
| current location and the target location are fixed or if they
| change with each problem instance. If they are fixed, it should
| be mentioned explicitly. If they are not fixed, it should be
| specified how they are generated for each problem instance.
|
| Movement range: It is not specified whether the agent's movement
| range is circular or square. If it is circular, it means that the
| agent can move to any tile that is within a distance of 5 from
| its current location. If it is square, it means that the agent
| can move to any tile that is within a range of 5 tiles in both
| the horizontal and vertical directions. The shape of the movement
| range needs to be specified.
|
| Fire tiles: The problem statement mentions that the agent should
| avoid pathing through fire tiles even if it means taking a longer
| path to their destination, but it is not clear how the agent
| knows which tiles are fire tiles. It should be specified how the
| agent perceives and distinguishes fire tiles from regular tiles.
|
| Tile costs: The problem statement mentions that regular tiles
| cost 1 point and water tiles cost 2 points, but it is not
| specified what happens if the agent moves diagonally. It should
| be specified whether diagonal moves are allowed and how much they
| cost.
|
| Objective function: It is not specified how the "best path" is
| defined. It should be mentioned whether the objective is to find
| the shortest path or the path that minimizes some other cost
| function (e.g., total cost of the path).
| TigeriusKirk wrote:
| I really like that approach of asking it what needs to be
| clarified. That's going straight into my GPT toolbox.
| TylerGlaiel wrote:
| Interesting, not a single one of these things it asked for
| clarifications on are things it actually got wrong in its
| suggested solution
| copperx wrote:
| This is perhaps one of the most impressive responses I've read.
| It truly seems like there is some reasoning happening. I don't
| understand how this can be the output of a generative LLM.
| DaiPlusPlus wrote:
| > It truly seems like there is some reasoning happening. I
| don't understand how this can be the output of a generative
| LLM
|
| Right - this seeming "cognition" is exactly what's so
| _spooky_ about the whole thing.
|
| Here's what spooked me out from yesterday:
| https://news.ycombinator.com/item?id=35167685 - specifically
| how it determines the divide-by-zero error in this code:
| https://whatdoesthiscodedo.com/g/6a8f359
|
| ...which demonstrates GPT as being capable of at-least C++
| "constexpr"-style compile-time computation, which _shouldn 't
| even be possible_ if one presumes GPT is "just" a giant
| database storing only multidimensional word similarity scores
| and sequence distribution from text inference.
|
| > a generative LLM
|
| I definitely wanted to believe that GPT was "just predicting
| the next word" - it was somewhat comforting to think of GPT
| as still being far from being-human or behaving like a real
| brain does - but that explanation never sat well with me: it
| was too simplistic and dismissive, and didn't explain the
| behaviour I was witnessing in GPT.
|
| ...so after having read Wolfram's (surprisingly accessible)
| article on GPT (
| https://writings.stephenwolfram.com/2023/02/what-is-
| chatgpt-... ) it made a lot of things "click" in my head -
| and enabled me to start to understand why and how GPT is
| capable of... the surprising things it does; but it also
| leads me to believe we're (warning: incoming cliche) barely
| scratching the surface of what we can do: right-away I do
| believe we're almost at the point where we could simply ask
| GPT how to adapt it into some kind of early AGI - and we've
| all heard of what's supposed to follow next... and it really
| is quite unsettling.
| joshka wrote:
| I've found similar success in using this approach rather than
| going direct to "write me some code AI-code-monkey". You can
| also take the following (which are the same sorts of things
| you'd want to do as a programmer writing this code yourself:
|
| - Rewrite the problem as a list of constraints
|
| - Point out any ambiguous or missing constraints
|
| - Write an example that demonstrates each constraint
|
| etc.
|
| Effectively this article is really asking the question when
| posing a novel problem to the LLM, how deep does the internal
| state go in producing the completions. When it doesn't go deep
| enough, the trick is to make it do the things that deepen the
| internal state.
|
| I'd guess that supplying a good system message to GPT-4
| (waiting for my access) would help. Something like:
|
| You're an engineer responsible for writing correct code from a
| specification. Break down the specification into small chunks
| that can be explained simply. If there are ambiguities, seek
| clarification. Only write code once all ambiguities are
| resolved and each part of the problem is described simply.
| cdchn wrote:
| If you look at the Leetcode scores, it looks like GPT-4 can
| generally do most "basic" leetcode but fails on "medium" or
| "hard" problems. This seems to align with what I see most
| people's experience with using GPT-3/3.5/4 to generate code seems
| to be. Works well for simple cases (which you could probably find
| examples of online) but stumbles on nuances of incrementally
| harder problems.
| sgarland wrote:
| There are plenty of edge cases where it fails. However, the one
| thing that made me think it actually knows (for certain
| definitions of the word "knows") what it's doing was asking it to
| re-write a non-trivial SQL query into equivalent relational
| algebra. I created a simplified schema from Northwind [0], gave
| it the CREATE TABLE statements for tables, and then some sort-of-
| TSV files for the values.
|
| It was able to not only produce reasonable outputs from various
| queries, but also to produce valid relational algebra for them.
| To me, that shows a fairly deep level of understanding of the
| underlying concepts.
|
| [0]: https://en.wikiversity.org/wiki/Database_Examples/Northwind
| lionkor wrote:
| Could you share the results?
| sgarland wrote:
| Here's a gist [0]. You can see that it made a couple of minor
| semantic mistakes, which it corrected. It also regressed a
| bit at the end, but it _was_ able to correctly parse the
| (admittedly simple) math in a WHERE predicate and return a
| partially valid tuple, with respect to pricing.
|
| [0]: https://gist.github.com/stephanGarland/ed18f8f8fdc63a0b9
| 97f9...
| jmull wrote:
| It's not just edge cases where it fails. It fails all the time
| at all kinds of things.
|
| I've been using chatgpt in my work, but I have to essentially
| know the answer it's going to give me because I have to catch
| all of its mistakes. It really, really nice for certain kinds
| of drudge work.
|
| Using northwind is probably not a good thing to use to evaluate
| chatgpt's general capability. It is very commonly used for
| examples of almost anything database-related, which means it's
| extremely well represented in chatgpt's training data. Chatgpt
| probably doesn't need to generalize or understand much of
| anything about northwind to answer your questions in terms of
| it. You need to try it on wacky problems specific to you.
| sgarland wrote:
| > Using northwind is probably not a good thing to use to
| evaluate chatgpt's general capability.
|
| I did think of that, which is why I modified the schema, and
| removed any reference to Northwind (normally products are
| prefixed with "Northwind Traders"). That said, it isn't a
| particularly complex schema in my example, but it's a
| reasonable starting point for something a small business
| might use.
| breakingrules wrote:
| i was trying to get it to make a document scanner last night, it
| apologized to me like 10 times and we eventually got running code
| but the result was way off. this thing can write code but you're
| not gonna rely on it and nobody is gonna know it enough to edit
| it. it is not there yet, still very helpful for small things or
| extremely simple things. if you tell it to give you an express
| server with socket.io and your db, it will probably set that up
| for you perfectly.
| iambateman wrote:
| The replies here are defensive and I think misguided. Yes, a
| programming job doesn't solely require typing code. But the
| reason we have well-paid programming jobs is because there is a
| specialized skillset required to understand a body of syntax that
| takes several years to really grasp.
|
| The difference is that writing a well-formed prompt is massively
| easier to teach than writing the code itself, for similar
| results. That's not to say prompt writing requires no skill - it
| will certainly need understanding of systems and the scope of
| what is possible within a language. Asking GPT-4 to write a
| jQuery plug-in that generates an original Bob Dylan song will
| probably just not work.
|
| But it is wildly easier to teach someone what is possible with
| JavasScript and let them spend a month watching someone prompt
| the system and let them go from there.
| danparsonson wrote:
| The most challenging part of software development (and the
| reason we have well-paying jobs) is not understanding syntax,
| it's analysing and abstracting a problem domain into a set of
| cleanly separated modules that interact to solve those
| problems. That being the case then, actually none of us is
| getting replaced by GPT-n any time soon - 'prompt engineering'
| will just become the new Javascript, only more abstract; just
| another tool in the toolbox. Hopefully :-)
| FeepingCreature wrote:
| Yep: the biggest remaining weakness is that it's incapable of
| thinking deeply and iteratively. This is an architectural
| limitation (lack of reflectivity), but to fix it will probably
| usher in the singularity, so maybe we should be glad for it.
|
| I suspect if you poked GPT-4 just right (starting with a detailed
| design/analysis phase?) it could find a rhetorical path through
| the problem that resulted in a correct algorithm on the other
| end. The challenge is that it can't find a path like that on its
| own.
|
| Op: Can you get it to write your algorithm for this problem if
| you describe it in detail, as-is?
|
| I suspect the difficulty here is just finding a socratic part to
| that description, which would tend to be rare in the training
| material. Most online material explains what and how, not why;
| more importantly, it doesn't tend to explain why _first_.
| TylerGlaiel wrote:
| I have not tried, but I suspect if I described the _algorithm_
| I have instead of the _problem_ that it could translate the
| algorithm into code pretty well. But I 'm also unsure of that,
| some experiments with GPT 3.5 I did would definitely cause it
| to default to a common solution (ex, A _) if the description
| was sufficiently similar to A_ , or not realize that a small
| deviation was intended. But also like... the point here was to
| see if it could solve a hard problem that has a non-obvious
| solution. not if it can translate an english description of an
| algorithm into code.
| jokoon wrote:
| People need to understand that AI doesn't think, doesn't have
| insight or intuition. AI just repeat patterns it saw in a huge
| database, but are not able to understand what is going on.
|
| Nobody can really understand what's inside a trained neural
| network, and nobody is really looking.
|
| No psychologist or neuro-scientist can really understand how a
| human brain, a mouse brain or even an ant brain or a fly brain
| even works, so don't expect computer scientists to have any
| insight about doing something relevant with just a small
| collection of sophisticated statistical methods.
|
| AI is soon going to become the pseudo-scam status that bitcoin
| experienced.
|
| ChatGPT is an improved search engine at best.
| InCityDreams wrote:
| I introduced my colleagues to chatgpt this morning and they're
| knocked out. We deal with people, and the people answers are
| considerably more thoughtful than 'improved search'. Not sure
| where btc and and pseudo-scam come into it.
| nmca wrote:
| Write a short poem called "All just patterns" in the style of
| Blake as a not-so-subtle dunk on those that can't see the wood
| from the trees w.r.t. AI progress.
|
| GPT4:
|
| In patterns woven in the loom of life,
|
| The threads entwined, a tapestry of strife;
|
| Man lost in shadows, seeks the hidden light,
|
| Yet grasps at embers, blind to Heaven's sight.
|
| All just patterns, the trees and wood we see,
|
| While we, like infants, crawl with bended knee.
|
| In ceaseless search, we delve in Nature's tome,
|
| For signs and symbols of our destined home.
|
| To find the wisdom locked in Nature's breast,
|
| In circuits traced by human hands, impressed;
|
| No gods or angels guide the curious hand,
|
| But human thoughts give life to grains of sand.
|
| Like children playing with forbidden toys,
|
| We forge our own creations, false and coy;
|
| Our machines breathe and mimic human soul,
|
| But hollow shells, as empty as the whole.
|
| In tangled webs of artifice we're caught,
|
| By our own hands, the noose of fate is wrought.
|
| As God did cast Prometheus from the skies,
|
| We bind ourselves in chains of our own lies.
|
| All just patterns, like woven silk, we spin,
|
| Entangled dreams, mere shadows of our kin;
|
| For in the end, the art we do create,
|
| Is but reflection of our human state.
| naillo wrote:
| The biggest thing here is that it's semi capable and improving. I
| feel safe about my job right now but it is worrying to invest
| time to compete with a machine that will continue to get better
| over the years where previously I felt safe that the effort of my
| labour would bear fruit for decades to come. Now I'm not so sure.
| eggsmediumrare wrote:
| This is what most people making "I'm not worried" arguments
| don't understand. Right now, it makes you way more productive.
| Even if its capabilities stalled right there, it will over time
| reduce the value of your labour. But it won't stall.
| interdrift wrote:
| Same here, but it was fun tho but I certainly feel like I'm no
| longer on top of the food chain
| photochemsyn wrote:
| The only take-home message here is that people who claim to write
| 'self-documenting code' are well, let's not be hyperbolistic, but
| come on. No comments on that code example? Every line could have
| an explanatory comment, then the author could remember what they
| were thinking at the time and it would probably help the AI out
| too.
|
| > "People who claim code can document itself considered harmful"
| TylerGlaiel wrote:
| chill, I'm the only programmer on the project, and I don't have
| any problems understanding _what_ the code is doing (only lost
| track of some of the "why", the process that led me there.
| which was only relevant here because I was trying to _recreate_
| that process with ChatGPT). The original algorithm involved a
| ton of trial and error from my end, so the "why" is really
| just "I tried a bunch of permutations of this and ended up with
| this as the version that worked".
| sagebird wrote:
| I would ask it to pretend a mathematician knows how to solve it,
| and is having a conversation with a novice programmer attempting
| to solve the problem, and pointing out mistakes and hints at each
| step, and gives examples of where it fails, until a proof is
| given that the program is correct.
| evo_9 wrote:
| It's not bad. I just had it write a small API call to the NHL
| endpoint to gather some data for something I was curious about
| stat-wise.
|
| Anyway, I initially had it write it in Python, and it mostly
| worked, but I was having some issues getting the data exactly
| right, and formatted the way I wanted.
|
| Once I had it more / less right in Python, I had it rewrite it as
| a dotnet console app (C#), which is what I know best.
|
| The only real issue I ran into is it would randomly stop before
| completing the conversion to dotnet. Like it would write 85% then
| just stop in the middle of a helper function. Not a huge deal, I
| just had it complete the last function, and with a little bit of
| fiddling in VS Code got it running pretty much the way I wanted.
|
| So overall, yeah, not bad. Probably saved me an hour or so, plus
| I couldn't find great docs for the NHL endpoint, and ChatGPT was
| able to sus out the correct syntax to get to the data I needed.
|
| I wonder how git Copilot compares, has anyone tried out both?
| marcyb5st wrote:
| Ah, in my experiments it writes like > 90% of the code correctly.
|
| I got the best results with prompts like:
|
| Given the following python code:
|
| ``` Few hundreds python loc here ```
|
| Write tests for the function name_of_function maximizing
| coverage.
|
| The function in this example had a bit of read/dumps from disk
| and everything. The code returned correctly created mocks, set up
| setup and teardown methods and came up with 4 test cases. I only
| needed to fix the imports, but that's because I just dumped
| python code without preserving the file structure.
|
| I am amazed how fast these models are evolving.
| mik1998 wrote:
| As expected, LLMs don't actually think. This is not really a
| surprising result when you understand that it's a few billion
| Markov chains in a trenchcoat.
| irobeth wrote:
| > I think ChatGPT is just kind of bullshitting at this point. It
| doesn't have an answer, and cannot think of one, so it's just
| making shit up at this point [...] But instead it's
| [overconfident] in its own capabilities, and just makes shit up.
| It's the same problem it has with plenty of other fields
|
| If anything, the article demonstrates it can write code, but it
| can't _thoroughly reason about problems it hasn 't been trained
| on_
|
| So when saying something like "Its possible that similar problems
| to that have shown up in its training set." as a way to dismiss
| any scintilla of 'intelligence', how many of these articles
| reduce to a critique e.g. "Can a Middle Schooler actually
| understand dynamic programming?"
|
| Like, what is the actual conclusion? That a software model with
| O(N) parameters isn't as good as a biological model with O(N^N)
| paremeters? That artisans need to understand the limits of their
| tools?
| IsaacL wrote:
| I've been able to give it arbitrary blocks of code and have it
| explain how they work.
|
| (Asking this makes GPT more effective when I ask it make
| further changes. One reason I do this is when I start a new
| session with ChatGPT discussing code it helped me write
| previously, especially if I've gone away and done a big
| refactoring myself.)
|
| A very simple example is that I asked it to write some Ruby
| functions that would generate random creature descriptions
| (e.g., "a ferocious ice dragon", "a mysterious jungle
| griffin"). It did this by generating three arrays (adjectives,
| locations, creature types) and randomly selecting from them to
| build the output string. I then asked it to explain how many
| different descriptions it could generate, and it explained that
| multiplying the length of the three arrays would give the
| number of outputs. (125 for the first iteration, 5x5x5).
|
| I then asked it how it would increase the number of possible
| outputs to 1000, and it did so by increasing each of the three
| arrays to length 10. I then asked it how it would generate
| millions of possible outputs, and it added extra arrays to make
| the creature descriptions more complicated, increasing the
| number of permutations of strings.
|
| This is not the most sophisticated example, but it shows what
| GPT can do when it can combine "knowledge" of different areas.
|
| If it's able to combine the solutions to _known problems_ in a
| straightforward way, it can accomplish a lot. Beyond a certain
| point it needs guidance from the user, but if used as a tool to
| fill in the gaps in your own knowledge, its enormously
| powerful. I it more as an "intelligence-augmenter" than a
| "human-replacer".
|
| See my comment here where I went into more detail on how I work
| with GPT: https://news.ycombinator.com/item?id=35197613
| sinuhe69 wrote:
| So it continues to reaffirm what we've known: generative LLM does
| not have a model of the world, can not reason and can not plan.
| It generates text by mix-matching remembered texts and thus it
| can not generate truly new content.
|
| No surprise because GPT-4 is built upon the same model as GPT-3.
| Clever Engineering will bring us far, but breakthrough requires
| change of the fundamentals.
|
| Nevertheless, it's useful and can helps us solve problems when we
| guide it and split the work into many smaller subunits.
| sinuhe69 wrote:
| I copied the opinion of Yann LeCun, one of the authorities on
| deep learning:
|
| (Feb 13,2023)
|
| My unwavering opinion on current (auto-regressive) LLMs 1. They
| are useful as writing aids.
|
| 2. They are "reactive" & don't plan nor reason.
|
| 3. They make stuff up or retrieve stuff approximately.
|
| 4. That can be mitigated but not fixed by human feedback.
|
| 5. Better systems will come.
|
| 6. Current LLMs should be used as writing aids, not much more.
|
| 7. Marrying them with tools such as search engines is highly
| non trivial.
|
| 8. There _will_ be better systems that are factual, non toxic,
| and controllable. They just won 't be auto-regressive LLMs.
|
| 9. have been consistent with the above while defending
| Galactica as a scientific writing aid.
|
| 10. Warning folks that AR-LLMs make stuff up and should not be
| used to get factual advice.
|
| 11. Warning that only a small superficial portion of human
| knowledge can ever be captured by LLMs.
|
| 12. Being clear that better system will be appearing, but they
| will be based on different principles. They will not be auto-
| regressive LLMs.
|
| 13. Why do LLMs appear much better at generating code than
| generating general text? Because, unlike the real world, the
| universe that a program manipulates (the state of the
| variables) is limited, discrete, deterministic, and fully
| observable. The real world is none of that.
|
| 14. Unlike what the most acerbic critics of Galactica have
| claimed - LLMs _are_ being used as writing aids. - They _will
| not_ destroy the fabric of society by causing the mindless
| masses to believe their made-up nonsense. - People will use
| them for what they are helpful with.
| dvt wrote:
| Fantastic comment, saving this. It's clear that for AI to be
| _AI_ , it needs what philosophers of language call a
| Knowledge Base and a few intrinsic axiomatic presuppositions
| that, no matter what happens, cannot be broken (kind of like
| the Pauli exclusion principle in real life).
| lxe wrote:
| It is far from being able to solve difficult or even annoyingly
| complicated problems that programmers solve on a regular basis
| just by a one-shot prompt.
|
| Ask it to parse a PDF document and separate it into paragraphs,
| for example. The first solution isn't gonna work well, and by the
| time you get to solving yet another quirk while it apologizes to
| you making a mistake, it will lose context.
|
| Best way to use this tool is to ask it short and precise
| questions that deal with a small piece of code.
| LeanderK wrote:
| training ML model to code is a very interesting challenge. I am
| surprised by GPTs ability to code, given that it, as I understood
| it, has basically no tools at the ready. I am convinced that it
| is way harder to code without debugging and other interactive
| features both for a human and for a machine. Keep in mind that
| GPT could not have learned to simulate the code internally given
| its fixed runtime.
|
| I think ML models need to learn how to interact with our tools
| (compiler, debugger etc.) to really be effective at coding.
| That's hard.
| [deleted]
| scg wrote:
| As a human programmer I didn't quite understand the problem
| statement until I read the whole article and the tests.
|
| I believe the goal is to find a path with the fewest possible
| "fire" cells and the minimum cost as a tie breaker. The cost of a
| path is the sum of its cells' cost and it can't be greater than
| 5.
|
| If I understood the assignment correctly, I don't think the
| problem statement is equivalent to what's included in the prompt.
| Specifically, the prompt doesn't clarify what happens if you have
| to cross through multiple "fire" cells.
|
| > Fire tiles cost 1 point to move through, but they should avoid
| pathing through them even if it means taking a longer path to
| their destination (provided the path is still within their
| limited movement range)
| tinco wrote:
| By the time you've formulated the problem as: "Give me the
| shortest route with a cost of 5 or lower that doesn't go
| through fire, and if that doesn't exist, the shortest route
| with a cost or 5 or lower that goes through fire." Then you've
| basically formulated the algorithm as well.
|
| That's also precisely where one of the programmer's greatest
| challenges lies, to carefully translate and delineate the
| problem. I agree it's a bit steep to ask the GPT to come up
| with a precise solution to an imprecise question, but it's also
| fair to say that that's basically what the job of a programmer
| entails, and if you can't do that you're not really able to
| program.
| PeterisP wrote:
| The difficult parts and time-consuming parts are not the
| same.
|
| Since I have experience in both programming and the domain of
| my tasks, formulating the steps that need to be done for some
| task is very quick, and they are "good" steps that avoid
| various potential pitfalls - but then I need half a week to
| actually make and debug them; so if some tool (or a junior
| developer) can do the latter part, that's a big benefit.
| jobstijl wrote:
| Wouldn't a better formulation be: "Give me the shortest route
| with a cost of 5 or lower with the minimum fire tiles in the
| path necessary" Since your formulation doesn't care about the
| amount of fire tiles in case there is no other solution?
| TylerGlaiel wrote:
| thats also not a correct formulation of the problem, as it
| needs to minimize the number of fire tiles it passes through.
| which is where a lot of the complication comes from.
| syntheweave wrote:
| Solve once for each number of fire tiles n.
| syntheweave wrote:
| The problem is, indeed, that Mr. Glaiel did not know the
| category of problem he was dealing with.
|
| A correct statement would be: "Given a solution set containing
| both the shortest path through fire and the shortest path
| avoiding fire, select the solution that fits within six tiles
| of movement, preferring the solution that avoids fire where
| possible."
|
| It's a constraint optimization problem in disguise: generate a
| solution set, then filter and rank the set to return a
| canonical result. That describes most of the interesting
| problems in gameplay code: collision and physics can use that
| framing, and so can most things called "AI". They just all have
| been optimized to the point of obscuring the general case, so
| when a gamedev first encounters each they seem like unrelated
| things.
|
| The specific reason why it seems confusing in this case is
| because while pathfinding algorithms are also a form of
| constraint optimization, they address the problem with
| iterative node exploration rather than brute forcing all
| solutions. And you can, if you are really enterprising, devise
| a way of beefing up A* to first explore one solution, then
| backtracking to try the other. And it might be a bit faster,
| but you are really working for the paycheck that day when the
| obvious thing is to run the basic A* algorithm twice with
| different configuration steps. You explore some redundant
| nodes, but you do it with less code.
| rjmunro wrote:
| Can you not do A* where it normally costs one point per tile,
| 10 points for a fire tile but 1000000 points for > 6 tiles,
| so you never explore the > 6 options unless you have run out
| of shorter routes?
| syntheweave wrote:
| At a glance, it might be OK that way, and I would give it
| the gold star. It's just unintuitive to make the leap to
| "apply a cost to the total length of the path" as a way of
| expressing preferences among distinct categories of path.
|
| Implementation of the categories as completely independent
| paths falls out of the clarified problem definition
| directly. It's really in nailing the specification that the
| problem is hard, i.e., even with GPT we're still
| programming.
| dureuill wrote:
| > And it might be a bit faster, but you are really working
| for the paycheck that day when the obvious thing is to run
| the basic A* algorithm twice with different configuration
| steps.
|
| Pretty much this. Attempt to find a path to the target
| destination with a first A* run that disregards fire tiles,
| and if that fails due to limited movement, then do a second
| run with the fire tiles. I like that this mirrors the
| decision making a human would follow, too: I won't cross the
| fire tile unless I'm absolutely required to.
| JamesSwift wrote:
| Yeah, I'm not really that familiar with pathfinding, but my
| naive take is that you actually want 2 scores to rank on
| rather than making everything implicit in a single cost
| factor. You have a movement cost and a preference cost. The
| path needs to suffice the movement budget, but you want to
| optimize based on preference score.
| kenjackson wrote:
| I agree. That description of the problem was horrible. Maybe
| ChatGPT could write a better description and then people could
| code up the algorithm.
| underanalyzer wrote:
| Since this is the comment thread talking about the algorithm
| I'm gonna add my 2 cents here:
|
| Here's the problem statement as far as I see it: Each tile has
| a number of move points to spend to go through it (1 for
| regular and 2 for water). Each tile also has a cost associated
| with it. Given a max number of move points find the lowest cost
| path between two tiles or return none if no such path exists.
|
| I'm gonna say this is still modified dijkstra with a small
| twist. The fire has cost 1, the other tiles have cost 0.
| However instead of pathing on a 2d grid (x, y) we path on a 3d
| grid (x, y, moves). All "goal" tiles within (goal_x, goal_y,
| moves < total_move_points) have a 0 cost edge which brings them
| to the true goal node. The implementation difference is that
| the get neighbors function queries neighbors in later grid
| layers (x+..., y+..., moves + 1 or 2)
| mannykannot wrote:
| Note that water tiles have cost 2, so the tile-crossing limit
| cannot be expressed simply as a maximum total cost.
|
| Looking at the two examples in the paragraph after "And there's
| a lot of complication to it beyond the simple cases too", I
| can't figure out how the movement value is defined, as I can
| only see 10 and 8 moves respectively, not the 14 and 10
| movement value claimed in the following text (and only one
| water tile on each path.)
| TylerGlaiel wrote:
| it had 4 movement as its base, the numbers over its head were
| a bonus movement status effect (used for testing this stuff)
| [deleted]
| zamalek wrote:
| I have been writing a text editor, and I'm currently working on
| the VT100 stuff. Unit testing VT100 is a lot of busy work.
| There's a bunch of different message frames (DCS, OSC, CSI, etc.)
| and many, many, escape codes.
|
| I decided to try out CodeGPT.nvim, and it was a massive help. It
| didn't provide perfect code, not by a long shot, but it gave me
| extremely valuable starting points - and did a somewhat decent
| job of exercising most of the branches (certainly enough for me
| to be happy):
| https://gitlab.com/jcdickinson/moded/-/blob/main/crates/term...
|
| Many people have said it, and it's true. Expecting GPT to write a
| complete solution is just asking for problems, but it is an
| incredible assistant.
| _nalply wrote:
| I think what GPT-4 is missing: a feedback loop.
|
| Imagine you were GPT-4 and being asked to write a small program,
| but you can't try it out yourself.
| tehsauce wrote:
| This is one of the best analyses of gpt4 Ive read so far. Besides
| potentially including the visual aspect, I wonder if part of the
| reason it has trouble with harder problems is that it's been
| tuned/prompted in a suboptimal way. The advertised used case
| mostly is "write down the solution for this problem", but for
| novel problems it does much better when it's given the chance to
| reason through it before trying to write down a solution. I
| wonder how much better it would do with a prompt like "try to
| work out a way to solve this problem, and then validate it to be
| sure if it's a correct solution."
| ChatGTP wrote:
| So what is a software company going to do when people can use
| their own products to replace them ?
|
| It's a slippery slope for M$. If ChatGPT 15 can just build MS
| Outlook from looking at photos of the UI, design a hololens, or
| tell us the secrets of how their Chat bots work, not sure how
| much future they're going to have as a company?
|
| What I can see being the new thing is "innovation". People
| building useful solutions that the LLMs don't yet know about.
| [deleted]
| maxdoop wrote:
| It seems so many of you guys are extremely lucky to be working on
| novel problems require elegant new solutions each day. That must
| be the case, otherwise I don't understand these comments
| shrugging off GPT-n capabilities around coding.
|
| "Psh, it's just doing stuff it saw from its training data. It's
| not thinking. It can't make anything new."
|
| In my 11 years as a professional software engineer (that is,
| being paid by companies to write software), I don't think I've
| once had come up with a truly original solution to any problem.
|
| It's CRUD; or it's an API mapping some input data to a desired
| output; or it's configuring some infra and then integrating
| different systems. It's debugging given some exception message
| within a given context; or it's taking some flow diagram and
| converting it to working code.
|
| These are all things I do most days (and get paid quite well to
| do it).
|
| And GPT-4 is able to do that all quite well. Even likely the flow
| diagrams, given it's multi-modal abilities (sure, the image
| analysis might be subpar right now but what about in a few
| years?)
|
| I'm not acutely worried by any means, as much of the output from
| the current LLMs is dependent on the quality of prompts you give
| it. And my prompts really only work well because I have deeper
| knowledge of what I need, what language to use, and how to
| describe my problem.
|
| But good god the scoffing (maybe it's hopium?) is getting
| ridiculous.
| GalahiSimtam wrote:
| No need to be sarcastic when ChatGPT-4 has issues using APIs, I
| mean software library interfaces
| [deleted]
| marcyb5st wrote:
| To be honest, I am using ChatGPT and now GPT4 as tools to speed
| up my workflow. Writing tests, writing boilerplate, parsing
| logic for deeply nested and messy JSON.
|
| Most of the times it gets things quite well, and if you provide
| context in the form of other source code, it's really good,
| even at using classes or functions that you provide and hence
| are novel to it.
|
| The hard logic bits imho (something elegant, maintainable, ...)
| Are still up to you.
| chapliboy wrote:
| The job of a programmer, in a business context especially, is to
| take real-world requirements, and convert them into clearly
| defined systems where they can be solved / reasoned with.
|
| I once had a manager telling me what needed to be done. Even with
| an actual person (me) in the loop, the code produced would often
| have glaring differences from what he wanted.
|
| By its very nature, code requires a lot of assumptions. In any
| business context, a lot of things are implicitly or explicitly
| assumed. If you need a computer, or another person to give you
| exactly what you desire, you need to be able to spot the
| assumptions that are required to be made, and then clearly state
| them. And after a point, that's just programming again.
|
| So this, or some other AI, is more likely to replace JS and
| python, or create another level of abstraction away from systems
| programming. But programmers will still always be required to
| guide and instruct it.
| sequoia wrote:
| I had a teacher with a sign on her door that read:
| Technology will not replace teachers But teachers who use
| technology will replace those who don't
|
| s/teachers/programmers/ and s/technology/AI/ and this sounds
| about right. It may become typical or even required to _leverage_
| AI to write code more efficiently.
| danjc wrote:
| Code is just the rendering of an algorithm.
|
| It might be best to prompt it with a high level description of an
| algorithm, then iteratively prompt it to refine its prior output
| or add more detail. Render to code should be the final step.
| [deleted]
| theK wrote:
| I think this article is a great example of the one key
| shortcoming that Ai based code generation has. Even a seasoned
| developer will fail to describe the intricate details and context
| of what they are trying to do. Non developers constantly fall
| flat on their face on this and rely on devs to "keep the edge
| cases in mind" etc.
| fendy3002 wrote:
| I've used chatgpt and while it's mediocre, even bad at writing
| code, it's very good at reading code and explaining it in a way
| that's easier to understand. It's also good at giving hints and
| starting point for when you don't quite familiar with the
| language feature / library.
|
| From writing code, they're good at bootstrapping unit tests and
| skeleton code, also useful at transpiling dto / entities between
| languages.
|
| Overall if you're willing to learn and not just treat a gpt as
| code monkey, they're very useful.
| yanis_t wrote:
| I find it interesting that many people took a defensive position
| towards AI. For many the discurs seems to be "will this AI thing
| eventually replace me and kick out of me job".
|
| For me it's more like will that AI thing make me a 10x developer?
| And the answer I'm leaning for is yes.
|
| I use copilot which saves me time googling and reading
| stackoverflow. I use chatgpt for writing tests to my code (which
| I hate to do myself). Sometimes I use it to ping-pong ideas, and
| eventually set on a good solution to a problem.
|
| It saves me tons of time I use to complete other tasks (or spend
| with my family).
| itsaquicknote wrote:
| Yep. I wanna dial back to being a 0.2 programmer thanks. GPT
| can fill in the rest. I'll be hanging outside with my kids.
| PopePompus wrote:
| I'm a casual programmer, who knows enough to write decent Python
| scripts, but who is probably unaware of 99% of the Python library
| modules that have been written. Yesterday I had GPT-4 write a
| script that would accept the name of a star, and print out all
| the journal articles that have that star's name in the article
| title. This is a bit trickier than it sounds, because almost
| every interesting star has many names (Vega, for example, has
| more than 60 names, not including non-English names) and I wanted
| the script to check the titles for all the names that might be
| used for the particular star I had specified. I told GPT-4 to use
| the SIMBAD database to get all the star names, and to use NASA
| ADS to get all the publications. GPT-4 wrote a script to do that.
| The script was buggy, but I was able to fix the bugs easily and
| quickly. The wonderful thing was that GPT-4 used 2 different
| libraries that I had never even heard of, to pull data out of
| those databases. The process of producing the script was far
| faster than I would have been able to do on my own. Professional
| programmers may be well aware of the software packages that will
| allow them to do their jobs, and might not get much help from a
| GPT assistant. But I think for people who know how to program,
| but are not professionals and may not know "what's out there" in
| the way of resources, a GPT assistant will vastly increase their
| ability to use their programming skills (such as they are...) to
| get useful stuff done.
| peterisza wrote:
| I skipped the article and only read the prompt. I have no idea
| what to do with fire. Why does it matter what it costs if you
| must avoid it?
| race2tb wrote:
| I like how it ends with it can write code that is repetitive and
| has many examples of solutions floating around which is most of
| coding.
|
| It will probably edge upward as well as time goes by till there
| are only very edge problems that it cannot solve. Even then I
| would use it to write the broken down version of the solution. It
| is going to be getting fed by pretty much every
| programmer,knowledge profession on the planet using copilots of
| some sort. Eventually it will have knowledge transferred
| everything humans can do into its model.
| wankle wrote:
| When business A's lightly technical aware AI operator asks their
| AI for a solution to push payment information to a bank B and
| describes it, and A's AI talks to the bank's AI and they
| coordinate the creation of the API then A's and B's AI talks to
| their respective production counterpart AI's and they create the
| implementation and put it into production; I feel we programmers
| will mostly be obsolete.
| elif wrote:
| I think it would have done well if you added an explicit rule
| like: "the path chosen should always minimize the number of fire
| tiles passed through."
|
| The way the prompt was phrased sort of invited the all-or-nothing
| fire approach.
| sequoia wrote:
| One other question: can GPT-4 reliably _modify_ code? In A
| Philosophy of Software Design the author points out that code is
| written once and modified possibly dozens of times, so ease of
| maintainability /reading is more important than ease of writing.
|
| I wonder whether a) AI can reliably _modify_ code and b) whether
| AI can reliably write code that is able to be easily modified by
| humans. If AI starts spitting out machine code or something, that
| 's not useful to me even if "it works."
| dmm wrote:
| > so ease of maintainability/reading is more important than
| ease of writing.
|
| That may be the case now but in a theoretical future where
| software systems are generated by AI why would I bother
| modifying the old system? Why not generate a new one with the
| original prompts modified to meet the new requirements?
|
| In a sense the "source code" of the system could be the AI
| model + the prompts.
| vsareto wrote:
| It can do edits, yes. You can also generally specify what
| language to use so it shouldn't jump from C++ to assembly
| unless you tell it to.
|
| The bigger edits (refactoring things across an entire project)
| is out of reach because of the token limit. You could do it
| piece-meal through ChatGPT but that seems more tedious than
| it's worth.
| Hedepig wrote:
| It brings to my mind the levels of self driving
|
| We're definitely at 2 right now, and picking away at level 3.
|
| I have heard some people skeptical that we can overcome the
| problems of truthfulness due to the inherent limitations of LLMs.
| But, at least on the face of it, it appears we can make
| incremental improvements.
|
| If only they would actually be _Open_ AI
|
| I have seen
| ChatGTP wrote:
| True "Open AI" is coming, there's no way this is going to stay
| Microsoft alone for very long.
|
| Many, many companies will be looking to integrate with this
| thing and no one is going to juts sit three and let MS take
| their lunch forever.
| bawolff wrote:
| I feel like gpt is basically just stack overflow on steriods.
| With all the pros and cons that entails.
| numbsafari wrote:
| Hey GitHub / Microsoft / OpenAI
|
| How about this prompt:
|
| I have a web page where customers see their invoice due. When
| they enter their credit card information, sometimes the page just
| refreshes and doesn't show any kind of error information
| whatsoever, but the invoice remains unpaid. This has been going
| on FOR YEARS NOW. Can you write some code to fix this as we have
| been busy laying off all the umans.
|
| Oh, or this one:
|
| I have this page called "Pull Reqeuest", at the bottom there is a
| button that says "Comment" and right next to it is a button that
| says "Close this PR". We probably shouldn't have a button that
| performs a destructive action immediately next to the most common
| button on the page. This has also been going on for years, but,
| you know, no umans.
| closetnerd wrote:
| What's most astounding is that it was expected to work when so
| much of the prompt just doesn't make sense:
|
| > Objects should only move if they will end up on an empty tile
| after their move
|
| > "An object is free to move onto a tile that another object
| moves onto if that other object is moving off of its tile"
| wbeckler wrote:
| If the issue was the prompt, I expect someone will prompt it
| with a better wording of the problem and get a decent
| algorithm, and post it in this conversation. Let's see what
| happens...
| hammyhavoc wrote:
| Repeat the experiment in a better way and blog about it then
| rather than negging in the comments. I'm not the author, but
| I'll await your peer review.
| closetnerd wrote:
| In the post, author says that the GPT-3 version it apparently
| worked well. Which is really is amazing to me.
|
| The prompts really read in a way where I wouldn't have
| expected the "correct" output.
| joshka wrote:
| I'm not sure that the commenter was negging here but instead
| showing that the language used in the prompt was imprecise
| (in a similar way that we might get system requirements in
| reality). The takeaway I got was more that the commenter was
| showing surprise at how well that ambiguity was resolved
| regardless. A more interesting experiment to run might be to
| intentionally reduce the precision of the task e.g. something
| In a 10x10 arena, work out if there is a path shorter than 5
| steps from one start to finish with water tiles taking two
| steps and avoiding as many fire tiles as possible.
|
| But you can go even better than that really. The author jumps
| down to a more code oriented description too soon (10x10,
| etc.) but ChatGPT (3.5) does ok with just the original
| problem (I removed the text about A* and Djikstra's from the
| english version of the problem statement:
|
| PROMPT:
|
| In Mewgenics, movement abilities use pathfinding to get the
| cat from his origin to his destination.
|
| Cats have a maximum movement range stat and tiles have a cost
| (in this case its 1 for basic tiles and 9999 for blocking
| obstacles). We also have water tiles that cost 2 to path
| through.
|
| The complication comes in when we add Fire (and other hazard
| type tiles) into the mix. Fire tiles don't cost extra to
| pathfind through like water tiles do, however a cat really
| wants to avoid pathing through the fire tile if it can. If
| there's a lot of fire tiles it should go through the least
| number of them it can.
|
| ANSWER:
|
| To solve this problem, you can modify the pathfinding
| algorithm to take into account the hazard tiles, such as
| fire. One way to achieve this is by using a modified A*
| algorithm.
|
| First, assign a high cost to hazard tiles such as fire. This
| cost should be higher than the cost of regular tiles, but
| lower than the cost of blocking obstacles. For example, you
| can assign a cost of 5 to fire tiles.
|
| Next, modify the heuristic function used in the A* algorithm
| to take into account the distance from the hazard tiles. For
| example, you can modify the Euclidean distance heuristic to
| add an extra term that takes into account the distance from
| the closest hazard tile. The closer the cat is to a hazard
| tile, the higher the heuristic value should be.
|
| Finally, when selecting the next tile to visit, prioritize
| tiles with the lowest total cost (including both the movement
| cost and the heuristic cost), but also consider the number of
| hazard tiles that the cat would need to pass through to reach
| that tile. You can add an extra penalty term to the total
| cost that increases based on the number of hazard tiles the
| cat would need to pass through to reach the tile. This
| penalty term should be high enough to discourage the cat from
| pathing through too many hazard tiles.
|
| With these modifications, the cat should be able to find the
| shortest path to its destination while avoiding hazard tiles
| as much as possible.
| spywaregorilla wrote:
| I wanted GPT to help me write some code for unreal engine. I was
| very impressed with what it could do. It was able to write code
| that correctly utilized Quartz, an experimental plugin for
| queuing things on the audio thread. Which is awful impressive
| given that Quartz is super niche and doesn't seem to have
| basically any documentation around to train on for cpp code.
|
| I presume it is because unreal engine is source available and the
| model has seen the whole damn thing.
|
| I'm curious if it must be worse on unity, which is not source
| available.
| ummonk wrote:
| I use it to reduce the drudgery of writing code like this. I've
| found I have to do a lot of hand-holding in terms of telling it
| what data structures and logic it should use. I also just
| directly tell it what changes it needs to make to fix big bugs or
| logic errors I spot. That gets it to the point that I can tweak
| it myself and complete the code.
|
| One of the frustrating things is that it doesn't ask for
| clarification of something that's unclear - it just makes an
| assumption. Really demonstrates why software engineering
| interviews emphasize the candidate asking clarifying questions.
| marstall wrote:
| I've wondered why got doesn't ask questions - that's a basic
| expert skill.
| davewritescode wrote:
| I think most folks (perhaps not here) misunderstand is that
| writing code is the easiest part of a software engineering job.
| Anyone can write code in their little piece of the system, write
| some tests to prove it works and move on. Given enough time I
| feel most good software engineers can do that part of the job
| without issue.
|
| Knowing how code might fail and preventing cascading effects,
| tuning resource usage, troubleshooting incidents are the actual
| hard parts of software development and it's where even good
| software engineers tend to fall over. We've created whole
| specialties like SRE to pickup where application developers fall
| short. I've seen lots of systems fail for the dumbest reasons.
| Thread pools misconfigured, connection timeouts with poor
| configuration, database connection pools are completely
| incorrect.
|
| Wake me up when ChatGPT can troubleshoot at 1 AM when the SRE and
| on call engineer are both frantically trying to figure out why
| logs are clean but the service is missing it's SLO.
| awb wrote:
| How are people generating multiple files for larger applications?
|
| I gave it a prompt and asked it to respond with a list of file
| names required to build the app. Then when I prompted a file name
| it should print the code for that file along with a list of
| ungenerated file names. It got through two before it got
| confused.
|
| I'm stuck with having it write one function at a time.
| gumballindie wrote:
| > I'm stuck with having it write one function at a time.
|
| Because thats the most it can do. Claims that it can write code
| are getting quieter. People made wild claims on reddit but when
| prompted to share their code they either went mute or the code
| was hilariously amateurish and limited.
| hackandthink wrote:
| Maybe LLM Code writing will us slow down (initially).
| Productivity is hard to measure and can be counter intuitive.
|
| Talking the whole time with your LLM may distract more than it
| helps.
|
| https://en.wikipedia.org/wiki/Productivity_paradox
| jsemrau wrote:
| GPT3 worked well for me with smaller programming tasks. I.e,
| helper functions, api calls, etc In those cases it was easier to
| type : Write a javascript function that does X
|
| It totally failed for me creating a nice looking website using
| bootstrap. While GPT3 created a workable outline, it never looked
| right and the css adjustments never worked.
| havefunbesafe wrote:
| If you've never worked as a dev/in product, this will not help
| you. If you have a working understanding of your codebase, as a
| product person, and can bump your way through writing code and
| the command line, it WILL help you immensely. Source: I wrote an
| integration that connects our API to google drive to pass video
| content (something I could have NEVER done before).
| capableweb wrote:
| Personally, I found GPT-4 to be helpful when writing code for
| games. But I'm a web programmer trying to learn game development,
| I'm no professional game developer by any measure. And I'm using
| Rust and Bevy, for what it's worth. So it might not be as helpful
| for someone like Tyler who actually know what they are doing,
| similarly for me if I were to use it for web development.
|
| The most helpful thing with GPT-4 have been getting help with
| math heavy stuff I don't really grok, and that I can try to
| compile the code, get an error and instruct GPT-4 that the code
| didn't work, here is the error, please fix it. Other things it
| been helpful for is applying the "Socratic method" for helping me
| understand concepts I don't really grok, like Quaternions. Then,
| knowing GPT-4 isn't perfect, I always verify the information it
| tells me, but it gives me great starting points for my research.
|
| Here a conversation I had lately with GPT-4 in order to write a
| function that generates a 2D terrain with Perlin Noise:
| https://pastebin.com/eDZWyJeL
|
| Summary:
|
| - Write me a 2D terrain generator
|
| - Me reminding GPT-4 it should be 1D instead of 2D (I used the
| wrong wording, confusing a 1D vector with 2D)
|
| - Code had issues with returning only values with 0.0
|
| - GPT-4 helping me tracking down the issue, where I used the
| `scale` argument wrong
|
| - Got a working version, but unhappy with unrealistic results, I
| asked it to modify the function
|
| - Finally got a version I was happy with
| qlm wrote:
| I had a similar experience earlier. Described a problem that
| isn't even that hard - very similar to something there are
| probably lots of examples of online but subtly different. I
| wanted to see if handled these subtly different requirements.
|
| It failed miserably, even with repeated instructions. It just
| assumed I wanted the more common problem. Every time I pointed
| out the problem it would say "sorry for the confusion, I've fixed
| it now" and give me back identical code. I even asked it to talk
| me through test cases. It identified that its own code didn't
| pass the test cases but then still gave me back identical code.
|
| I eventually gave up.
| jrumbut wrote:
| It has failed every meaningful programming challenge I've given
| it (to be fair, I only ask when I've got something difficult in
| front of me).
|
| I do wonder if part of it is that my prompts are made worse
| because I have a partial solution in mind.
| travisjungroth wrote:
| I've found persistence is _not_ a good strategy with GPT. Put
| effort into your prompt, maybe try clarifying once, and if it
| doesn't work, do not keep trying. It will get closer to the
| solution at a diminishing rate, just enough to tease you along,
| never getting there.
| bsaul wrote:
| there's a bit of confusion when people say it's not going replace
| programmers because they all have tricky things to do in their
| work week.
|
| This is not how it's going to happen : if your boring time-
| consuming tasks take virtually 0 time thanks to gpt, and let you
| focus on the 1% that's hard, you've suddenly become 100x more
| efficient, and can thus accomplish the same job as 100 you. That
| means the company can now fire 99 coworkers, keeping only you,
| and end up with the same result.
| dragonwriter wrote:
| > if your boring time-consuming tasks take virtually 0 time
| thanks to gpt, and let you focus on the 1% that's hard, you've
| suddenly become 100x more efficient, and can thus accomplish
| the same job as 100 you. That means the company can now fire 99
| coworkers, keeping only you, and end up with the same result.
|
| But it means that tasks where building software would only
| deliver 1% of the necessary value to pay for the cost of doing
| it are now suddenly worth paying for, so even if your company,
| being a stick-in-the-mud non-innovator that is going to stay in
| exactly the same niche doing the same thing cut 99% of its
| programming staff and used the cost savings on executive
| bonuses and stock buybacks, a whole lot of customers (and the
| new and pivoting companies serving them) are going to be
| spending money on programmers that weren't before, so not only
| will your ex-coworkers still be employed _more_ programmers in
| total will be, even if their work is now mostly higher-level
| abstraction and wrangling LLM code generators, with the level
| we think of as "source code" today being touched as rarely as
| today's high-level application developers touch machine code.
| akmarinov wrote:
| But then competitor company B will keep its 100 devs and be
| that much more productive than your company, running you into
| the ground.
| asah wrote:
| Me & many senior engineer friends are starting to use ChatGPT
| like "junior engineers" to write code them. It's not even a
| question anymore.
| theshrike79 wrote:
| I just used GPT-4 yesterday to write a Go-parser for a specific
| JSON input.
|
| Within two prompts it could read the JSON data from a stdin
| stream, unmarshal it to Go structs and print the correct fields
| to stdout as a human-readable line of text.
|
| Then I told it to colour the timestamp and id fields using the
| fatih/color -package, and it did it correctly.
|
| In total it took me about 4-5 prompts to get where I wanted. I
| just needed to fine-tune the printing to stdout part a bit to get
| it just how I liked, but it saved me a ton of boring template
| code writing and iteration.
|
| I could've done it easily myself, but there were a few fiddly
| bits that would've required me to look up the documentation to
| check the exact way to do things. GPT4 had it correct from the
| start.
|
| Then I asked it to write unit tests for the code, and it
| confidently started writing correct-looking code that would take
| the same input and expect the correct output, but just stopped in
| the middle. Three times. I stopped trying.
|
| And another case:
|
| I tried to use GPT-3.5 to write me a program that would live-tail
| JSON-logs from Sumo Logic and pretty-print them to stdout. It
| confidently typed out completely correct code with API endpoints
| and all. ...except the endpoints didn't exist anymore, Sumo Logic
| in their great wisdom had removed them completely. The only
| solution is to use their 5 year old binary-only livetail
| executable.
|
| GPT4 with the same input gave me a shell-script that starts a
| search job with the correct parameters and polls the endpoint
| that returns the result when it's done.
|
| The speed at which this is developing is really fascinating, I'm
| not really afraid for my job but I do love how this will automate
| (some of) the boring stuff away a bit like GitHub CoPilot did,
| but better.
| pixl97 wrote:
| >Then I asked it to write unit tests for the code, and it
| confidently started writing correct-looking code that would
| take the same input and expect the correct output, but just
| stopped in the middle.
|
| One of two things. First ask it to continue. Sometimes it just
| stops half way thru code foe whatever reason.
|
| The other possibility is you filled up the token context
| window. Not much you can do but wait for the 32k model.
| theshrike79 wrote:
| I asked it to continue twice after the first failure. Every
| time it failed in about the same point. Might've filled up
| some mysterious limit in the model.
|
| I didn't really need the unit tests anyway, but I wanted to
| try if it could do it :)
| danielbln wrote:
| You can also ask it to "continue at this line XZY" and it
| will not give you the whole thing again, only the new
| continuuation.
| dmix wrote:
| From my own sampling of going through about 10 times I used GPT
| for real world Typescript code, some used in production, I can
| confirm that GPT-4 does a noticeably better job and produces code
| I actually want to use way more often.
|
| GPT-3.5 always produced very verbose types and over engineered
| code. The GPT-4 outputs were consistently shorter and more
| focused. Kind of like how a junior dev has to think through all
| the smaller steps and makes functions for each, as he
| incrementally solves the problem slower and less intuitively,
| almost over explaining the basics, while a senior dev merges the
| simpler stuff into small concise functions. You can see it with
| the var names and type choices GPT-4 focused much more on what
| the code is trying to accomplish rather than what the code itself
| is doing. And these are all with the same prompts.
|
| There's still things like unused vars being included occasionally
| and some annoying syntax choices, if I could append
| prettier/eslint rules automatically to GPT output it'd be gold (I
| haven't tried to do this myself).
|
| But still very encouraging.
| dmix wrote:
| If someone can make an ESLint/prettier rules to GPT prompt
| script I'd love you. Or even the airbnb-base baseline one.
| yanis_t wrote:
| Here's another view. If you're a music composer, you hear the
| music in your head. But in order to get it out, you need to play
| and record musical instruments, learn to sign, learn to produce,
| etc. What if you had a device that takes music from your brain
| and gives you an mp3 file?
|
| That's what I think AI is doing for developers here.
| davbryn wrote:
| I'm more intrigued why the author finds this a difficult problem
| for the needs of their game. It looks like their search space is
| at most a 10 X 10 grid for the most part (I'm assuming based on
| asset since and detail it doesn't grow too much larger).
|
| I know it isn't relevant to the Chat-GTP code writing discussion,
| but A*, Dijkstra and heuristics to move an entity around 8 spaces
| could raise the question "Can the developer be more pragmatic?".
| tarkin2 wrote:
| The only argument I've heard against our impending doom is:
|
| The productivity gains will not leave people unemployed, but will
| give managers the opportunity to start more projects.
|
| The role of a developer will change. We'll be looking at
| generated and regenerated code. But we'll still be demand by
| those with ideas and never-decreasing human demand.
|
| This assumes that GPT-X won't end up being used by end-users--
| bypassing both the C-level, the managers and the developers.
| hackerlight wrote:
| Try again with chain-of-thought prompting?
| amluto wrote:
| I'm not an AI as far as I know, but I would try a classic
| programming competition technique for this and observe that 6
| isn't a very big number.
|
| Step 0: Let's try to find a path without walking through fire.
| Run Dijkstra's or A* to find the shortest path with no fire, up
| to distance 6. If it succeeds, that's the answer.
|
| Step 1: Okay, that didn't work. We need to go through at least 1
| fire tile. Maybe we can do at most 1. Define distances to be a
| tuple (fire, cost) where fire is the number of fire tiles used
| and cost is the cost. Comparison works the obvious way, and
| Dijkstra's algorithm and A* work fine with distances like this.
| Look for a solution with cost at most (1, 6). Implemented
| straightforwardly will likely explore the whole grid (which may
| be fine), but I'm pretty sure that the search could be pruned
| when the distance hits values like (0, 7) since any path of cost
| (0, 7) cannot possibly be a prefix of a (1, c) path for any c<=6.
| If this succeeds, then return the path -- we already know there
| is no path of cost (0, c) for c <= 6, so a path of cost (1, c)
| for minimal c must be the right answer.
|
| Step f: We know we need to go through at least f fire tiles. If f
| > 6, then just fail -- no path exists. Otherwise solve it like
| step 1 but for costs up to (f, 6). Prune paths with cost (f', c')
| with c' > 6.
|
| This will have complexity 6 _D where D is the cost of Dijkstra 's
| or A_ or whatever the underlying search is. Without pruning, D
| will be the cost of search with no length limit but, with
| pruning, D is nicely bounded (by the number of tiles with
| Manhattan distance 6 from the origin times a small constant).
|
| For a large level and much larger values of 6, this could be
| nasty and might get as large as t^2 * polylog(t) where t is the
| number of tiles. Fortunately, is upper-bounded by 6 and doesn't
| actually get that large.
| graboid wrote:
| Yesterday evening I thought it would be fun to try to do a
| Raycaster in Javascript with the help of GPT-4. Experience was
| mixed.
|
| 1. Basic rendering logic was a breeze. I barely had to change
| anything, just copy paste, and I have a map with walls that were
| darker the further away they were, using textures, and basic
| movement using arrow keys. For an inexperienced graphics
| programmer like me probably saved hours getting to that point.
|
| 2. I asked it to add a minimap. Did not work perfectly at the
| first try, but after a few minutes of exchanging messages, it
| worked and looked okay.
|
| 3. I asked for an FPS display. Worked on first try.
|
| 4. Now I asked for a solution to render walls of different
| heights. Here I had to correct it a few times, or suggest a
| different approach, but it got it working halfway correct (but
| not very performant). Definitely took way longer than steps 1 to
| 3 combined (30+ minutes).
|
| 5. I asked for floor rendering (often called "floorcasting").
| Here it completely failed. The code it suggested often looked
| like it might be the right approach, but never really worked. And
| the longer we exchanged messages (mostly me giving feedback
| whether the code worked or suggesting possible fixes), the more
| it seemed to hallucinate: very often variables suddenly appeared
| that were defined nowhere or in a different scope. At that point,
| it became increasingly frustrating for me, and I often closed the
| chat and "reset", by posting my complete working code, and again
| prompting for a solution to the floor rendering. Still, until I
| went to bed, it did not produce any working solution. In
| retrospect, it would probably have been faster to read a tutorial
| how the floorcasting should work, and implement it myself like a
| caveman, but that was not what I was aiming for.
|
| It was definitely fun, and I can clearly see the potential time-
| savings. But maybe I have to learn when to recognize it won't
| bring me past a certain point, and I will save time and nerves if
| I switch to "manual control".
| d357r0y3r wrote:
| GPT-4 can write code, but it can't build software.
|
| Well...it _could_ build software if humans gave it the right
| prompts. Coming up with the right prompts is difficult, because
| it means you 're asking all the right questions.
|
| If you're just really good at writing code, then yes, GPT is
| coming for your job. Do what humans are good at: responding to
| the needs of other human beings and building solutions around
| them.
| GrumpyNl wrote:
| I asked it to write the code for all the unique combinations of
| A,B,C,D in PhP, after 27 tries it succeeded. The i asked it to
| solve the problem of a horse is 15 dollar, a chicken one dollar
| and a egg .25 dollar, i can spend 100 dollar for 100 items, some
| of each. After 2 hours, it was not able to solve it. One time it
| gave 5 possible answers, with the correct one also, but it did
| not recognize the correct one.
| bobek wrote:
| > The useful thing to do would be to just say "I do not know of
| an algorithm that does this." But instead it's overcompetent in
| its own capabilities, and just makes shit up.
|
| I had recently very similar reaction. And then realized, that
| this is exactly same behavior as with many of my colleagues at
| work...
| the_af wrote:
| The first problem statement that GPT got wrong actually shows a
| problem with human language.
|
| "Avoid fire" means "do not ever go through fire" to me (and GPT
| thinks the same, apparently). The author thought it meant "avoid
| fire if you can, but go through it if there's no other way". This
| was a problem with informal requirements that could have happened
| in an entirely human context.
| wantsanagent wrote:
| I find adding 'before you answer, ask clarifying questions' to
| a prompt is quite helpful in avoiding these traps.
| keyle wrote:
| So, for a bit of fun, I signed up to GPT-4 thingy plus and I
| picked a fairly common web application and built it from scratch,
| only by talking to GPT-4 and copy pasting the code bits.
|
| I'm actually taken back by how well it's doing; including
| providing me some refreshers on stuff I forgot how it should
| work.
|
| I can see it failing at solving complex problems, but like the
| blog post mentions, most programming isn't new or hard problems.
|
| This is particularly powerful when you're producing something
| you've done before, but in a completely different language/stack.
| You just guide GPT-4 towards the goal, you roughly know the
| methods needed to get to the end goal and just watch your
| assistant do all the dirty work.
|
| Looking back, I came from a world of floppy disks; I left them
| behind for zip disks and CDs, then portable disks and cloud
| storage. I also came from dialup Internet, I left it behind for
| ADSL then fibre. I feel this is a tangential point here too,
| where AI, whatever it ends up being called, will become a
| fulltime assistant making our lives easier; so that we can focus
| on the hard parts and the creative problem solving. What are we
| leaving behind? For me, mostly Stack Overflow and Google.
|
| You'd be silly to ignore it and palm it off. It's a big deal.
| matwood wrote:
| I think there's augmenting programmers (which I think will
| happen) or replacing programmers (which I think will not happen
| soon). It's a capable and improving tool that humanity will
| figure out how to saturate like we do with everything else.
| whateveracct wrote:
| Programming takes little effort. It's at most 20% of my effort.
| Feels like GPT is programming with extra steps.
|
| Maybe it's for people who can never think programming is easy.
| Clearly there's a lot of such types. Explains a lot.
| capableweb wrote:
| I think programming is very easy most of the time, most time
| I spend is just typing/moving code around, figuring out the
| solution is the easy part for me, only the computer<>brain
| coordination is slowing me down most of the time.
|
| But there are things that are harder for me, or more complex
| maybe. I struggle with math, and always had, so anything
| involving heavy math or algorithms is harder for me (I'm a
| hacker, not a computer scientist, if you will).
|
| For these things, I found GPT4 to be very helpful. I can
| write what I want, get a WIP version back, work out some
| kinks with it myself and ask it to rewrite it if it's not
| perfect, until I have a perfect version. Add some unit tests,
| find more things that are missing/wrong (sometimes), more
| back and forward.
|
| Before GPT4 I either just tried to work around having to deal
| with heavy math, or find people IRL that could help me. Now
| I'm a lot faster even if it involves math, because of GPT4.
| whateveracct wrote:
| So you write the unit tests yourself to confirm the code
| you say you can't understand is correct? That's an
| interesting approach. But you'd probably need more tests
| than usual to gain confidence, so you are losing efficiency
| there (although the ceiling-raising nature of it is
| interesting).
|
| What happens in production when there's a bug in the
| complex code you punted to GPT? How do you debug?
| capableweb wrote:
| Basically. I'm not sure I'm losing much efficiency, my
| previous approach was contacting friends who know how to
| do math in programming, sometimes it could days before I
| could move past the issue. And the result is the same,
| ending up with a piece of code I mostly understand, but
| struggled to write myself so the knowledge is fleeting at
| best.
|
| Just to be clear, the context here is me writing games
| for fun, while struggling with the math heavy parts. I
| would never professionally use GPT4 for anything, and
| wouldn't push anything to production that I don't 100%
| understand, that would be failing at my profession and I
| take bigger pride in my work than that.
|
| But for fucking around with games in my free time, it has
| made me a lot of efficient at the parts I'm struggling
| with.
| whateveracct wrote:
| Has using it ended up teaching you anything? Like from
| reading the produced solutions?
| capableweb wrote:
| Yes, for sure. Some applications of procedural texture
| primitives (like Perlin Noise) that I wasn't super
| familiar with and for example "quaternion" which I never
| heard about before trying to write a game.
| noitpmeder wrote:
| /r/iamverysmart
|
| I'm reminded of the old "Handyman's Invoice" trope. Actually
| implementing a solution is not the hard part. What _is_ hard
| is determining what the solution is in the first place.
|
| https://www.snopes.com/fact-check/know-where-man/
|
| Once you have a rough idea of the solution, sure maybe GPT-4
| can barf snippets to get you there. But it's lightyears away
| from translating business problems into actionable solutions.
| danielbln wrote:
| > But it's lightyears away from translating business
| problems into actionable solutions.
|
| Is it though? Have you tried feeding it business problems
| and working through to possible solutions paths? Have you
| roped in additional external information (via agents,
| tools, vector search, etc.) during that process? I don't
| see why the model wouldn't be able to translate a lot of
| business problems into solutions paths.
| sabellito wrote:
| What I've seen in this thread so far is some people saying
| "this is really useful in these particular cases" and some
| others, like yourself, saying "I'm too smart for this, maybe
| it's useful for inexperienced/incompetent people".
| whateveracct wrote:
| I don't even think it's useful for the incompetent. I do
| think the incompetent think it's useful tho.
| stormfather wrote:
| That's like saying a calculator isn't useful just because
| you're good at mental math. The ability to adapt and
| extract value from new tools is a mark of competence.
| whateveracct wrote:
| Using natural language to code isn't going to help me.
| It's less dense informationally already. I don't have a
| stream of natural language in my head when I program or
| build software, so it's not free to use GPT.
|
| This may be a Haskell thing. But I did try and even for
| small programs it was cute but not actually an efficiency
| gain over me just doing it.
|
| Not to mention in real life, I have to deal with fallout
| and bugs and I think GPT deprives me of key processes
| that allow me to be excellent in that regard. If you
| aren't a coder and code a backend with GPT, what do you
| do when the shit hits the fan?
| stareatgoats wrote:
| > silly to ignore it and palm it off. It's a big deal.
|
| Agree, this is a big deal, and has the capacity to
| revolutionize all the techniques we have been using up to now
| for compiling, summarizing and reframing existing knowledge as
| expressed in writing (including code).
|
| Not only does Google get (well deserved) competition, it means
| pressure on all the businesses that now make a living in that
| space. In a few years it will even have a serious impact on
| major such institutions in society like schools and
| universities.
|
| A lot if not all of the kickback from established institutions
| will be attempts to smear the competition, and by all means, to
| carve out new niches where GPT-X is not applicable or as
| efficient.
|
| There are valid concerns about the veracity of the information
| it provides which means there are limits to the extent it can
| be used in automated processes, but I'd loathe to trust the
| data unconditionally anyway. As for not being able to think
| creatively: good on us. But it's likely just temporary.
| whiplash451 wrote:
| My experience is exactly the same. We are truly going through a
| singularity moment right now.
|
| The difference with the examples you gave (floppy disks, etc.)
| is the speed at which it happened.
|
| There was Jan'23, and there was March'23.
| muyuu wrote:
| assistants and wizards have been tried before with varying
| levels of success
|
| clippy tanked because it annoyed more than it helped, although
| some people did like it
|
| install wizards did their job in a world where a single binary
| format and OS dominated and stuff ran offline pretty much
| exclusively, with the odd connection to networks - those
| installers sorted a laundry list of situations, both underlying
| situations and user configurations and choices, and for the
| most part they worked
|
| Siri, Cortana, Alexa etc have been working as expert systems
| with central curated bases and some AI/ML on top, for a lot of
| people they've been working quite well - for me personally
| they've sucked, they've totally failed to answer my questions
| the few times I've tried them, and they've creeped the hell out
| of me (they are a lot more centred on extracting my info and
| selling me stuff than understanding stuff)
|
| generative ML is orders of magnitude more sophisticated, but so
| are our needs and our computing from a global perspective, it
| does make sense that those assistants, pilots, etc start taking
| off
|
| but the incentive issues of the previous generation assistants
| and recommendation algorithms remains there and I wonder how
| will that turn out - if they start demanding access to my
| phone, my email, my contacts etc I will do my best to avoid
| them and to poison any info I have to give them
| mentos wrote:
| Yea my question now is can you figure out how to
| automate/abstract your process of guiding GPT?
| komali2 wrote:
| I don't really have anyone to ask questions I get sometimes
| about building software, and chatGPT has been helping fill the
| gaps. Basically I'm thinking of it like a combination of a
| rubber duck and a dialogue-enabled google search. But it's been
| really helpful along those lines when I'm for example not sure
| a good way to change a bunch of stuff across a bunch of files,
| and am pretty sure it's something that can be automated
| _somehow_ , and chat GPT will be like "have you considered
| using one tool to get the file names that need changing, then
| another tool to create an AST of the files, and then another
| tool to actually modify that AST?" And I'm like oh duh, yeah, I
| didn't know there's tools like that but I should have assumed
| there are, nice.
|
| Basically that's how all my usage has gone. I've had it write
| some elisp and it has been ok, sometimes it invents made-up
| functions (that don't exist in org-mode for example) but I'll
| just tell it that a function doesn't exist and it'll come up
| with some other solution, until I get it to a point where all I
| need to do is change a couple things.
|
| I remain highly skeptical the thing will replace me anytime
| soon (ever in my lifetime?) but I'm surprised at the
| possibilities of making my life less tedious.
| extr wrote:
| Great example. The way I've described it to people is it's
| perfect for when you get the feeling you're trying to fit a
| square peg in a round hole. You ask ChatGPT, and it's great
| at pointing out that they actually make round pegs, and
| here's how you make sure the hole is really lined up nice.
| keyle wrote:
| Yes, thanks, that's exactly how I feel as well.
| MavisBacon wrote:
| I think the question also needs to be asked of- can GPT-4 write
| accessible/WCAG compliant code? I just spent the last two days at
| a digital accessibility conference called axe-con, financed by a
| firm called Deque who primarily make AI/ML powered software for
| the detection of accessibility issues in code
|
| The resounding attitude seems to be that AI/ML is a friend to
| disabled users and can help do a lot of lifting with writing,
| maintaining, auditing code- but we are a long long ways away from
| fully automated processes that account for accessibility and
| produce websites that will work with assistive tech like screen
| readers, if it is possible at all
| importantbrian wrote:
| > After going in circles a few more times, I decided that was it.
| It got _close_. It seemed to understand the problem, but it could
| not actually properly solve it.
|
| I had this same loop issue with Chat-GPT. I had something I
| wanted to do with asyncio in Python. That's not something I work
| with much so I thought I'd see if Chat-GPT could help me out. It
| was actually good at getting me up to speed on ansycio and which
| parts of the library to look at to solve my problem. It got
| pretty close, but it can't seem to solve edge cases at all. I got
| into this loop where I asked it to make a change and the code it
| output contained an error. I asked it to fix the error so it gave
| me a slightly modified version of the code prior to the change.
| So I asked it to make the change again and the code it spit out
| gave the same error again. I went through this loop a few times
| before I gave up.
|
| Overall, it's cool to see the progress, but from what I can tell
| GPT-4 suffers from all the same issues Chat-GPT did. I think
| we're probably missing some fundamental advance and just
| continuing to scale the models isn't going to get us where we
| want to go.
|
| My biggest concern with the current batch of LLMs is that we're
| in for Stackoverflow driven development on steroids. There's
| going to be a ton of code out there copy and pasted from LLMs
| with subtle or not so subtle bugs that we're going to have to
| spend a ton of time fixing.
| kneebonian wrote:
| This here is my fear to. I have a buddy right now that is
| getting his degree in CS and he is using ChatGPT for a lot of
| his assignements.
|
| I worry that the next generation of developers are going to
| grow up just figuring out how to "program GPT" and when they
| have an error rather than investigating it (because they can't
| because they aren't actually familiar with code in the first
| place) they'll simply tell GPT about the error they are having
| and tell it to spit out more code to fix that error, slapping
| more mud on the ball.
|
| Eventually these systems are growing larger and larger at a
| faster and faster pace, and no one understands what they are
| actually doing, and they are so complex that no one human could
| ever actually understand what it is doing. Imagine if every
| codebase in the world was like the Oracle DB codebase.
|
| In this future a programmer stops becoming a professional that
| works to create and understand things, instead they become a
| priest of the "Machine Spirit" and soon we are all running
| around in red robes chanting prayers to the Omnissiah in an
| effort to appease the machine spirit.
| Havoc wrote:
| Not sure it matters? If the majority of coding is gluing things
| together and it can replace that then you've suddenly got 10x as
| many coders gunning for the remaining gigs that have hard
| problems.
|
| Good for whoever comes out on top, but not sustainable from a
| societal perspective
| dukeofdoom wrote:
| A solo developer can now afford an assistant. It's liberating,
| since it makes it easier to get some things done. So you can do
| more, or have more free time. You can get by using Midjourney for
| art, and GPT-4 to answer questions and occasionally help to write
| code.
| laserbeam wrote:
| Actually, if the state A* searches through is not "tile reached"
| but "tile reached + count of fires on path", then it just becomes
| regular A*. This solves the A to C doesn't always go through B,
| because it turns B into multiple distinct states, some with
| fires, one without.
|
| There are a few issues with this. Search state is bigger
| (performance goes down), might not scale if other search features
| are needed in the game, you might need to be smart about when you
| stop the search and how you write your heuristic to not have to
| reach all combinations of fire counts before you end your
| search...
|
| But the trick to "just use A*" is not in modifying the cost, but
| changing the search space.
|
| PS. I see no reason why you should change your current code,
| obviously.
|
| PPS. I don't think GPT could come up with that insight. It sure
| didn't in your case.
| laserbeam wrote:
| Did another pass through the article, and checked your code and
| GPT's code. The fun thing is you DID have similar insights, of
| changing the search space (including desire and bends in the
| cell). GPT never bothered to try (at least in the samples you
| provided).
| phkahler wrote:
| I'll be impressed when they can debug existing code.
| iandanforth wrote:
| The second overlapping crescent moon solution the GPT provides is
| really interesting. If it was hard to find a counter example I
| wonder if there is a restricted case for the radius of the inner
| circles for which the proposed algorithm _is_ true. I don 't have
| the maths to determine this myself but would love to hear
| speculation from others.
| blagie wrote:
| Off topic: This problem was fun. I would really enjoy a site with
| a pile of nonstandard, fun, and interesting problems like this
| one.
|
| Coming up with a working algorithm took about 30 seconds (I got
| lucky, not brilliant), but it stretched my brain in an
| interesting way.
|
| That's different from practice sites like leetcode, which have
| pretty cookie cutter problems. On problems like this one,
| sometimes:
|
| - I get it in a few seconds, like this case
|
| - Get it in a few minutes
|
| - Get it in a few hours
|
| - Give up and look up the solution
|
| A fun problem a day would be, well, fun.
| it_citizen wrote:
| To be fair, in 15 years writing code, I have spent the vast
| majority of my time working on minor variations of problems
| already solved.
|
| I am not a fancy developer coming up with new algorithms. I make
| sign up flows, on-boarding flows, paginated lists, integrations
| to other apis.
|
| And I definitely feel that my job might be threatened by LLMs.
| saurik wrote:
| To the extent to which anything that makes you take less time
| doing the specific tasks you are doing today (and thereby,
| presumably, bill fewer hours or fail to defend such a high
| headcount on your team) threatens your job, we might also say
| that better programming languages and tooling threaten your
| job, better error messages and documentation threaten your job,
| or higher levels of abstraction and higher quality frameworks
| threaten your job... were you also fretting about the new
| version of TypeScript that just came out earlier today, or did
| you think "wow, that makes me more effective, I can't wait to
| use it"?
|
| I might go so far as to argue that the entire reason software
| developers exist is to threaten all jobs, including our own: at
| our best--when we are willing to put in a bit of thought into
| what we are doing--we don't just make things easier to do for a
| moment while we are employed (which is the best of what most
| professions can achieve): we make things persistently and
| _permanently_ easier to do again and again... forever; and we
| don 't just make other peoples' jobs easier: this same power we
| have applies to our own tasks, allowing us to automate and
| replace ourselves so we can move on to ever more rewarding
| pursuits.
|
| I'm not a fan of GPT for coding for a number of reasons (at
| least, in its current form, which is all we can ever have a
| true opinion about); but, it isn't because it will replace
| anything I've ever done: it would have just unlocked my ability
| to work on better things. There are _so many things_ I wish I
| could get done before I die, and I know I 'm going to be able
| to get to almost none of it... I have so many plans for ways to
| improve both the world and my life that will never happen as I
| just don't have the capability and bandwidth to do it all. If I
| had a God I could ask to do all the things I already do... I
| can only imagine what I'd do then.
| steve_adams_86 wrote:
| I think our jobs are threatened not because the LLMs will be
| much better than us, but because dirt cheap tooling will be
| developed on top of them that will make things which are "good
| enough" and are a fraction of the price.
|
| I think outstanding software will still require well-paid,
| competent people orchestrating and developing a lot of complex
| systems for a while yet... But there's a ton of bad software
| out there that will be able to be maintained for far less, and
| I suspect a lot of companies will be drawn to creating cookie
| cutter products generated by LLMs.
|
| Just as people have turned to stores and blogs generated on
| templated systems, I think all of that and more will continue
| but with even more of it handled by LLM-based tooling.
|
| I don't think it'll be next week, but I suspect it'll be less
| than 10 years.
|
| Some people expect that'll lead to more software existing which
| will inevitably require more develops to oversee, but if that's
| the case, I suspect they will be paid a lot less. I also expect
| that once AI tools are sophisticated enough to do this, they
| will largely make that level of oversight redundant.
|
| Soon they could potentially patch the bugs in the software they
| generate by watching Sentry or something. Just automatically
| start trying solutions and running fuzz tests. It would be way
| cheaper than a human being and it would never need to stop
| working.
| vlovich123 wrote:
| Whenever these kinds of comments are made, the short story
| "Profession" comes to mind by Isaac Asimov. In this story
| people's aptitudes are evaluated and the relevant knowledge and
| skills are downloaded. The protagonist of the story however
| keeps being rejected for download and has to struggle to
| acquire the same skills his peers acquire instantly and
| magically. It's a great read with a fantastic ending.
|
| The morale is that it's always better to have unique hard won
| skill sets that others don't. Double down on those. Think of
| LLMs as freeing you to do more interesting high level tasks.
| Rather than having to build those menial tasks, what if you
| focused on your creativity getting the AI to build new types of
| product or gain new insights that peers aren't considering.
| What if you leveraged the AI to build prototypes of ideas you
| wouldn't have to otherwise?
|
| Of course that's easier said than done. For now, take comfort
| in the fact that no one is seriously trusting this as anything
| more than a glorified autocomplete (if that).
| shp0ngle wrote:
| Your job is already threatened by cheap outsourcing.
|
| However, the risk with cheap outsourcing is exactly the same as
| with LLMs - you get what you pay for, and you need to
| constantly check if it's really doing what it's supposed to be
| doing.
| lordnacho wrote:
| This is the thing. You need to know what you're doing to know
| whether you got the thing you wanted. Thus it's still a tool,
| rather than an expert.
|
| By contrast, you don't know what your pilot or your surgeon
| is up to, you have to trust their decisions.
| bawolff wrote:
| Tbf, most of my time as a programmer was neither spent solving
| old problems nor solving new problems. Most of it was spent
| either fiding the bug hidden somewhere in the huge code base,
| or trying to get the business people to be clear on what their
| requirements actually are.
| [deleted]
| mrandish wrote:
| I'm actually quite excited by what the examples in the article
| show - despite the fact they show GPT-4 can't replace a good dev
| solving somewhat tricky algorithm problems.
|
| Reason: I'm a code hobbyist who glues various modules together
| that have been written by much better programmers than I am. My
| end goals are never more ambitious than doing pretty simple
| things which I'm doing mostly to amuse myself. My biggest time
| sucks turn out to be tracking down fairly simple syntax things
| that vary between different languages and frameworks I'm slapping
| together (because I rarely spent more than a couple hours working
| on any one thing, I never get super familiar with them).
|
| Being a lousy coder with little desire to put in significant
| effort to improve just to make my personal hobby projects a
| little easier, a basic AI assist like this looks pretty useful to
| me.
| ThreeToZero wrote:
| A modified A* that solves the fire routing problem (less
| efficiently than OP's I think).
|
| Each A* location stores where it comes from, how long it takes to
| get to it, and how many fires it passed through to get there. The
| algorithm only considers fire cells neighbors if the current
| number of fires passed through is less than the current
| fireWillingness global.
|
| 1. count fire tiles within movement range
|
| 2. run A* from src to dst completely avoiding fire
|
| 3. if we can reach then that's the solution
|
| 4. if we can't reach, increase fireWillingness to 1, re-run A* on
| the board
|
| 5. keep increasing fire-willingness until the A* results don't
| change, or we can now reach the dst.
|
| This works because a low fire path is always better than a high
| fire path. And increasing fire-tolerance will only shorten the
| paths from src to dst.
| thethirdone wrote:
| That algorithm (implemented efficiently) is just A* using a
| different concept of distance.
|
| The distance specifically would be `fire*episilon + steps if
| steps < max else inf`
| laserbeam wrote:
| It doesn't work if you just change the distance. Having
| implemented similar variations of A* I agree with Tyler. You
| need to change more than distance to get this to work.
|
| Usually you need to change the search space and increase the
| number of states you go through to get the algorithm to
| differentiate between things you want and things you don't
| want to happen in your final result.
| anonymoushn wrote:
| Counterexample: ...XX SF.FD ...XX
| S = start F = fire X = wall D = destination
|
| The cat can to the destination in 6 moves passing through 1
| fire. In the fireWillingness=1 pass, the middle tile is reached
| after passing through fire, so the destination appears
| unreachable. The proposed algorithm will pass through 2 fires
| instead of 1.
| bob1029 wrote:
| Yes. I only need it to write 50-100 lines at a time to be
| incredibly effective.
|
| My productivity this month has been insane. I'm still writing
| most of the code the old fashioned way, but the confidence of
| having this kind of tool makes it a lot easier to push through
| boring/tricky items.
| zitterbewegung wrote:
| I had some Matlab code and I wanted it to be ported to numpy. I
| couldn't get it running on Python and it wasn't doing it
| correctly on chatGPT.
|
| On the other hand it could regurgitate code to use fastapi and
| transformers and it looked correct to me.
|
| When you think about it this is very very similar to a stack
| exchange or google search but with a much different way to search
| and it can synthesize simple things which limits the complexity
| of what you want to do. So I don't really think it can write code
| but it can surely get you something that gets you 50% there.
| gwoolhurme wrote:
| I guess my genuine question is to the people who are saying this
| is a big deal and it will take our jobs. I am a bit lucky to
| where at the moment I am working in a "novel" field. Lets say
| though for the sake of argument that AI does come for SWE jobs.
| To be honest? I don't know what to do in that case, I have no
| backup plan, not enough to retire. The country I've lived in for
| 9 years is still through a work visa (hopefully at least that
| changes soon). I am just comfortable enough with my salary. If
| all that is pulled from under me, I lose my job tomorrow, I lose
| my profession, my visa, my home. I honestly would like to ask to
| the people who say this is and will come for us soon. Well OK,
| but what is your advice for someone like me? It's true society
| doesn't owe me anything, nobody does. So it is also just an
| answer that some of us will be dropped by the wayside. That's
| what happened before. Just curious what anyone's advice would be
| assuming they are right and it does take our jobs.
| IsaacL wrote:
| Check out my comments higher up in the thread (eg
| https://news.ycombinator.com/item?id=35197613), I really do
| believe that GPT4+ will be primarily useful as augmenters for
| capable and dedicated engineers, rather than replacements. It's
| like a very eager and brilliant junior dev that can solve many
| problems that you throw at it, but still needs hand-holding,
| error-checking, and someone who knows how to piece the actual
| system together.
| wara23arish wrote:
| What about the junior devs of today ?
| IsaacL wrote:
| If they're willing to learn, GPT is a very powerful tool.
|
| https://www.youtube.com/watch?v=VznoKyh6AXs ["How to learn
| to code FAST using ChatGPT (it's a game changer
| seriously)"]
| gwoolhurme wrote:
| Thanks for the reply! I don't know what the future holds. The
| country I live in will even just on the job train more
| programmers if need be. It is kind of nice in that sense. If
| what you say is right? Then for the most part everyone is
| happy. The problem is, if we assume the worst case scenario,
| that it does take all our jobs, well then what? To people
| with those opinions, my question is what do I do? What does
| anyone do?
| weatherlite wrote:
| We all need to save up money and think of a plan B. If there is
| no problem, worst case you'll have a bunch of money saved and a
| plan B you won't be using.
| braingenious wrote:
| I tried out gpt4 today with the task of "take some html files
| made by a non technical person using various versions of
| microsoft word over a decade ago and put the contents into a csv"
| and it hasn't done great. Not terrible, but not great.
|
| That being said, I don't know anybody talented enough to handle
| it that would even look at this project for $20 so -\\_(tsu)_/-
| danielbln wrote:
| An alternative path would be to tell it to write python (or
| $LANG) code that can parse these HTML files and output the
| right CSVs.
| braingenious wrote:
| That's what I'm doing! I found myself amazed by the sheer
| terribleness of the html that Microsoft Word output. I
| managed to get it to write a script to clean up the files
| last night, but it took a surprising amount of finessing to
| avoid the myriad footguns involved in dealing with this
| godawful format.
| neom wrote:
| I came up in the 90s, used a lot of dreamweaver to build sites,
| all my friends thought I was a wizard because I had a website and
| that required you to program interweb stuff. Then the net became
| pretty complex, I gave up around dhtml but always really
| appreciated and loved what folks could do with the DOM. I've been
| thinking a lot recently that GPT might allow me to build again, I
| have some of that 90s dreamweaver vibes using it.
| est wrote:
| tl;dr
|
| > Given a description of an algorithm or a description of a well
| known problem with plenty of existing examples on the web, yeah
| GPT-4 can absolutely write code. It's mostly just assembling and
| remixing stuff it's seen, but TO BE FAIR... a lot of programming
| is just that.
| tomduncalf wrote:
| I didn't have much luck with ChatGPT trying to solve a novel
| problem (sorry can't share details), it gave answers that kind of
| sounded plausible if you didn't really understand the problem but
| in reality were no help. It also hallucinated a bunch of research
| papers that sounded really useful haha.
|
| Will have to try GPT-4 for the same thing and see if it's any
| better, I suspect though that this kind of genuinely novel
| problem solving may be beyond its current abilities (unless you
| work through to step by step in a very granular way, at which
| point you're solving the problem and it's writing the code -
| which could be a glimpse of the future!)
| DeathArrow wrote:
| I think AI will never write good code but can be very useful for
| very basic stuff, boiler plate or repetitive stuff, like a smart
| IntelliCode. In fact, I think MS built some AI in IntelliCode but
| not advanced stuff so they can sell GitHub Copilot.
___________________________________________________________________
(page generated 2023-03-17 23:01 UTC)