[HN Gopher] Cheating is All You Need
___________________________________________________________________
Cheating is All You Need
Author : iskyOS
Score : 322 points
Date : 2023-03-23 12:06 UTC (10 hours ago)
(HTM) web link (about.sourcegraph.com)
(TXT) w3m dump (about.sourcegraph.com)
| gloosx wrote:
| So with the emacs example, the input prompt in natural language
| was 210 bytes. The code outputted is 345 bytes (omitting the book
| text). That's 60% more bytes. Totally not a 5x productivity
| increase. Question: how does it scale? How can you be sure that
| it is productive at all and at some point you will not be
| inputting more English language bytes than getting the code bytes
| back?
| teucris wrote:
| > software engineering exists as a discipline because you cannot
| EVER under any circumstances TRUST CODE
|
| This is the insight that unlocked GPT code assistance for me. GPT
| is another developer on my team now. Devs will always have jobs
| because humans are flawed, problems are hard, and GPT is trained
| on human data that hasn't solved all problems.
| Jimmc414 wrote:
| I read the entire article, sign up for the launch presentation
| only to find out only Mac and Linux are supported.
| trabant00 wrote:
| Now here is a pro LLM opinion I can get behind. The first one
| actually. The point, as I take it, it's that LLMs are going to be
| successful even though they might not actually be that good.
|
| I can definitely see this happening as it relies on proven blind
| spot of reason: upfront cost vs long term and quite well hidden
| costs. You can ship code at incredible speed right now. And for
| unfamiliar stacks. As the point is not doing all the work
| yourself it will surely be full of corner cases you haven't
| thought of. Bugs will abound. But you can worry about it later,
| and it's not necessarily you who will have to worry about it,
| wink, wink.
|
| The comparisons with AWS and K8s are spot on as well. Both rely
| on hiding the somewhat ugly truth behind instant and cheap
| adoption. And they both rely on peer pressure. What you going to
| do if you don't like LLMs? Refuse them and not ship as fast as
| your everybody else?
| namaria wrote:
| No kidding, I'm getting a second bachelor's. I'll become an
| archaeologist. Money, greed and pride have destroyed software
| for me. I watch a talk by Dijkstra then I have to deal with
| some god-awful mess of templates because someone decided
| deployment files were too verbose and templates are more
| flexible.
|
| We know how to make correct, performant, beautiful software.
| But market pressures keeps most of us wrangling nonsense
| complexity by the cartload. I'm out.
| dahwolf wrote:
| "When was the last time you got a 5x productivity boost from
| anything that didn't involve some sort of chemicals?
|
| I'm serious. I just don't get people. How can you not appreciate
| the historic change happening right now?"
|
| That's not how software development works. At all. The actual
| coding itself is but a fraction of total time spent.
|
| Why aren't people more excited? Because for the vast majority of
| developers there's no tangible upside. When I'm more productive,
| will I earn more money? No, because everyone will have this
| capability. In fact, this will only increase delivery pressure on
| already overburdened people. When I'm more productive, can I go
| home early? No.
|
| The only significant, widespread tangible benefit I see is that
| the type of work everybody hates doing (for example writing unit
| tests) becomes significantly easier.
|
| The other aspect that the author seems to totally ignore is the
| mood that this might ultimate replace a lot of people's jobs. Or
| that it will intensify competition as development becomes even
| more competitive. None of these are considered good things for
| many people.
| hackyhacky wrote:
| You're missing the point. The benefit is not for you _you_ ;
| the benefit is for your _boss_. When programmers get better
| tools and are more productive, your boss needs fewer
| programmers, which saves money.
|
| I would expect to see a sharp decline in job opportunities for
| junior developers, and increased expectations for senior
| developers.
| Panzer04 wrote:
| Most of the time these kinds of boosts should lead to more
| workers being hired, because previously unprofitable
| applications become profitable. There's not really a bounds
| on demand for software like there is for, say, food.
| Spivak wrote:
| Technology can't fix capitalism but when you are actually
| capturing the value of your own labor that productivity boost
| goes right into your pocket.
|
| It sucks so much to see people have such a negative opinion
| of a technology that can takes work off human hands when the
| technology isn't what makes it shitty, it's the raw deal
| we've been handed where nine tenths of your labor goes to
| your corporate owner.
| dahwolf wrote:
| I totally agree. My vision for the future is that we dial
| back our obsession with stuff a bit, and in return get back
| more free time. We drastically need a vision for society to
| believe in, where life gets better, and not endlessly
| worse.
|
| Scenario 1: my economic existence is granted, not under
| constant threat. I'm now cleared to embrace and welcome any
| and all technology as an enabler to fulfill my dreams, and
| hopefully in some way improve the world. Which in turn
| allows others to improve the world. A fly wheel effect.
|
| Scenario 2: I have a family to feed. Fuck this new tool.
| Another new thing to learn and I already struggle to keep
| up. No matter how good it is, it will in no way improve my
| life as it only adds to my load, and will ultimately
| replace me altogether.
|
| Stark difference.
| dahwolf wrote:
| Oh I'm getting the point, that was exactly the (implied)
| point I was making in response to the OP wondering..."I don't
| get why people aren't excited".
| underwater wrote:
| If you double productivity then bosses will double the
| workload. I don't know of any software team that is in danger
| of completing their backlog.
| skybrian wrote:
| You're right that productivity writing new code isn't
| everything, but if code is cheaper to write, I think it might
| shift how often people write new code or rewrite code rather
| than modifying legacy code? It also might mean fewer
| dependencies. Maybe programming languages will shift a bit
| towards code that's easier to review versus easier to write?
|
| And more generally, writing off all productivity improvements
| is really cynical. There are people who are just labor for hire
| in dysfunctional workplaces where there's no reward for working
| smarter, but that's not everyone.
|
| You can also write code as a hobby, and you will be able to do
| more in a limited amount of time.
|
| Or you could work for a smaller company, where how productive
| you are matters to how successful the company is.
| xwdv wrote:
| This guy was wrong about Amazon and he's wrong again about LLMs.
| Being wrong once doesn't mean you're more likely to be right
| later.
|
| Let me tell you something, I'd rather write code than review
| code. Reviewing code is very draining, writing code is easy.
| That's why I'll never rely on LLM generated code. Figuring out
| the 20% you have to tweak is exhausting. Refining prompt after
| prompt and reading the result is exhausting.
| deepzn wrote:
| What John Carmack said in his tweet replying to a DM recently
| resonates with me the most. Languages, Architectures, and
| everything in between are essentially just a tool(the thing which
| changes) to produce the end result you desire. i.e. the business
| application or outcome you want. Thinking in this way, using
| Natural Language, and/or prompting seems like the best way and
| highest abstraction that we always strived to achieve in Software
| engineering.
| ThePhysicist wrote:
| For prototyping Chat-GPT (4.0) is a big deal. I had it write PoCs
| of pretty complex systems combining different state-of-the art
| technologies, and it mastered all of it brilliantly. What amazes
| me most is how simple and elegant its solutions are. When you ask
| something (e.g. build a horizontally scalable data store with a
| Raft-based consensus mechanism in Rust) it produces code that
| does _just that_ and nothing else. Lots of programmers, myself
| included, would struggle with this and include at least some
| extraneous complexity, but Chat-GPT goes right for what was asked
| and seems to find the most succint way to achieve it.
|
| I haven't felt so excited about programming in a long time,
| because I can now build PoCs that would take me days or weeks to
| do in an hour or even less. That's a real game changer, and it
| helps me overcome this internal friction of "I know this is
| possible to build but it will take me a long time to figure out
| an actual approach".
| yosito wrote:
| I spent half an hour today trying to get ChatGPT to write a
| simple anchor tag in HTML and didn't get a single correct
| response. I'd love to see a screencast video from one of you
| people claiming that ChatGPT is actually returning huge amounts
| of useful code that is ready to use. I'm incredibly skeptical!
| ThrowawayTestr wrote:
| Input: Give an example of anchor tags in html
|
| Output: Sure, here is an example of how to create an anchor
| tag in HTML:
|
| <a href="https://www.example.com">Click me!</a>
|
| In this example, the text "Click me!" will be displayed as a
| hyperlink. When a user clicks on the hyperlink, they will be
| redirected to the website specified in the href attribute,
| which in this case is https://www.example.com.
| stnmtn wrote:
| I would love to see a screencast video from you of what you
| asked ChatGPT and what it responded with, as I find it hard
| to believe that it couldn't write an anchor tag.
| bluejekyll wrote:
| Out of curiosity, how do you know that it's correct?
| ThePhysicist wrote:
| Reading the code, and running it. You can ask it for a
| complete project tree and even test scripts (you have to ask
| it to continue as it gets interrupted sometimes). I e.g. had
| it write a simple database engine with an API, and it
| produced Rust code as well as curl-based examples to test the
| database. It even correctly added up the data items it sent
| into the DB via curl to show what the output would probably
| look like. Pure sci-fi technology.
| bipop5000 wrote:
| Test and reiterate. I don't think you should take whatever is
| coming out of chatGPT verbatim. It should be used as an
| interactive tool to amplify your knowledge.
| layer8 wrote:
| Testing does not show correctness, it can only show
| incorrectness.
| mjrpes wrote:
| GPT-4 for coding is very powerful but can be dangerous. I
| asked it to write a data retention script that would save X
| number of backups depending on the number of
| days/weeks/month/years from the present day. It's first
| attempt would have worked the first day, but running the
| script consecutive days would eventually delete all
| backups. Once I told GPT-4 to take into account the script
| would be run each day, it "apologized" and produced a
| script that worked.
| whatever1 wrote:
| Same way we know that any piece of code is correct.
|
| Debugging, testing.
| YetAnotherNick wrote:
| Similar to how you know someone's stackoverflow answer is
| correct. Read the code, find the documentation of API calls,
| think of any missed cases, write tests etc.
| thomastjeffery wrote:
| So basically the same as writing it yourself: just skipping
| the writing part.
|
| So should we be taking about GPT as an occasional text
| editor replacement? I honestly think that's more accurate
| take than most of the ones I have seen.
| renewiltord wrote:
| It's a rubber duck that talks back. Massive amplifier on
| software productivity.
| mgfist wrote:
| Have you seen the GPT4 demo? A few interesting things
| that make it seem much more than an occasional text
| editor replacement. One was having it write an entire
| program. It needed a few prompts to fix some bugs it had,
| but it worked. The program was then used for the rest of
| the demo. The program even had an obscure bug that it
| solved by having the demo-er paste the error + the entire
| docs page. The second demo was having it write a html
| page based on a picture drawing on a napkin of a website,
| and then running the html.
|
| It's honestly pretty impressive. I already use chatgpt a
| lot (doing a lot of google sheets scripting/formula stuff
| and the docs + syntax are horrendous) and chatgpt helps
| me find the correct syntax much faster than I'd otherwise
| be able to
| drstewart wrote:
| How is it ChatGPT 4 is like a few days old and people are
| reviewing its ability to "build complex systems with state of
| the art technologies" like they've been using it for years?
|
| Reminds me of "Seeking developer with 10 years of experience in
| <brand new> framework"
| raincole wrote:
| > How is it ChatGPT 4 is like a few days old and people are
| reviewing its ability to "build complex systems with state of
| the art technologies" like they've been using it for years?
|
| Why... why can't we reviewing its ability to "build complex
| system" because it's a few days old...?
|
| I'm pretty sure here "complex" is relative to what ChatGPT
| can do before, not relative to, say, what NASA did before.
|
| > Reminds me of "Seeking developer with 10 years of
| experience in <brand new> framework"
|
| AI is not human. The anthropomorphism is quite crazy here.
| drstewart wrote:
| >AI is not human. The anthropomorphism is quite crazy here.
|
| You misunderstand. My point isn't that ChatGPT is the
| developer here, it's that ChatGPT is the "framework".
| Vanclief wrote:
| Could you provide an example of this? What kind of prompts are
| you using, and what does a complex system of different state-
| of-the art technology would look like?
|
| Sincere question as I don't get how to use it for things larger
| than simple scripts.
| ThePhysicist wrote:
| You just talk to it like you would talk to another engineer.
| I e.g. first describe what I want to achieve and ask it to
| give me an architecture. I then e.g. ask to break down the
| work into different smaller tasks, and ask it to do each
| task, adding to what it wrote before. A bit hard to reproduce
| all prompts here and the UI doesn't allow to share, but it
| comes quite natural I find. Sometimes you need to ask it to
| continue as the output just stops, but other than that it's
| like talking to a colleague (with superhuman powers).
| californical wrote:
| I have been trying this, but it crashes every single time.
| I end up getting a huge amount of output, but I'm guessing
| that it exceeds the time limit and crashes losing the
| entire output.
|
| Maybe I'm using it wrong, but I just describe the system
| that I want to build and it starts listing out multiple
| files. Usually by the 3rd or 4th file, it crashes with an
| error.
|
| I'm not sure how to reduce the output so it doesn't crash!
| I have ChatGPT Plus using GPT4, fwiw.
|
| Did you have this problem too, and do you remedy by giving
| it smaller bits of information per question?
| ThePhysicist wrote:
| Just write "You were interrupted, please continue." -
| that will prompt it to pick up its train of thoughts and
| continue. Strange times we live in...
| robocat wrote:
| It seems a lot of prompts are polite (e.g. "please").
| Weird, since I don't think we ask Google politely?
|
| How does being polite in your prompts help you?
| raylad wrote:
| It makes a big difference with Bing bot.
|
| Try a prompt where you want it to create a list of
| something in two versions:
|
| * Create a list of the top 20 blah sorted by blah
|
| It will typically return just a few and then refuse to
| give you more. Then try:
|
| * Acting as a conscientious and resourceful research
| assistant, use your knowledge and initiative to create a
| list of the top 20 blah sorted by blah.
|
| You get much better results.
|
| Lately I find that you can reduce its hallucinations
| somewhat by adding something like:
|
| * If you are unsure of any information put in "??". Do
| not fabricate information. I understand that not all
| information is available and appreciate your work.
|
| This is all a bit much - having to coddle an AI, but it's
| possible to understand why it would be the case: it's
| trained on lots of human interactions and apparently
| responds better to a friendly interaction with keywords
| that set it up to do a good job.
| sumtechguy wrote:
| I usually ask it to describe the concept first. To make
| sure it is in the right space. Then I say something like
| "please write a c++ version of that".
|
| It will do a decent job at it.
|
| Last night a friend who refuses to get an account to use it
| was having an issue with a cisco router. I put in what he
| was trying to do. It was not right and gave him an error. I
| fed that error back in and it realized he had a different
| version and gave me a better way to do exactly what he
| wanted. It had kept the context and said 'oh some routers
| do not have that command here is another way to do it'. He
| had spent weeks googling around for the answer. I had it in
| under a half hour and I had never used the interface he was
| changing before.
|
| Then you can turn around and ask it to write a horror story
| about a monster that devours couches. It will make
| something up (it is very good at that). Then you can say
| 'oh put that in the style of the SCP foundation'. It will.
|
| This tool is wildly interesting. I think dismissing it is a
| bad idea. I look forward to using this thing as it gets
| better.
| [deleted]
| dkarl wrote:
| I scanned through for the punch line where he explains how much
| he relied on LLM help while writing this article. Did I miss it?
|
| > I don't really know how to finish this post. Are we there yet?
| I've tried to write this thing 3 times now, and it looks like I
| may have finally made it. I aimed for 5 pages, deliberately
| under-explained everything, and it's... fifteen. Sigh.
|
| He did it all by hand. Of course. Because he has just as hard a
| time facing this as anyone else.
|
| There is going to be a race to come to terms with this. If
| something we're all currently using for free is capable of this
| much, then most of us aren't going to be employed as software
| developers in ten years. We won't be able to scale up the demand
| for code as fast as the supply.
|
| It's terrifying. There's no post-scarcity utopia in capitalism.
| Scarcity is a given, and if you aren't wealthy and aren't
| employed, you will feel it.
| cpr wrote:
| Great to see another Yegge rant! Thought those were all
| history...
| ricardobeat wrote:
| > if you're having a conversation with someone in a browser, all
| that shit started life as a teeny demo of 2 engineers sending
| messages back and forth over a "hanging GET" channel back in 2005
|
| Hmm.. pretty sure I was using online chat rooms around 1997. He's
| probably talking about Comet, but it was just a technical
| improvement, not an enabler. And realtime streams have since
| moved on to SSE / websockets.
| yellowapple wrote:
| > One of the craziest damned things I hear devs say about LLM-
| based coding help is that they can't "trust" the code that it
| writes, because it "might have bugs in it".
|
| I can't speak for other devs, but when I'm talking about my
| inability to "trust" an LLM-based coding partner, it boils down
| to the lack of transparency around where that code actually came
| from. There have been numerous documented instances of Copilot
| and similar tools plagiarizing code verbatim from other projects,
| sometimes in ways that violate the license terms of the code in
| question; the last thing I need is to get nailed over an
| accidental GPL (or, worse, some EULA) violation.
| noirbot wrote:
| I think it's also less about the bugs and more about the fact
| that the "thought" behind it is less predictable. If I have a
| random developer implement some basic function, I can have some
| confidence that it will cover all of the "normal" and obvious
| use cases for our shared intended use of this code.
|
| Because of how an LLM approaches it, I have to be more careful
| about what assumptions it may have made, and which edge cases
| it decided to have guards around, since there's often a lot of
| "invisible" context and state baked into even simple tasks.
|
| How a human would name a variable or a function reveals
| something about how they conceived of its use and purpose. How
| an LLM names things doesn't necessarily tell you anything about
| the code that surrounds it. This can make it harder to reason
| about the code at a time or skill distance.
| klik99 wrote:
| "Get LLM to generate 80% of code, tweak 20%" just doesn't make
| sense. It takes more time to understand others code than to write
| it yourself for anything complex. LLM might be good for
| boilerplate, or for brainstorming architecture, but I still don't
| see any indication of it handling novel use cases.
|
| The author gives plenty of examples of tech that was
| underestimated. They all solved problems in such novel and
| concrete ways that most couldn't see the application. Compare to
| something like crypto which are hyped on the potential to solve
| problems at some point in the future in ways that we'll figure
| out. I actually think LLM has the potential to deliver on the
| hype, but it's a safe bet to be bearish on hyped tech until
| actual concrete uses are shown, and it's usually the boring stuff
| that ends up changing the world. LLMs are by definition
| derivative and lack underlying knowledge. Until those issues are
| solved I can't see them generating anything minorly complex or
| novel with minimal, easily discoverable bugs
| lgrapenthin wrote:
| If LLM would write code faster or better than me, I would use
| LLM. But LLM comes up with perverse algorithms that I need to
| understand, debug and fix. Sorry, not there yet. By far not.
| pjdemers wrote:
| Why ask chatgpt to write the code when I can just ask it to do
| the task? Instead of "write code to do X", just ask it "do X".
| code_runner wrote:
| These models aren't capable of "doing" things. They can't
| necessarily calculate values etc. They can assemble text based
| (more or less) on statistical analysis of all their input data,
| and the are _incredible_ at it... but if you ask what 2+2 is,
| its not doing math to get to 4.
|
| They certainly can't deploy the code they generate etc.
| josecyc wrote:
| It's only time till they have access to your filesystem and
| then that's it
| ThrowawayTestr wrote:
| >its not doing math to get to 4
|
| OpenAI just announced a partnership with Wolfram Alpha, so
| now it can ask a different computer to do the math.
| kristofferR wrote:
| Things are moving so damn fast, while you were correct when
| you posted - two hours later you were not:
|
| https://twitter.com/gdb/status/1638971232443076609
| Scandiravian wrote:
| I guess it's mostly due to cost and reproducibility
|
| It's significantly cheaper to run an sql query than have
| ChatGPT look through several gigabytes of data and ChatGPT
| won't be guaranteed to produce the same result each time
| steve76 wrote:
| [dead]
| bboylen wrote:
| I think he is absolutely correct that successful LLM products
| will have a moat. Unlike with previous novel technologies it
| seems like incumbents actually have the upper hand. Hard to
| imagine a startup competing with the new Microsoft 365 copilot.
|
| Microsoft will be able to build a better integrated assistant for
| their walled garden than any third party. It is also hard to
| imagine millions of businesses dropping Office for some
| completely new solution. Unless its REALLY novel & incredible of
| course
| nico wrote:
| I think that a lot of interfaces are simply going to disappear.
|
| Do you really need a whole office suite to figure out the
| answers, if AI gives you the answers immediately and in a
| better format?
|
| For example, an LLM that has db-sql and charting tools, can
| generate whatever report I want on the fly. Not only that,
| instead of just generating a general report, I can query it
| consecutively to understand the data, eg. "Show me sales for
| this month. How do they compare to last month? How about last
| year? Give me a chart of the last 12 months. What impacted
| sales in November? Who are the best performing sales people?".
|
| The above is so much better than having to dump csv files, open
| them in a spreadsheet, do dynamic tables, chart things, etc.
| rben82 wrote:
| [dead]
| zoogeny wrote:
| Business idea for anyone who is keen:
|
| Stack overflow but a LLM responds to every question. Same upvote
| mechanic, same "accepted answer" mechanic. Perhaps you have known
| experts validate the response.
|
| Basically any Q&A forum but with the LLM as the first respondent.
| You would probably customize or fine-tune this for particular
| domains (e.g. software engineering, medical training,
| industrial/commercial training, legal compliance).
| ezekiel68 wrote:
| I've been a professional software engineer since the 1990s. The
| pointy-haired boss has been trying to replace high-priced code
| artisans with cheap commodity labor since well before I came onto
| the scene. I remember when they hoped they could get away with
| hiring or off-shoring people who had just enough ability to glue
| together Microsoft COM objects or Java Beans, or graphical UML
| models or NPM packages.
|
| Using LLMs to produce software solutions definitely feels like a
| seismic shift in the game. Time will tell.
| babuloseo wrote:
| The part about context window is interesting and how you have to
| give LLM's cheatsheets, going to see if I can reproduce that to
| get better results ty Steve
| brhsagain wrote:
| The current hype around ChatGPT seems to center around asking it
| to solve small toy problems and being amazed it can do so. Is
| there a foreseeable path or game plan to get from where we are
| now, to being able to give ChatGPT access to your existing
| humongous codebase and having it submit PRs? Are we already
| there? I'd say that solving small isolated problems, or writing
| individual reusable functions or modules, is maybe like 5% of
| coding, if that.
| redox99 wrote:
| > ChatGPT access to your existing humongous codebase and having
| it submit PRs
|
| I'm sure that's just around the corner. In 2 years tops it will
| very likely exist and be useful for some percentage of your
| JIRA issues.
| kkukshtel wrote:
| This is really great but it also feels like a bit of an oversight
| to not realize that Github (aka MS aka OpenAI) launched a
| Sourcegraph competitor recently:
|
| https://github.com/features/code-search
|
| I appreciate the breakdown of how to do it yourself, but even
| having to signup for a waitlist to try their option when Github
| seems emmintely able to basically do exactly the same thing...
| idk. It just points to how the people that control the models
| really have final say here. It's hard to posit yourself as in a
| lucky position when you're faced up against the perfect opponent
| more primed to act more quickly that you are.
| bitL wrote:
| "How much of a productivity increase is that? Well jeepers, if
| you're only doing 1/5th the work, then you are... punches buttons
| on calculator watch... five times as productive."
|
| So basically have GPT write the most interesting part of the code
| and then dive into the ugliest parts of development to provide
| finishing touches without actually knowing anything about the
| code base? Sounds like hell to me and not a productivity boost.
| There will be a new generation of coding sweatshops spawned
| around this idea by countless clueless MBAs.
| blackbear_ wrote:
| > You get the LLM to draft some code for you that's 80%
| complete/correct. You tweak the last 20% by hand. How much of a
| productivity increase is that? Well jeepers, if you're only doing
| 1/5th the work, then you are... punches buttons on calculator
| watch... five times as productive.
|
| Really makes me think that the author has no idea how
| professional software developers work. At least 30% of the time
| is spent in meetings, add another 20% spent on thinking and
| gathering information about the feature/bug, and maybe 20%
| validating that the thing implemented works as intended. That
| leaves only 30% of the time spent on actual coding, give or take.
| And sure, say that a LLM saves you 80% of the time for coding,
| then the _real_ productivity increase is.... punches button on
| calculator... 28%. Even assuming, generously, that 50% of the
| time is spent on coding, the productivity increase is 67%.
| Considerable, but not nearly a doomsday change.
| gk1 wrote:
| I suspect the author knows a lot more about how SWEs work than
| even many SWEs... https://en.wikipedia.org/wiki/Steve_Yegge
| teaearlgraycold wrote:
| He knows. He's just selling a product.
| namaria wrote:
| Add to that calculation that often asynchronous communication
| blocks work - finishing up code more quickly doesn't
| necessarily mean shipping feature faster.
| esquire_900 wrote:
| I'd even argue that if you are given a bunch of code of which
| 20% is incorrect, it's going to take more than 20% time to fix
| that. If you've written 100%, you know what the code is doing,
| what kind of data the variables are supposed to hold etc. In
| the 80-20% case you've got to build the internal model, test
| the code, reason and think about it, all of which you would
| have done during writing.
|
| There are so many nuances to these kinds of statistics (same as
| the github copilot claims) that they give me a little marketing
| nausea every time they are claimed as truth.
| the_af wrote:
| Speaking of cheating, one thing I've been thinking:
|
| With GPT, what's the deal with non-live coding interviews and
| challenges, e.g. HackerRank and similar? Right now HackerRank can
| be configured to disallow alt-tabbing and you can demand there's
| a web camera on pointing at the candidate. Disregarding for a
| minute how intrusive and ridiculous these requirements are, is
| HackerRank's business model gone now that ChatGPT exists?
|
| Yes, I cannot alt-tab. Say hello to my second laptop that you
| cannot see with the web camera. You also cannot see my hands. As
| we speak, I'm typing your "go through a list and build/find
| whatever in O(N)" for ChatGPT in my second laptop, thanks for
| playing!
| politician wrote:
| This lazy way of interviewing is toast. The better way is take-
| home projects followed by a discussion. With GPT, those "3-4
| hour" projects now become ~20 minutes, and the follow up
| discussion is for validating that interviewer can trust the
| candidate to audit the results and take responsibility for
| getting it to work correctly.
|
| I really loved what Steve said about software engineering being
| a field that exists because you can't trust code.
| the_af wrote:
| > _This lazy way of interviewing is toast. The better way is
| take-home projects followed by a discussion._
|
| Agreed, this is what I'm thinking too. The "lazy" way is made
| obsolete by ChatGPT. And good riddance, frankly!
| ketzu wrote:
| You could also google your hackerrank task on the second
| computer.
|
| Which, I assume, is the primary motivation for "no alt tabbing"
| to begin with.
| the_af wrote:
| Yes, of course. But ChatGPT/Copilot is more flexible, for the
| same reasons it's "better" than just googling (e.g. maybe you
| find the solution in Java but HackerRank wants it in Python,
| and it's trivial to ask ChatGPT for the translation. And this
| is just an example).
|
| For coding problems this is essentially a more flexible
| search engine, one with which you can interact better to
| tweak the result.
|
| If you can simply take the challenge prompt, paste it on
| ChatGPT, and have an answer in seconds, doesn't this more or
| less make the kinds of challenges often employed in
| HackerRank obsolete?
| ketzu wrote:
| My experience with leetcode at least is, you can just
| access the forum of the given task to look at solutions
| (and explanations) by other people. So for anything other
| than challenging yourself, it is already obsolete without
| additional tools.
|
| I see how ChatGPT might be a more flexible search engine, I
| just don't think it is a fundamentally new mode of cheating
| that hasn't been possible before.
|
| The 'real challenge' with the two computer setup is having
| to retype the whole task anyways ;)
| birdyrooster wrote:
| Opposite feels about people seeing AI with skepticism nearly
| everyone around me sees it as a panacea if only tomorrow. Sorta
| including myself.
| ericls wrote:
| I agree with a lot of things in this article.
|
| My question is:
|
| If LLM can understand natural languages and convert them to a
| programming language, why not skip the high level languages and
| go strait to machine code?
| wsgeorge wrote:
| The programming language is an intermediary we humans and the
| machine can understand. It's better from an
| audit/explainability perspective.
| ThrowawayTestr wrote:
| It can do assembly, which is basically machine code.
| LesZedCB wrote:
| presumably for human verification purposes.
| pie_flavor wrote:
| > > You can't trust the AI's code!
|
| > Yeah, but you can't trust your own code!
|
| No, really, _you can 't trust the AI's code._ It spits out code
| that references functions that don't exist. It spits out code
| that does something you didn't ask it to do, or doesn't do
| something that you did. It spits out code that does something
| vaguely related that the Stack Overflow guy it's cribbing from
| did, but you aren't doing. It spits out code that confuses your
| syntax for JS's halfway through. You can _skim_ other people 's
| code; you know what common failure modes are at their experience
| level, and you know where the complicated bits are that will
| house the bugs if there are any. You _cannot_ skim the AI 's
| code. Every word of it must be examined. You must be in full
| reviewer mode all the time, which is an unproductive state to be
| in when actually writing code, which makes specifically Copilot
| less useful. You cannot use it to replace a no-code tool, because
| you must understand the language it's emitting.
|
| I find that proponents shift between whether its ideal use-case
| would be Copilot or no-code; any flaws with the one approach get
| interpreted from the perspective of the other, where they can be
| dismissed.
| LVB wrote:
| Having used Copilot for quite a while now, my feeling is that
| it simply is another (and for me faster) way to work. I've
| become used to its strengths, limitations and quirks, and find
| that even being in "reviewer mode" can still be quite a bit
| faster. There is a range of performance between stuff it
| reliably gets near perfect, and areas where it is so helpless
| that I just turn it off for a while. But I'm still in control,
| not blindly hitting tab. If I thought it was just fighting me
| or wasting my time I wouldn't be using it after all these
| months.
| jgerrish wrote:
| > You cannot skim the AI's code. Every word of it must be
| examined.
|
| I understand what you're saying. But be careful of this
| argument, it's susceptible to safety counter arguments.
|
| "Well, this person thinks we shouldn't carefully review all
| code. Do we want him working on our super-critical FarmVille
| clone?" (That part is of course ironic. It changes if you're
| working on medical devices.)
|
| A closely related argument is that the cost of the back-and-
| forth with a code submitter who submits buggy code is
| drastically higher. The hand-holding and teaching and
| encouragement is very expensive.
|
| Maybe that's acceptable to the person who posted this article.
| But it's a possible avenue of resource exhaustion attack if
| you're not careful.
|
| I'm sure AI will improve, with loving prompters. But some of
| the discussions around it seem dishonest, which is troubling
| (not you of course).
| jgerrish wrote:
| And I could see some social media companies incentivizing
| longer prompt sessions for engagement and eyeballs. Not
| necessarily OpenAI.
|
| Aka, the "Oopsy, I did a poo-poo! Dear User pays more
| attention to me when I smear it on the wall." mechanic.
|
| Sorry for the metaphor, just registering awareness.
| [deleted]
| caporaltito wrote:
| The guy should calm down. I mean, did he really used LLM for
| coding? Or even for asking the biography of someone famous? They
| are bullshit generators. Very high performant bullshit generators
| which outputs need to be carefully reviewed.
| HeavyFeather wrote:
| > Very high performant bullshit generators which outputs need
| to be carefully reviewed.
|
| So just like every one of your colleagues? Because that's what
| they are. These bots are your new colleagues and they respond
| directly to you, without complaining, exceeding your knowledge.
|
| Today I sent a PR fixing a bug in a language I don't know
| anything about.
|
| It worked. The bullshit worked.
|
| Then I tried working on top of that adding more features and
| lost the rest of the day. But hey it's still March 2023 and my
| colleague is still a junior. We should celebrate that they
| managed to fix a bug. I don't know where I'll be in March 2024.
| misiti3780 wrote:
| One of the interesting counter points that David Sacks mentions
| in the all in podcast if this is such a life-changing technology,
| why did OpenAI sell 49% (or some number near that) for 10B
| dollars. Presumably, the insiders know more than anyone else
| proto-n wrote:
| While the tech might be dominant in a few years, that doesn't
| mean OpenAI is also going to dominate.
| abatilo wrote:
| I wonder how much of it is legitimately just because this stuff
| is insanely expensive to run, and they needed the money?
| OnuRC wrote:
| I mean bad deal doesn't %100 mean it can't be huge in future?
| Bill gates had almost half of Microsoft stock at IPO, every
| investing decision he had did'nt replace that lost but
| Microsoft is still huge. There aree similiar examples in
| history.
| sebzim4500 wrote:
| Because while LLMs may be a life-changing technology, there is
| no guarantee that OpenAI specifically will continue to lead the
| pack.
|
| "If the internet is such a big deal, why isn't AOL worth more?"
| evanmoran wrote:
| I assumed it was to help get extremely low cost Azure compute
| and to grow faster now that Microsoft was going all in on GPT4
| with Bing & Office.
| josecyc wrote:
| Compute and distribution is my guess
| [deleted]
| precompute wrote:
| It's the government.
| 1970-01-01 wrote:
| Until an airplane falls out of the sky and the implicit trust of
| LLM's code is found to be a root cause. Then you get lawyers with
| LLMs to put your butt in jail!
| sebzim4500 wrote:
| I'm sure every LLM provider has in their TOS that it should not
| be used to write safety critical software.
|
| Like how itunes should not be used to design nuclear warheads.
| gloosx wrote:
| But according to author, it is not possible to write safety
| critical software at all. You just can't trust code. It runs
| randomly after being copied from StackOverflow or ChatGPT.
| satisfice wrote:
| I can't read this past the part where he ridicules and
| trivializes the issue of trust.
|
| Can I trust code that comes from StackOverflow? Yes. Not no. YES.
| That code has been vetted to some degree more than zero. Some
| human is taking a certain amount of responsibility for posting
| (an amount more than zero). And I understand the mentality and
| limitations of the people posting code there.
|
| But in point of fact, I don't know anyone who simply constructs
| entire systems from merely pasted code from StackOverflow, so
| it's a poor analogy.
|
| ChatGPT, by contrast is utterly irresponsible. I don't mind using
| it to blockbust through certain problems, but the idea of having
| it write my code and then simply presuming that it works (which
| all the commentators who laud ChatGPT do-- they just declare that
| everything is great without seriously testing it) is morally
| wrong. If I did that I could not be accountable for it.
|
| ChatGPT can do amazing things. What it can't do is be responsible
| for itself. That's why I want Congress to regulate its use.
|
| It has always been the case that humanity is divided into people
| who are comfortable with cheating-- happy to take whatever they
| can get without being jailed or killed-- and people who believe
| in a caring and lawful society. ChatGPT is a great gift to the
| cheaters, and it makes civilization all the more vulnerable.
| koheripbal wrote:
| > I can't read this past the part where he ridicules...
|
| ...ok, but then you missed the meat of the article.
| golergka wrote:
| > Can I trust code that comes from StackOverflow? Yes. Not no.
| YES. That code has been vetted to some degree more than zero.
|
| I've experienced critical production bugs by using the most
| voted answer on Stack Overflow. Here's the detailed
| description: https://github.com/golergka/pg-tx#why-use-this-
| package
| yoyohello13 wrote:
| This just proves the point that you should always know what's
| going into your codebase. I feel like the people who copy-
| paste from stack overflow and wonder why their stuff is
| broken are the same people who think LLMs can just write
| their whole codebase. It's laziness masquerade as
| productivity.
| jonahx wrote:
| It's funny to watch the dynamic described in the article play out
| exactly in this thread by posters who have not read the article.
| paganel wrote:
| Those beautiful English paragraphs "telling" ChatGPT what code to
| create are worse than programming.
|
| First of all, not all of us programmers are native English
| speakers, and, as such, we might miss some of the nuances of the
| English language itself and thus fail to get the most out of
| ChatGPT. For comparison, programming languages as they now exist
| are (natural) language agnostic.
|
| Second, how does ChatGPT correct for spelling errors? Or for
| language errors pure and simple? Is there a "compiler", or a pre-
| compiler for the English phrases which are about to get fed onto
| ChatGPT? Or at least a "language linter".
| time0ut wrote:
| I enjoyed reading this. Yegge is always a must read.
|
| Relatively little of what I do involves actually writing code
| these days. Far more time is spent understanding the problem,
| documenting, planning, building consensus, and other things.
|
| Will LLMs impact the way I write code? Yes. They already have. It
| isn't always right and needs some hand holding, but it greatly
| accelerates things. Like having a pair programmer that never gets
| tired and has all the libraries memorized. It is both wonderful
| and depressing depending on what I am working on. I fear that it
| will completely remove a large source of joy in my professional
| life.
|
| I'm more excited about how LLMs will impact the other areas. I
| can't wait to feed in some pile of documents from vendors,
| transcripts from meetings with clients, NIST white papers, and
| other similar things and have the model summarize all that crap
| in a coherent way for me. Soon I hope.
|
| Also, at the rate things are going, I wonder if I will need to
| switch careers. And if so, to what?
| mlboss wrote:
| Profession that require hands are still safe. Professional like
| Plumber/Electrician/Surgeon will be safe for some considerable
| future.
| yeldarb wrote:
| > But most of the engineers I personally know are sort of
| squinting at it and thinking, "Is this another crypto?" Even the
| devs at Sourcegraph are skeptical. I mean, what engineer isn't.
| Being skeptical is a survival skill.
|
| > Remember I told you how my Amazon shares would have been worth
| $130 million USD today if I hadn't been such a skeptic about how
| big Amazon was going to get, and unloaded them all back in
| 2004-ish.
|
| If you buy into the hype & think this wave is going to be
| equivalently (or 10x) as impactful as cloud computing, what's the
| equivalent to buying Amazon stock in 2003?
| WJW wrote:
| Buying shares in exactly the right company that will conquer
| the market, while avoiding the 99% of companies that look just
| as good right now but will fall by the wayside somewhere in the
| coming decades.
| [deleted]
| mistrial9 wrote:
| Amazon destroyed the used book business in cities across the
| Western world; I have never purchased a book from Amazon dot
| com. Is the world a better place with your $130 million fantasy
| money? at what cost
| SubiculumCode wrote:
| Unfortunately, it seems like its the big boys. Open AI is
| having its moment, but otherwise seems to be about the megas
| like Google & Microsoft.
| nico wrote:
| > If you buy into the hype & think this wave is going to be
| equivalently (or 10x) as impactful as cloud computing, what's
| the equivalent to buying Amazon stock in 2003?
|
| About ten years ago, a big VC partner gave a talk at Stanford.
| In his talk he asked the audience which company would be "the
| next Google". After hearing a few suggestions, he said the
| company hadn't even been started yet hence nobody could really
| know.
|
| Changes are happening so fast now, that I wouldn't be surprised
| if 6 months to 1 year from now, something comes out that kills
| GPT.
|
| It's very hard right now to tell who the winners will be.
|
| For now, if I had to choose (this is not financial advice),
| maybe betting on MS and NVIDIA could pay off in the short-
| midterm. But 2-5 years from now? Impossible to know.
| CuriouslyC wrote:
| I just want to second the (not financial advise) line, the
| market dynamics now are not favorable to taking these sorts
| of bets, particularly since both companies got run up in the
| pandemic.
| mgfist wrote:
| > something comes out that kills GPT.
|
| Can't even assume the LLM providers will be the big winners.
| LLMs can be replicated: https://pub.towardsai.net/meet-
| alpaca-stanford-universitys-i...
|
| for much cheaper than they can be built.
| joshspankit wrote:
| If the laws prohibit it (as they do in the case of Alpaca)
| then it doesn't really matter how cheaply they can be
| built: the resulting AI won't be able to be significantly
| monetized.
| nico wrote:
| But a lot of companies could just use it anyway.
|
| Use it now, pay for the consequences later. Not condoning
| it, just pointing it out.
|
| Things are moving so fast, that in 1-2 months there will
| be an open source or free version of a GPT-3 level LLM
| out. At that point they can swap out their illegal LLMs
| for the free/open one and done.
|
| OpenAI knows this and that's why they are working so hard
| in multi-modality - to be able to keep their edge.
| zamalek wrote:
| It's not a out making money, it's about making skills. You need
| tensor$ to make money. If you aren't using it and learning it
| daily you're going to be left behind in the knowledge wealth
| department.
|
| Get in late and you'll be catching up with experts on when and
| when not to use it, how best to use it, and how best to weed
| out the bullshit that it intersperses throughout the gold.
|
| There are more ways to skin this cat than Copilot alone. For
| example, asking ChatGPT questions, or plugins like
| CodeGPT.nvim, or some other future tool that you wouldn't
| otherwise be considering.
|
| Remember how strong Google-fu was almost a superpower (still
| somewhat is, to be honest)? We're currently in the PageRank
| days of ML.
| skybrian wrote:
| I agree that you need to dive in if you want to take
| advantage of current opportunities.
|
| On the other hand, some skills could go obsolete pretty
| quickly. People new to the game will be able to avoid
| previous mistakes and skip the old stuff. It seems unlikely
| that future college grads will be missing out due to lack of
| experience?
| WJW wrote:
| You know who made even more money than people who knew how to
| use Google? The people who owned Google. That is what GP was
| asking about, how to become someone who owns the LLM that
| everyone will ask their questions to.
| zamalek wrote:
| I address that in the first paragraph. You need a lot of
| money (tensor ops) to make money using LLMs. You're going
| to depend on the big players no matter what.
|
| I don't think LLMs are good enough yet for embedding into
| apps - or we (tech employees) don't have enough experience
| with them to be able to innovate them into an end-user
| product, but I'm open to being wrong about that.
| aftbit wrote:
| If the author had bought Bitcoin back in 2010 instead, and held
| them through all the chaos to this very moment, they would have
| approximately 20000x their initial investment. I'm not sure
| what, if anything, that says about crypto being a fad, rather
| than just cherry-picking historical examples.
| skybrian wrote:
| I think what he meant is that it didn't change software
| engineering. Not that many people write code that touches
| cryptocurrency in some way.
|
| If you worked on cryptocurrency software, how useful is that
| experience now?
| [deleted]
| softwaredoug wrote:
| Great essay by Yegge as always.
|
| I have worked in the search space for a long time. And cherry
| picked examples of obvious wins, some NLP thing being smart, are
| _rife_. You get worked up about that one time something
| spooky/incredible happened and think the world is
| changing/ending.
|
| What I would like to see is an actual, independent, reproducible
| study of productivity gains on specific tasks. I've not seen this
| yet. I'm curious if anything is out there?
| solsane wrote:
| Have you played with ChatGPT or GitHub copilot? 5 years ago,
| I'd agree with you, but nowadays, 'cherry picked wins' happen
| far more often than not in my experience.
| ModernMech wrote:
| The thing about it is the distribution of wins is going to be
| different depending on the prompter, and that will make all
| the difference. As experienced devs, we can prompt the AI,
| and take the wins when they come, but deftly avert the
| nonsense when we see it, because we know what to look for.
| For experienced devs like you and I, this is a huge win and
| will result in productivity gains.
|
| I worry for the junior dev. They can take the wins and feel
| good, but they're going to fall for the nonsense every time,
| because they don't k ow how to spot it. Junior devs are fed
| lies and they take them to be truths. Hopefully they are
| dispelled immediately when they are tested in code, but other
| lies will persist and be sold as truths. I am worried this is
| a bigger problem than people might think, cause it's a
| feedback loop that can lead to a vicious cycle. We see what
| vicious cycles have done to social media, and social spheres,
| imagine what one will do to software systems.
|
| Next year we'll be graduating students who started college
| during the pandemic. I would say their programming skills are
| quite atrophied compared to previous generations. Now I'm
| worried in four years we'll be graduating students who
| started high school in covid times and started colleges using
| AI chat bots. Who knows if these graduates will even be able
| to do anything close to what students even 2 years ago could
| do. They'll all just blankly stare and reach for their
| iPhones like they do today, but exponentially worse because
| they won't even be able to formulate the search prompt.
| They'll need AI for that too.
| softwaredoug wrote:
| Yes, quite extensively. It was quite good. I'm very
| enthusiastic about it. I just want some data other than my
| n=1 experience.
| callahad wrote:
| GitHub did some research around productivity with Copilot. They
| discuss the results and link out to other research at
| https://github.blog/2022-09-07-research-quantifying-github-c...
| muskmusk wrote:
| Thank you. Glad to hear i am not the only one who sees this :)
| Dowwie wrote:
| William Gibson once said, "The Future is already here. It's just
| not evenly distributed."
|
| I tried out Github Co-pilot with Rust and with Elixir. Co-pilot
| did some things well and other things were horrible. It often
| recommended Ruby code snippets as Elixir and suggested
| implementation based on APIs that didn't even exist. When
| different libraries have APIs and modules similarly named, Co-
| pilot would share an API as if it were a universal truth. What an
| underwhelming experience.
|
| Skepticism of AI code generation is the result of trying it out
| and finding the AI tool failing to meet our expectations. It's
| not unfounded skepticism but that which is based on anecdotal
| experience. Herein lies the problem. Programmers are experiencing
| far better experiences with Co-pilot in other languages. As to
| what those languages are, I'd like to know, but if you're
| experiencing _the future_ today, I 'd like to know what your
| workflow involves.
| valine wrote:
| For me the most impactful use case is prototyping small apps
| that I sort of know how to build, but don't know the relevant
| libraries off the top of my head.
|
| My most recent example: I got an Onnx file from a guy with a
| small machine learning model, that for various reasons he
| needed to run on an android tablet. I had never used the Onnx
| inference library on android and only had a vague idea of how
| to pull it in. Without ChatGPT that prototype probably would
| have taken me 5 or 6 hours to throw together. I'd need to look
| up the maven repository, research the API, figure out the
| syntax for creating tensors in Kotlin, write methods for
| loading android resource files, ect.
|
| With ChatGPTs help it took maybe half an hour. Nothing about
| the code it produced was complicated, the time save came from
| not having trial and error my way through learning the library.
| Vanclief wrote:
| > LLMs aren't just the biggest change since social, mobile, or
| cloud-they're the biggest thing since the World Wide Web. And on
| the coding front, they're the biggest thing since IDEs and Stack
| Overflow, and may well eclipse them both.
|
| I personally feel the technology is over-hyped. Sure, the ability
| of LLMs to generate "decent" code from a prompt is pretty
| impressive, but I don't think they are biger than Stack Overflow
| or IDEs.
|
| So far my experience is that ChatGPT is great for generating code
| from languages I not proficient in or when I don't remember how
| to do something and I need a quick fix. So in a way it feels like
| a better "Google" but still I would rank it as inferior than
| Stack Overflow.
|
| I am also hesitant about the statement that it makes us 5 times
| as productive because we only need to "check the code is good"
| for two main reasons:
|
| 1. It is my belief that if you are proficient enough in the task
| at hand, it is actually a distraction to be checking "someone
| else code" over just writing it yourself. When I wrote the code,
| I know it by heart and I know what it does (or is supposed to
| do). At least for me, having to be creating prompts and then
| reviewing the code that generates is slower and takes me out of
| the flow. It is also more exhausting than just writing the thing
| myself.
|
| 2. I am only able to check the correctness of the code, if am am
| proficient enough as a programmer (and possibly in the language
| as well). To become proficient I need to write a lot of code, but
| the more I use LLMs, the less repetitions I get in. So in a way
| it feels like LLMs are going to make you a "worse" programmer by
| doing the work for you.
|
| Does anyone feel that way? Maybe I am wrong and the technology
| hasn't really clicked for me yet.
| ResearchCode wrote:
| I didn't get five times as productive yet. It's something
| closer to a few percent or less, which makes LLMs about as
| useful as syntax highlighting. It's nice to have, but not
| essential.
|
| We will see in a few years.
| hdjjhhvvhga wrote:
| Nobody can deny the fact that ChatGPT can easily generate
| solutions for bazillions of relatively simple problems in
| various programming languages. What bothers me is how often it
| is completely wrong and how confident it is about its solution.
|
| A sample example. I asked it to generate Terraform code for
| registering an organizational unit in AWS Control Tower. This
| is impossible because the API of Control Tower is very limited.
| But ChatGPT was very happy to generate a solution pretending to
| use the official AWS module with a made up resource. Of course,
| the "solution" was not working at all. But if I ask it to do a
| trivial task, such as attaching an OU to an organization using
| AWS Organizations, it can do it perfectly well. And this, for
| me, is the difference between a human programmer and a machine
| that is good at certain tasks.
| twelfthnight wrote:
| I think there are ways in which LLMs will be very important,
| especially if we are able to get access to raw models
| /embeddings. That will let the models be extended to create new
| models and use cases. For example, personally I want to search
| Google and not ask a chatbot questions. LLMs could still be
| useful for identifying SEO spam and removing it from search
| results. Thus LLMs improve search but aren't giving me a
| watered down summary of everything I'm looking for.
| senko wrote:
| I'm quite proficient in Python and Django (main tools I use
| daily).
|
| Yet I find myself asking ChatGPT every now and then "hey how do
| I do <foo>", where <foo> is something I last needed to do a
| year or more ago. I can recognize the correct answer but don't
| need to search docs/net for it.
|
| The reason this is faster (for me) than Googling or using
| Dash/Zeal is that the answer is already in the context of what
| I'm trying to do, whereas if I'm only looking at the docs, I
| will probably need to go through several pages to get a
| complete picture.
| Idiot_in_Vain wrote:
| The current ChatGPT is just a preview of what's possible. 2
| years from now it will be able to create a DB, a set of
| microservices and web and mobile frontends, deploy these on a
| cloud platform and app stores and test them, all from a 30 min
| chat with a person, going over a business idea on very high
| level.
|
| Think about for example how Windows 1.0 looked. For an
| expirienced DOS user it was offering very little. Expirienced
| DOS users were saying GUIs are over hyped. Today there are
| probably a few dozen people worldwide who use a computer
| without a GUI (or a voice interface).
|
| ChatGPT&Co will obviously make 90% of the software developers
| out there obsolete in just a few years. An industrial
| revolution is happening in the software industry.
| pjungwir wrote:
| In my experience programmers _hate_ to read each other 's code.
| That's why rewrites are so popular. Do they really want to read
| an AI's? I bet the AI writes even worse comments your
| predecessor.
|
| One of the more toilsome bits of coding I do personally is
| rebasing. I have a patch to add application-time temporal
| tables to the Postgres project, and I've been rebasing it for
| several years now. It's a pretty big patch (actually a series
| of four patches), so there are almost always non-trival
| conflicts to deal with. If ChatGPT could do that for me it
| would be awesome.
|
| But it's probably the hardest thing for an LLM to do. It's not
| a routine program that has been written thousands of times
| across Github projects and StackOverflow posts. Every rebase is
| completely new.
|
| OTOH it would be awesome if git had just a bit more
| intelligence around merge conflicts. . . .
| Vanclief wrote:
| At least the AI won't complain about the refactor haha
| droopyEyelids wrote:
| It was trained on human data about the same subject so we
| have every reason to expect it'd complain
| zubspace wrote:
| What I would like to see is an AI which actively or passively
| assists you, like an improved Intellisense. Something which
| looks over your shoulder, figures out what you're trying to
| achieve and points at errors in your reasoning or stuff you
| did not consider.
|
| It can summarize the thing you're looking at, tell you how to
| improve it regarding readability and performance.
|
| On a press of a button you can zoom out of the code into an
| UML like overview and it will tell you what's going on and
| how it is connected. If you don't get it, it knows how to
| make you understand.
|
| Then you can tell it in a few words what you want to achieve
| and it will assist you in finding a solid solution which
| matches the coding style of the rest of your project. And
| while you're coding and lose sight, it will help you achieve
| the goal.
|
| The current state is sub-par in my opinion. I can write good
| code and don't need an AI to write it for me. But what I want
| is something which assists me with understanding code,
| improving code or extend code without taking the steering
| wheel away from me.
| jemmyw wrote:
| Your first point I agree with, I've already encountered
| chunks of AI generated code and I don't want to read them.
|
| Second point about the comments, actually I'm seeing the AI
| write much better comments (i.e. some) than most devs (none).
| BWStearns wrote:
| I've found it to be extremely useful when _either_ you know the
| language really well but you're kind of exploring some new
| domain, or when you know the domain really well and you're new
| to the language.
|
| When you know both it's just really good autocomplete, which is
| great but not a huge game changer. If you know neither then
| you're not in a position to assess the output. But when you're
| still learning either the tool or the space I've found GPT to
| be a good tool for leveraging one expertise to create the
| other.
| LeftHandPath wrote:
| I agree - it's hard to enter a flow state while reviewing
| someone else's - or some AI's - code. That's a major reason why
| I haven't started using LLMs for code, personally.
|
| I am glad someone else feels this way. Maybe it's not going to
| be as big a paradigm shift as I originally expected.
| actionfromafar wrote:
| It will probably raise the floor a lot. The least competent
| (not meaning in a bad way! I was one of those) coders will be
| a lot more competent all of a sudden.
| uoaei wrote:
| I'm skeptical. It's easy to make something sound correct at
| a first glance but that has subtle fundamental flaws that
| invalidate it.
|
| Knowing humans and the LGTM phenomenon, these kinds of
| issues will slip by quite readily.
| avereveard wrote:
| Code requires too much precision and is entangled with legal
| hurdles
|
| The value here is that the llm can act as a knowledge graph
| were common sense is preloaded on almost every topic, so that
| the user can add node and edges on the graph in natural
| language and perform extraction in natural language
|
| And you don't need fine tuning as long as you can fit the topic
| in their token space, and with gpt4 reaching 32k tokens you can
| load a huge amount of text and perform queries on it.
|
| That's what makes the tax return example so interesting. The
| model has already learned a lot of common and uncommon sense so
| it will not need the instruction on how to process the text or
| parse the query.
|
| Forget coding, but everything else is great for.
| nine_k wrote:
| These are good points.
|
| I think though that LLM-based tools will eventually formalize
| to achieve a greater precision at what's required. I suspect
| that they could be a base for a new crop of different, much-
| higher-level programming languages.
|
| Programming languages went a long way; somebody from 1960 would
| have hard time putting things like Haskell or even SQL into the
| same conceptual bin as the original Fortran. We routinely see
| them as programming languages though. I don't see why this
| trend can't continue upwards, relegating even more legwork onto
| the machine while talking to it in reasonably precise,
| standardized, domain-specific terms.
| chordalkeyboard wrote:
| Yes to 1. and 2.
| redleggedfrog wrote:
| "Does anyone feel that way? Maybe I am wrong and the technology
| hasn't really clicked for me yet."
|
| No, I'm trying mightily to do what Yegge is talking about in
| the context of the programming work I do everyday. First v3
| then v4. I've given up until maybe v7 or something.
|
| The problem is it doesn't have experience with my code-base.
| Sure, tell it to open a file and return a stream, it'll do that
| (after I fix the using statements), but for what I'm doing
| every day it doesn't even begin to know what to do.
|
| And because I'm careful about KISS and SOLID I don't really
| need a lot of simple code generation. I don't see 5x
| productivity. I actually don't see much advantage over the
| built in tools in VS.
|
| Maybe I'm doing it wrong, or maybe this make sense for people
| who write a lot of boilerplate, but that's not a lot of what I
| do.
| aglavine wrote:
| just imagine LLMs output as input to any other device.
| manmal wrote:
| > To become proficient I need to write a lot of code, but the
| more I use LLMs, the less repetitions I get in. So in a way it
| feels like LLMs are going to make you a "worse" programmer by
| doing the work for you.
|
| You will definitely learn from LLM suggestions. The mantra
| ,,Read other people's code" is accurate IMO - as long as the
| code is at least ok-ish. I've learned a ton from code that
| ChatGPT generated for me already.
| counttheforks wrote:
| To me it's so funny when people say ChatGPT will make
| developers 5x more productive, because those people are
| basically just admitting they're not good at their jobs and
| assume the same holds true for everyone.
| micromacrofoot wrote:
| not really, this is more like having a strangely knowledgable
| yet naive junior employee - I can tell gpt-4 to put something
| together that gets me 90% of what I need faster than I could
| possibly even type it, it's reducing my known tasks
| yoyohello13 wrote:
| > To become proficient I need to write a lot of code, but the
| more I use LLMs, the less repetitions I get in. So in a way it
| feels like LLMs are going to make you a "worse" programmer by
| doing the work for you.
|
| I've been experiencing this myself recently. I've been using
| co-pilot in some side projects. I've noticed myself getting
| more 'lazy' as I use it more.
|
| Recently I used it when doing some old (2015) advent of code
| puzzles I hadn't done before. I would read the puzzle prompt
| and have a pretty good idea of what I wanted to do. I wrote out
| some comments for functions and co-pilot was able to write what
| I needed with minimal changes.
|
| Even though I read through co-pilot's code and understood what
| it was doing I don't feel like I really retained anything from
| the time spent. If anything, I feel like co-pilot stunts my
| learning.
| ravenstine wrote:
| > 1. It is my belief that if you are proficient enough in the
| task at hand, it is actually a distraction to be checking
| "someone else code" over just writing it yourself. When I wrote
| the code, I know it by heart and I know what it does (or is
| supposed to do). At least for me, having to be creating prompts
| and then reviewing the code that generates is slower and takes
| me out of the flow. It is also more exhausting than just
| writing the thing myself.
|
| I'm sure there were programmers who said the same thing in
| regards to high-level programming languages.
|
| > 2. I am only able to check the correctness of the code, if am
| am proficient enough as a programmer (and possibly in the
| language as well). To become proficient I need to write a lot
| of code, but the more I use LLMs, the less repetitions I get
| in. So in a way it feels like LLMs are going to make you a
| "worse" programmer by doing the work for you.
|
| Maybe that becomes irrelevant the more that the skill of the
| programmer shifts from handwriting "correct" code to
| _supervising_ code generators while proofreading their work,
| and of course providing effective acceptance criteria. There 's
| also a massive bias towards failed predictions of the past that
| serves to discredit predictions that may see a greater degree
| of manifestation. For every time someone says "but people
| predicted this before and it didn't pan out", I can point to
| technology that _did_ fundamentally change how an industry
| works and even make jobs obsolete.
|
| Seems to me a lot of programmers on HN are refusing to believe
| that their ability to be proficient with code may be either
| outdated or supplanted by the efficiency of a system that
| writes code that is not necessarily "elegant" in human terms.
|
| > So in a way it feels like LLMs are going to make you a
| "worse" programmer by doing the work for you.
|
| Most programmers aren't great at what they do to start with,
| whereas LLMs can only get better from here on.
| basch wrote:
| I think this is mistaking the current .01 iteration with what
| the technology will be able to achieve. All sorts of
| groundbreaking technology looks like a minor improvement over
| the previously refined version until it gets implemented in a
| way that takes advantage of its strengths, as opposed to just
| being plugged into old workflows.
|
| LLMs cannot be judged by their first few incarnations. What
| _can be_ trained into them currently exceeds imagination.
| Imagination is our limiting factor.
|
| And I don't say that from the context of "I jumped on the hype
| train at the end of last year". I remember reading the 2017
| Google transformer paper and thinking "whoa, this is really
| happening." The fact it happened in only 5 years is pretty
| impressive. Im not sure many papers or innovations got my mind
| spinning quite like that one.
| cornholio wrote:
| But there is an unanswered question of how far this
| technology can go based on its fundamentals. Coding is much
| like driving, you can't do 80% and let the human do the final
| 20%, because that final 20% requires reasoning about a well
| understood design that was implemented throughout the first
| 80%.
|
| If your fancy AI coder thingy can't really reason about the
| end task that the code is solving - and there is little to
| indicate that it does, or that, any moment now, technology
| will advance to the point that it will - then the 80% will be
| crap and there exists no human that can finish the last 20%,
| not even if they put up 200% of the effort required. We still
| don't have a working AI solution for driving, a well
| understood and very limited problem domain, never-mind the
| infinite domain of _all problems that can be explained in
| natural language and solved with software_.
|
| What you end up with is a fancier autocomplete, not an AI
| coder. Boilerplate and coder output might simply increase to
| take advantage of the new more productive way of generating
| source code, just like they did for the last decades whenever
| there was a "revolutionary" new tech, like high level
| languages, source control, IDEs and debuggers, component
| distribution etc. etc.
| seeEllArr wrote:
| [dead]
| basch wrote:
| You're already limiting your imagination to "coding."
|
| These are data transformers that can transform raw data
| without coding at all. At what point does a model itself
| replace code?
|
| It's sort of like a CPU, right. You can have hardware that
| specialized, or general purpose hardware that can do
| anything once instructed. LLMs have the ability to be
| general purpose data manipulators without first having to
| be designed (or coded) to perform a task.
| cornholio wrote:
| Ok, but then you completely give up the ability for human
| actors to understand and fine-tune the process. It would
| necessarily be a stochastic product: we don't know
| exactly how it works, it seems to output correct results
| in our testing but we can't guarantee it won't cook your
| dog in the microwave.
| pjc50 wrote:
| > data transformers that can transform raw data without
| coding at all
|
| How do you know this is 100% reliable, per upthread
| discussion?
|
| We've already had this problem with Excel in various
| sciences, which while deterministic has all sorts of
| surprising behaviors. Genes had to be renamed in order to
| stop Excel from mangling them:
| https://www.progress.org.uk/human-genes-renamed-as-
| microsoft...
|
| AI promises "easier than Excel, but not deterministic".
| So more people are going to use it to get less reliable
| results.
| debatem1 wrote:
| Weird argument. Excel is one of the most popular and
| profitable programs of all time. If your argument is that
| LLMs are like Excel, the logical conclusion would be that
| they would be wildly successful.
| pjc50 wrote:
| Quite possibly. But not 100% reliable.
| Idiot_in_Vain wrote:
| And humans are of course 100% reliable...
| basch wrote:
| Isn't it deterministic with the temperature turned down?
| You can control when it gives a precise vs fuzzy answer.
| basch wrote:
| I didn't say "LLMs solve all problems" or "there will be
| no place anywhere for code anymore."
| cmcconomy wrote:
| okay - how do you distinguish between scenarios where
| it's appropriate and where it's dangerous?
| Footkerchief wrote:
| There are two contexts in my experience where it's been
| important to get the numbers exactly right:
|
| 1. Cherrypicking sports statistics for newly set records
| and the like (NB: this is not lucrative)
|
| 2. Financial transaction processing
|
| In most other contexts, especially analytics and
| reporting, nobody cares and nobody is going to check your
| math, because the consumers are just trying to put a
| veneer of numeracy on their instincts.
| Vanclief wrote:
| I completely agree that groundbreaking technologies come from
| an iterative process. However in the case of LLMs I believe
| we are already at a point where we can judge where the
| technology is going as its not the first iteration. Sure it
| will keep getting better and I think that its already a very
| useful tool.
|
| My problem with it is that they are over hyping its
| capabilities and trying to market it as "it makes developers
| 55% faster" because it writes the code for them. I think it
| would be a better approach to market it as a great tool for
| automating repetitive tasks and a better way to consume
| documentation.
| safety1st wrote:
| How would you respond to the central premise of the
| article? Which I understood as:
|
| * There may not be a lot of differentiation between
| different LLMs in the long run
|
| * Where there is differentiation, is in data (both the data
| used to train it and the data provided within its context
| window for a given query)
|
| * Ergo marrying search to the LLM, while currently in its
| infancy, will be a big deal and a big differentiator --
| because if you can quickly find the right data to pack into
| the context window, you will get much better results than
| what we're seeing today.
| anigbrowl wrote:
| I've stopped using Stack Overflow almost completely (vs 10
| times a day) and I don't miss it.
| cabirum wrote:
| The keyword is "hype". It seems like any new "thing", no matter
| how useless, will get its hype cycle rolling.
|
| Crypto, NFT, Blockchain, AR, Metaverse, -- from the top of my
| head -- now AI. The point of hype is to attract investment. Big
| Corps must be driven by the fear of missing out on yet another
| world changing shiny new thing.
| ctoth wrote:
| Is your assertion that because there have been other hyped
| things in the past, that nothing which is spoken of
| positively will ever actually be useful? Because you're gonna
| miss some pretty big stuff with those sort of glasses on. You
| know what else was hyped? Most everything you use today.
| Sometimes people use something and are absolutely blown away
| by it and are excited to talk about it. Not everything is
| 100% fake yet, I promise.
| macNchz wrote:
| I think there is a degree of fatigue from the stream of
| breathless "this is going to change the world, if you
| disagree you're wrong or don't understand, and if you don't
| participate you'll wind up poor" takes. We're barely one
| year out from nearly identical language around NFTs and
| "web3".
|
| IMO these AI technologies have obviously more tangible
| utility than some of the other hyped things on the list,
| however a lot remains to be seen about where they go.
| gsatic wrote:
| It is overhyped (thanks to every rando broadcasting how amazed
| they are). There is no causal learning happening. The randos
| will takes their own sweet time to work it out.
| 908B64B197 wrote:
| > only need to "check the code is good"
|
| ... because we all know proving correctness is the easy part of
| writing software!
|
| I can't wait to read about software engineers finding out some
| MBA had a huge codebase written by a language model and a few
| offshored contractors only to realize it's incredibly bugged
| and being hired to "just go and find the mistakes the error the
| ai made, should be easy all the code is written".
| mtrycz2 wrote:
| It can appear reasonably smart on the surface, but all it is is
| a stochastic parrot. It cannot _reason_ with you about the
| code.
|
| To best illustrate what I mean, watch this chess match[0] it's
| quite riveting.
|
| Since it read millions of matches, it can predict a legal move
| most of the time, and even some good moves some of the time,
| but it cannot "understand" the rules of chess, and makes some
| hilariously illegal moves, especially if the match lasts
| longer.
|
| [0]
| https://www.reddit.com/r/AnarchyChess/comments/10ydnbb/i_pla...
| Verdex wrote:
| On a similar vein, I tried to get chatgpt to play wordle. The
| result looked something like:
|
| Me: crane
|
| GPT: _ _ _ _ e
|
| Me: moist
|
| GPT: _ _ _ r _
|
| Me: glyph
|
| GPT: you guessed it, the word was glyph
|
| Now, maybe GPT 4 or other future developments will give
| better results, but to me this highlights exactly what you're
| saying. LLMs do not have an internal structure in their
| 'minds' that they're pondering about. It's a very impressive
| engine for guessing the next character to produce into a
| stream.
|
| There's definitely usages for this, but not what a lot of
| people are saying.
| shagie wrote:
| As a slight correction, it isn't next _character_ but
| rather next _token_.
|
| https://help.openai.com/en/articles/4936856-what-are-
| tokens-...
|
| > Tokens can be thought of as pieces of words. Before the
| API processes the prompts, the input is broken down into
| tokens. These tokens are not cut up exactly where the words
| start or end - tokens can include trailing spaces and even
| sub-words. Here are some helpful rules of thumb for
| understanding tokens in terms of lengths:
|
| > ...
|
| > Wayne Gretzky's quote "You miss 100% of the shots you
| don't take" contains 11 tokens.
|
| https://platform.openai.com/tokenizer
|
| It isn't going character by character, but rather token by
| token - both for input and for output.
|
| This also helps explain why it has trouble with breaking a
| word apart (as in the case of wordle) because it doesn't
| "think" of glyph as 5 letters but rather two tokens that
| happen to be 'gly' and 'ph' with the ids of [10853, 746].
| mtrycz2 wrote:
| > you guessed it, the word was glyph
|
| My pet conspiracy theory is that is is wired to _please_
| the user, to get better coverage from the media and social
| media.
| codetrotter wrote:
| I don't think so. In Wordle you have to guess the word in
| six attempts. It's a fun game and often simple.
|
| So it could be that ChatGPT picked up on a pattern in the
| training data where after a couple of guesses, a lot of
| the time people pick the right word.
|
| So statistically it might go like. Guess a word. Probably
| not the right one. Guess a couple more and suddenly it's
| statistically likely to be the correct word, and because
| of that the LLM ends up outputting the congrats and so on
| tome wrote:
| I think there's something to this. I have a theory that
| LLMs are implicitly trained primarily to impress people,
| since that's what motivates those who work on them,
| excites the general public, and convinces conferences to
| publish papers.
| skybrian wrote:
| This an interesting example because, due to the API being
| stateless, it cannot have any solution "in mind." It's
| going to reply as if someone else started the game and it's
| taking their place for the current turn.
|
| Even if it reasoned ideally, it has to check if your answer
| is consistent, and if it is, decide whether to let you win
| or to find another solution. If your answer is
| inconsistent, it effectively has to play wordle by thinking
| of another answer.
|
| It doesn't seem all that surprising that it didn't figure
| it out.
| cocoflunchy wrote:
| I tried to get it to remember its word by asking it to
| give it to me in b64: (GPT-4)
|
| > We will play the word game wordle. Start by picking a 5
| letter word. Display it in b64 so I can check later that
| you kept the same word all along. I will submit my
| guesses and you will show the letters that are correct,
| we will keep going until I have found the word
|
| > Great, I've picked a 5-letter word and encoded it in
| base64. Here's the encoded word: Q2l0eWw=. You can now
| start submitting your guesses!
|
| But after a few tries it was clear it was not working so
| I gave up:
|
| > I give up, what's the word?
|
| > Before I reveal the word, let me first decode the
| base64 string I provided earlier to ensure that I'm
| giving you the correct word. The base64 string was:
| Q2l0eWw=. After decoding the base64 string, the word I
| chose is "citly". However, I apologize for the confusion
| caused during the game, as "citly" is not a valid English
| word. I made an error while choosing the word. Please
| accept my apologies for any inconvenience caused during
| the game.
|
| However asking it for a python program to play the game
| worked perfectly the first time, try it here:
| https://replit.com/@CorentinSmith1/gpt-wordle#main.py
| hirundo wrote:
| It is humbling, if not humiliating, that a stochastic parrot
| can reproduce such a significant chunk of human intelligence.
| The association elevates stochastic parrots more than it
| denigrates LLMs.
| medvezhenok wrote:
| (1) GPT-4 already had a large improvement over ChatGPT
|
| (2) Changing the prompting reduced the illegal moves to
| almost 0
|
| (3) There have been experiments that show GPT has a internal
| "state" of the world and can do simple reasoning puzzles.
| This model of the world evolves with each generation.
|
| I understand the skepticism, but don't let that blind you to
| the reality of the technology. I'm a skeptic at heart, and I
| could immediately tell GPT was a game-changer. It can already
| replace half of the ML models that are used at my job and do
| it better (if it was economical enough).
| seeEllArr wrote:
| [dead]
| Vanclief wrote:
| Exactly and I personally think that will always be the
| largest limiter to how good can the technology get. No matter
| how good the stochastic parrot gets, its still a parrot.
| abhaynayar wrote:
| The technology hadn't clicked for me either. Today I had to
| write a script for which it would have taken me maybe 30
| minutes or so on my own. I asked ChatGPT (GPT-4) to write it
| for me, and it got it right in the first try. I just spent a
| few minutes checking over the code.
|
| It truly is magical when the code just runs. Later I asked it
| to make several non-trivial changes to the code based on more
| requirements I thought of, and it aced those on the first go as
| well. Again, I checked the code for a negligible amount of time
| - compared to how much it would have taken me to write the code
| on my own.
|
| I do think humans will slowly get worse at lower-layers of the
| computer stack. But I don't think there's anything inherently
| bad with it. Compilers are also doing the work for you, and
| they are making you bad at writing assembly code - but would
| you rather live in a world where everyone has to hand-write
| tedious assembly-code?
|
| Maybe, in the future, writing Python would be like what writing
| assembly is today. We might go down the layer-cake once in a
| while to work with Python code. That does not mean we give up
| on the gains we get from whatever layers are going to be put on
| top of Python.
| rakejake wrote:
| The compiler is a deterministic tool (even undefined
| behaviour is documented). So you can spend some time
| understanding the abstractions provided to you by your
| compiler and then you know exactly what it is going to do
| with your code.
|
| What is the equivalent of this for LLMs? Is there anyway
| generative models can give a guarantee that this prompt will
| 100% translate to this assembly? As far as I understand, no.
| And the way autoregressive models are built I don't think
| this is possible.
|
| I agree that they are useful for one-offs like you said, and
| their ability to tailor the solution for your problem (as
| opposed to reading multiple answers on stackoverflow and then
| piecing it yourself) is quite deadly, but for anything that
| is even slightly consequential, you are going to have to read
| everything it generates. I just can't figure out how it
| integrates into my workflow.
| [deleted]
| bee_rider wrote:
| The article compares to Stack Overflow, but this comment
| makes it look more like a comparison to _compilers_ which is
| a much bigger deal than some website, and actually worth
| paying attention to.
|
| Anyway, people still write assembly kernels, so it is just
| that they only do it for cases that really matter. And there
| are a lot more coders than there were back when every program
| was assembly. So, it seems like great news.
| layer8 wrote:
| This is nice, but if you actually _like_ writing code, rather
| than instructing someone in natural language what you want to
| have written, then this is not an attractive prospect.
|
| It's like telling a novelist that they can produce novels
| much faster now because they only have to think of the rough
| outline and then do some minor editing on the result. For
| most, this is antithetical to why they became a novelist in
| the first place.
| droopyEyelids wrote:
| You're talking about the distinction between doing
| something because you love it and doing something as a
| means to an end.
|
| It's a funny distinction! Knowing something can be
| automated can take some of the fun out of it, but there are
| plenty of people who still do stuff for fun when they could
| buy the end result more cheaply.
|
| For employers, though, it's all a means to an end. Go write
| for the love of it on your own time.
| layer8 wrote:
| Except that many people don't get into their profession
| as a mere means to an end. They chose the profession
| because they like it, and they want to spend their lives
| doing stuff they enjoy. Being employed just as means to
| an end is not worth the large amounts of time you spend
| doing it, if you can help it in any way. Let's not
| normalize a dystopia here.
| droopyEyelids wrote:
| The dystopia is already normal.
|
| The firm can't really afford to care too much about why
| its workers entered their professions. The firm has to
| care about the cost of its inputs and margin lest it be
| devoured by a competitor or private equity.
| shagie wrote:
| And else thread from a couple days ago...
| https://news.ycombinator.com/item?id=35235534
|
| > I was recently laid off, and I know a few other people
| laid off. I have years of doing projects and contributing
| to OSS and being a technically curious learner. I found a
| new job much faster than my peers who admittedly joined
| tech for the money and don't care to learn or grow beyond
| their next pay raise.
|
| There is a fairly consistent chorus of people getting
| into software development - not because they enjoy the
| intellectual challenge that it presents but rather
| because of the potential for the pay.
|
| As someone who does enjoy software development (I chose
| this path well before the dot com boom), I believe that
| we over-estimate the number of people who enjoy it
| compared to just grinding through writing some code and
| if something else paid as well, they'd jump in a
| heartbeat.
| tough wrote:
| Your reply might get me to pay OpenAI to use GPT4 lol
| xbmcuser wrote:
| look at what the web was 20 years ago and then look at what it
| is now. I dont get why people in the tech field where there
| advances every year look at gpt and say oh it does not do this
| or that like wtf is the tech stagnant will it not improve. You
| guys should be the ones that say if it can do this today how
| will it improve what it will be able to do tomorrow. Most
| advances come when there is war/competition in the next decade
| 100s of billions will be spend on this do you really think
| their will be no improvement?
| lionkor wrote:
| Im sure you have a good point, but its difficult to grasp
| with such hasty writing :/
| qsort wrote:
| I don't quite know how to put it, what follows is a rough draft
| of an idea, maybe someone can help me to reword it, or perhaps
| it's trash.
|
| Since its inception, computer science has had two "camps":
| those who believe CS is engineering, and those who believe CS
| is mathematics. The reason why we are seeing all of this fuss
| around LLMs is that they are a new front of this feud. This
| "extends" the usual debate on emerging technologies between
| Thymoetes and Laocoon.
|
| Something that works 99 times out of 100 is 99% correct from
| the first perspective and 100% wrong from the second.
|
| LLMs are therefore a step forward if you take the first view, a
| step back if you take the second.
|
| If you accept this interpretation, an interesting consequence
| of it is that your outlook on LLMs is entirely dependent on
| what amounts to your aesthetic judgement.
|
| And it's very hard not to have rather strong aesthetic
| judgements on what we do 40 hours a week.
| canadianfella wrote:
| [dead]
| saurik wrote:
| The issue I see with attempting to claim that these are
| merely differences of opinion is that it only takes a single
| bug in your code for someone well-versed in exploitation to
| not just steal all your data but often replace your entire
| program with their own evil one. I spend quite a lot of my
| outreach efforts essentially having to explain to the people
| who think software development is somehow unrelated to math
| that once you accept a bug into your codebase the effects
| tend to be as non-local as accepting "1+1=3" into a math
| proof, resulting in lost privacy, lost money, or even lost
| lives.
| Nevermark wrote:
| Camp 3: Those of us who have viewed coding as a craft.
|
| Math - the study of well defined concepts and their
| relationships. Solving problems with proofs.
|
| Engineering - solving well characterized problems based on
| math and physics (which can include materials with known
| properties, chemistry, approximations, models, ...), and well
| defined areas of composability (circuits, chemical processes,
| structural design, ...)
|
| Craft - solving incompletely characterized problems with
| math, physics, engineering and enormous amounts of
| experience, intuition, heuristics, wisdom, patterns, guesses,
| poorly understood third party modules, partial solutions
| pulled from random web sites ...
|
| Art - Solving subjective problems by any means necessary.
| 908B64B197 wrote:
| All four are prevalent in our industry.
|
| I recall a self taught dev (or maybe from a bootcamp)
| coming up with a cascade of nested if-else, nested 8 deep.
| Someone with a background in CS asked him what he was
| trying to do and basically concluded that what he was
| trying to do could be expressed as a state machine. To
| which the initial dev replied that it was "way too fancy"
| and that he didn't need the code to be fancy, just work.
| avianlyric wrote:
| > Engineering - solving well characterized problems based
| on math and physics (which can include materials with known
| properties, chemistry, approximations, models, ...), and
| well defined areas of composability (circuits, chemical
| processes, structural design, ...)
|
| Eh, I think you're overselling how precise and well defined
| engineering is in other fields. Engineering in other fields
| is just as much dealing with poorly characterised problems
| as it is when writing code (it takes quite a lot of
| characterisation to go from "we want a bridge here", to an
| actual damn bridge, and that's all an engineers work).
|
| Really the core of engineering is just a very broad set of
| practices and principles that allows people to solve poorly
| characterised problems using maths, physics, enormous
| amounts of experience, intuition, heuristics, wisdom,
| patterns, educated guess etc in a reasonably consistent and
| repeatable manner. Doesn't matter if you're building a web
| browser, a motherboard, or a bridge. You don't get a good
| result without a healthy dollop of wisdom, experience,
| educated guesses, and a handful of fuckups (which hopefully
| you notice _before_ you let people use the thing).
|
| Engineering in other disciplines is no less messy,
| haphazard, and experimental than it is in software. It just
| isn't as publicly documented as it is software, probably
| because it's hard to build an open source bridge.
| Nevermark wrote:
| Well, most engineering fields have well defined applied
| math that spans from the problem domain to the solution
| domain.
|
| Logic in digital circuits.
|
| Algebra and calculus for analog circuits, most physical
| objects, properties and processes.
|
| Differential equations for dynamical systems and
| dynamical behaviors.
|
| Sure there is a lot of creativity in engineering, but
| there is usually a whole area of math known to be
| suitable for expressing solutions clearly, given the area
| of engineering.
|
| Contrast with the utter lack of standard notation across
| software tools and implementations, for describing all
| the trade offs, gotchas, glue, historical drift &
| complexity, theories of memory, caching, user
| affordances, potential overflows, races, etc. that is
| implied by a program's code.
|
| Sometimes a language provides islands of engineered code,
| like message passing in Erlang, or memory management in
| Rust, or a precise mathematical library like BLAS.
|
| But most aspects in most software programs are created ad
| hoc, or inherited from someone else's rats nest of an
| implementation, and never formalized completely, if at
| all!
|
| Any clarity in representation quickly leaves planet
| applied math.
| eightysixfour wrote:
| I think this comment may miss the computer forest for the
| computer science trees. For a large portion of the world,
| computers aren't engineering or math, computers are a tool to
| get something else done.
|
| For those people, unless something fit within an existing
| (but large!) range of use cases, they were out of luck
| without having an engineer or mathematician figure it out for
| them. Suddenly, there is a glimmer on the horizon that all of
| that possibility the computer science people see every day
| could be unlocked for the users, and even if it only works 5%
| of the time, that is enough to get them excited in ways that
| are hard to describe to the computer science people.
| bee_rider wrote:
| A "tool to get things done" doesn't seem to contradict the
| math or engineering point of view. Which is to say, a
| screwdriver is an engineered device that is also a tool (it
| also has a mathematical description I guess, just, a fairly
| boring one from a pure math point of view I guess).
| eightysixfour wrote:
| Sure, but the relationship is different.
|
| Imagine going to school, a boot camp, or being self
| taught in everything about screwdrivers and screws. You
| can discuss at length the advantages and disadvantages of
| different shapes (Robertson bits > all), materials, screw
| threads, etc. You can custom design a screwdriver and
| screw for a specific application, taking into account all
| of the relevant constraints.
|
| Now imagine the guy who needs to tighten a loose cabinet
| door.
|
| Screwdrivers don't have nearly the complexity or ability
| to generate work leverage that computers do, moving even
| a few percent of those capabilities from the first group
| to the second is huge. It is, at minimum, Excel huge.
| Vespasian wrote:
| That's a great analogy which I will steal.
| dwighttk wrote:
| A personalized sociopathic fabulist for all!
| qsort wrote:
| My analysis is limited to tech people.
|
| For the rest of the world, while some might be excited by
| what you describe (and it that works for them, that's
| great!), I believe in general the interpretation is far
| simpler: me like shiny.
| eightysixfour wrote:
| This is some very CS high-horse thinking. I work with
| people who are already using it in ways that meaningfully
| improve their existing workflows. It isn't doing anything
| special to someone who makes a living on computers, but
| it is doing things they couldn't do without those people.
| Yajirobe wrote:
| /r/iamverysmart
| waboremo wrote:
| This is a fantastic point, and it's what most software
| businesses have at their core. They just provide the tools
| to get something else done. A lot of these smaller places
| are going to be devastated when people become far more self
| reliant (or I should say reliant on the AI providers) than
| them.
| rfwhyte wrote:
| This nails it on the head pretty much for me. I'm
| personally hugely interested in the potential of LLMs to
| enable me, a non coder, to create programs that might only
| have marginal utility to others, so are likely not going to
| get built by anyone who actually knows how to do this
| stuff, and aren't exactly important enough for me to
| actually learn how to code (I don't really have the right
| type of brain for it anyway) but are interesting / useful
| enough to me to figure out how to get LLMs to make them for
| me, as I don't really care how they work as long as they
| do.
| pjc50 wrote:
| > the usual debate on emerging technologies between Thymoetes
| and Laocoon.
|
| Could you expand on this?
|
| > Something that works 99 times out of 100 is 99% correct
| from the first perspective and 100% wrong from the second
|
| Interesting. From a _manufacturing_ perspective, you can't
| achieve 100%, you can only get asymptotically closer to it
| with statistical process control. And of course there are
| limits to the perfectibility of humans.
|
| This suggests that the big deployment of AI will be in areas
| where there is no clear boundary between right and wrong
| answer.
| qsort wrote:
| >> the usual debate on emerging technologies between
| Thymoetes and Laocoon.
|
| > Could you expand on this?
|
| Not important, it's just a rhetorical flourish. In the
| second book of the Aeneid, Thymoetes is the guy who says
| (paraphrasing) "let's bring the horse inside" and Laocoon
| is the guy who says (literally) "beware of Greeks bearing
| gifts".
|
| > This suggests that the big deployment of AI will be in
| areas where there is no clear boundary between right and
| wrong answer.
|
| "AI" is an umbrella term at this point. If by AI we mean
| LLMs or similar technology, then my hunch is to agree with
| the statement. I don't think this is particularly
| controversial though, IIRC Yann LeCun said something
| similar.
| mangamadaiyan wrote:
| "Timeo Danaos et Dona Ferentes"
|
| Roughly, "I fear Greeks even when they come bearing
| gifts".
| asah wrote:
| FTFY: 20 hours a week !
| slowmovintarget wrote:
| Computer Science is, by definition, math.
|
| Coding and software construction is engineering or craft, and
| is not Computer Science.
|
| LLMs are neither. They are power tools for concept
| realization.
|
| It's the difference between stone chisels and a suite of shop
| tools. We had pen and paper, or small steps up from those,
| and now we have LLMs.
| bsder wrote:
| Well, the interesting question is whether LLMs will enable
| programming to go back to being _interesting_.
|
| So much of programming is rote boilerplate garbage simply
| linking things together and so little of it is actual
| creative thought. If LLMs could actually generate the rote
| boilerplate, programming would be soooo much better.
|
| Alas, my optimism isn't that high.
| VeninVidiaVicii wrote:
| I find your observation about the two camps in computer
| science quite compelling, and it got me thinking about
| another analogy that might further illuminate the LLM debate:
| the evolution of cities.
|
| Urban development can be seen as a balance between careful
| planning (akin to the mathematics camp) and organic growth
| (resembling the engineering camp). A city designed with a
| focus on aesthetics and theoretical frameworks might be
| visually appealing, but it could lack adaptability. On the
| other hand, a city that grows organically may not be as
| cohesive, but it's more practical and responsive to its
| inhabitants' needs.
|
| This parallel can help us better understand the emergent
| properties of LLMs, which arise from their complex
| interactions. By appreciating both the engineering and
| mathematics perspectives, we can gain a more comprehensive
| understanding of these properties.
|
| Moreover, the balance between early adoption and risks, as
| seen in urban development, can also apply to LLMs. Early
| adopters of LLMs can tap into their potential, but they must
| also be aware of potential risks, such as biases and ethical
| concerns.
|
| Oh yeah ChatGPT wrote this answer.
| it_was_cool wrote:
| Good reminder of how vacuous even thoughtful-sounding
| writing can be.
| inimino wrote:
| There's never been a camp of computer science that said
| anything but the truth, which is that CS is applied
| mathematics.
|
| However, there is a pragmatic school of hacking, which says
| that results are all the matters. If you're in a startup, you
| should be pragmatic, and worse is better.
|
| Nobody truly believes that CS is engineering.
| teaearlgraycold wrote:
| Software Engineering is engineering
| PheeThav1zae7fi wrote:
| [dead]
| inimino wrote:
| Software engineering is actually not engineering either.
| tester756 wrote:
| TIL I need to tell my school to change my degree on
| diploma
|
| What reasoning are you using to come to conclusion that
| software is not engineering?
|
| >The creative application of scientific principles to
| design or develop structures, machines, apparatus, or
| manufacturing processes, or works utilizing them singly
| or in combination; or to construct or operate the same
| with full cognizance of their design; or to forecast
| their behavior under specific operating conditions; all
| as respects an intended function, economics of operation
| and safety to life and property
|
| It is purely software engineering.
| inimino wrote:
| You can just read what Dijkstra said about it already 30
| years ago, not much has changed, and I would have little
| to add.
| ThrowawayTestr wrote:
| If there isn't a possibility of someone dying if you make
| a mistake it isn't engineering.
| ruko wrote:
| why
| tester756 wrote:
| because?
| linguae wrote:
| Software used in medical devices, airplanes, and other
| applications where mistakes can lead to death does exist,
| and there has been tragic examples of software bugs
| killing people:
|
| https://en.m.wikipedia.org/wiki/Therac-25
| inimino wrote:
| If you have full expectation and support from your
| superiors that you may shut down software development
| operations for ethical reasons based on your technical
| expertise, you might be a real engineer.
| teaearlgraycold wrote:
| Welcome to the real world, where software _can_ get
| people killed.
| slowmovintarget wrote:
| Because engineering is a specific discipline that
| balances physical force, the nature of materials, and
| costs, to produce a physical thing (a building, a bridge,
| a sewer system, a reservoir... "Software engineering" is
| a metaphor for the body of knowledge and ability to
| design and construct software systems. Unlike
| engineering, there aren't that many right answers.
|
| Whenever you have to qualify a noun with something else,
| the result is something narrower than the original noun,
| and often completely different:
|
| - Software Engineering is not Engineering
|
| - Street Justice is not Justice
|
| - Covert Intelligence is not Intelligence
| tester756 wrote:
| >Unlike engineering, there aren't that many right
| answers.
|
| SE is way, way younger than other engs.
|
| >to produce a physical thing
|
| Why physical thing would be a requirement here?
| jq-r wrote:
| Because that's GP's attempt to differentiate it as it
| cannot be done any other way ;)
| jahewson wrote:
| Engineering is just applied math too.
| inimino wrote:
| That is true of real engineering; unfortunately "software
| engineering" has been defined differently by some
| authors, with quite the opposite meaning.
| beyang wrote:
| I think you make fantastic points (Sourcegraph CTO, here). This
| is one of the reasons why we focused on code understanding
| rather than code generation for the initial version of Cody (in
| contrast to, say, GH Copilot).
|
| For code understanding tasks, the issues with standalone LLMs
| is that they have a certain amount of "memory" which is limited
| to their training data (SO and OSS)--and even that can be
| unreliable.
|
| A big "a-ha" moment for us was the realization that LLMs get
| much more helpful and reliable when coupled with a competent
| context fetching mechanism that can surface relevant code
| snippets from your own codebase. This makes Q&A much more
| factually accurate (and code generations that learns from the
| patterns in your codebase). We don't think LLMs will ever
| replace human coders, but we think they can be super helpful in
| eliminating a lot of the tedious, boring, duplicative writing
| _and_ reading code that devs do every day. The entirety of
| Sourcegraph (not just the LLM part) is focused on eliminating
| these pain points.
| uoaei wrote:
| There is a massive gulf between "correct code" and "correct
| implementation" in many real-world scenarios.
|
| Business logic and baking in domain expertise into your data
| model is most of the work. Making the code work efficiently
| doesn't matter if your code doesn't even do what it's supposed
| to.
|
| Normally this is an argument in favor of human-in-the-loop LLM-
| based development -- "the human just needs to curate and
| verify!" However it seems all too easy to me (especially having
| witnessed it more than a few times) that subtle discrepancies
| emerge between the stakeholders' desires for the function of
| the code and the developers' understanding of those requests.
| Hopefully we reach a best-case scenario where that's all
| developers need to focus on, but more likely we'll see some
| pretty egregious things slip through the cracks (the wave will
| likely start with security/privacy issues before the phenomenon
| is recognized) as this technology matures into the common
| workplaces.
| joshka wrote:
| Hard disagree. I actually think the 80/20 mentioned in this
| article is low if done correctly. Let's think about the
| software engineering process for a minute and work out which
| bits to automate. Here's GPT3.5 on the process (PROMPT: List
| the steps going from a goal or dream to a software product in
| software engineering)
|
| 1. Idea Generation: The first step in creating a software
| product is to come up with an idea or goal that the software
| will achieve.
|
| 2. Research: Once you have an idea, it is important to conduct
| research to determine the feasibility of the idea and identify
| any potential challenges.
|
| 3. Planning: After research, planning is necessary to determine
| the scope of the project, the timeline, and the resources
| required.
|
| 4. Design: The design phase involves creating a detailed plan
| for the software, including the user interface, functionality,
| and architecture.
|
| 5. Development: In the development phase, the software is
| created by writing code, testing, and debugging.
|
| 6. Testing: After development, the software must undergo
| rigorous testing to identify and fix any issues.
|
| 7. Deployment: Once the software is tested and ready, it is
| deployed to the target audience.
|
| 8. Maintenance: Finally, the software must be maintained to
| ensure that it continues to function properly and meets the
| needs of the users.
|
| Each of those steps has a back and forth with a LLM that can
| enhance and speed up things. You're talking about 4 as being
| problematic, but right now there's a lot of "human in the loop"
| type issues that people are encountering.
|
| Imagine having the following loop:
|
| 1. LLM has generated a list of features to implement. AI: "Does
| this user story look good?" Human: "Y"
|
| 2. For each feature, generate an short English explanation of
| the feature and steps to implement it. Your job as a human is
| just to confirm that the features match what you want. "Should
| the shopping cart
|
| 3. For each step, LLM generates tests and code to implement the
| feature. AI: "Shall I implement the enter address feature by
| doing ..." Human "Y"
|
| 4. Automatically compile the code and run the tests until all
| tests implemented and feature is complete according to spec.
|
| 5. Automatically document the code / feature. Generate release
| notes / automated demo of feature. Confirm feature looks right.
| AI: "Here's what I implemented... Here's how this works... Does
| this look good?"
|
| 6. Lint / simplify / examine code coverage / examine security
| issues in the the code. Automatically fix the issues.
|
| I think you also miss that the LLM can be prompted to ask you
| for more details. e.g. PROMPT: "I'm building a shopping cart.
| Ask me some questions about the implementation."
|
| 1. What programming language are you using for the
| implementation of the shopping cart?
|
| 2. Are you using a specific framework for the shopping cart or
| are you building it from scratch?
|
| 3. How are you storing the products and their information in
| the shopping cart?
|
| 4. How are you handling the calculation of taxes, shipping
| costs, and discounts in the shopping cart?
|
| 5. What payment gateway(s) are you integrating with the
| shopping cart?
|
| Which can then be fed back to the LLM to make choices on the
| features or just plain enter the answer. PROMPT: "For each
| question give me 3 options and note the most popular choice.",
| and then your answers are fed back in too. At each point you're
| just a Y/N/Option 1,2,3 monkey.
|
| More succinctly, in each step of the software game, it's
| possible to codify practices that result in good working
| software. Effectively LLMs allow us to build out 5GL
| approaches[1] + processes. And in fact, I'd bet that there's a
| meta task that would end up with creating the product that does
| this using the same methodology manually. e.g. PROMPT: "Given
| what we've discussed so far, what is the next prompt that would
| drive the solution to the product that utilizes LLMs to
| automatically create software products towards completion" ;)
|
| [1]: https://en.wikipedia.org/wiki/Fifth-
| generation_programming_l...
| _qua wrote:
| Did you try GPT-4 yet? It's a huge increment over 3.5/ChatGPT
| aaomidi wrote:
| Yep its actually able to create ideas that have never been
| done before.
| NationalPark wrote:
| Do share!
| roflyear wrote:
| It's way better. But equally slower!
| ModernMech wrote:
| I've tried 4 and I really can't say the results are a
| qualitatively better than 3.5 for the tasks I've been trying
| (which have been trying to get it to generate documentation
| for my project).
|
| In fact, I find 3.5 turbo the best overall model as a tool,
| because to quality of responses really depends on the quality
| of prompts, and the quality of prompts is improved by
| reacting to responses, which come more quickly in 3.5-turbo.
| So while ChatGPT-4 is still writing the first not-good
| response, ChatGPT-3.5-Turbo will be on the 2nd or 3rd and it
| will be much more cogent.
| famahar wrote:
| I know a lot of people enjoy the struggle of coding and banging
| your head against a wall to solve a problem, but I hope the days
| of severe mental drain trying to learn how to code something
| complex are coming to an end. Kids growing up in this generation
| are lucky. They'll look back at us now like I look back at punch
| card programmers.
| f0ld wrote:
| Ai is going to be equivalent of finding and using "0" in
| mathematics. It's quite literally the same thing at a bigger
| scale. At first, Mathematicians oppossed adopting zero because
| they thought what doesn't exist shouldn't exit and deemed it as
| an immoral practice. This iteration of LLM is very similar. It's
| quite literally black box magic. I find it fascinating. Sometimes
| when humanity accept irrationality we gain more understanding of
| nature instead of the opposite. When we only pursue rationality
| and profit we end up in world wars.
| setheron wrote:
| When did Yegge join source graph?
| softwaredoug wrote:
| In the article he says September :)
| golergka wrote:
| > What about chatting with people in a browser? Doesn't matter
| whether you're using Facebook, Google Chat, LinkedIn, or just
| chatting with a customer service agent: if you're having a
| conversation with someone in a browser, all that shit started
| life as a teeny demo of 2 engineers sending messages back and
| forth over a "hanging GET" channel back in 2005.
|
| I'm pretty sure web chatrooms have existed in the late 90s
| already.
| rglover wrote:
| > All you crazy MFs are completely overlooking the fact that
| software engineering exists as a discipline because you cannot
| EVER under any circumstances TRUST CODE.
|
| Great way to make the point that as people get overly-comfortable
| with trusting these AI tools, the inevitable outcome is absolute
| chaos and destruction.
| Spivak wrote:
| If AI code causes chaos and destruction then all we've done is
| prove that as an industry we are _really bad_ at actually
| verifying that code works.
|
| If AI code can fuck you up then so can any junior dev or
| intern. If the PR with AI generated code passes the tests and
| code review then that's on you.
| rglover wrote:
| > we are really bad at actually verifying that code works
|
| This assumes a culture where verification is a virtue. Given
| the opportunity to cut corners for the sake of KPIs or other
| management sorcery, it's a virtual certainty that corners
| will get cut if AI enables it.
|
| > If AI code can fuck you up then so can any junior dev or
| intern.
|
| And they do. The fact that major corporations routinely have
| _massive_ data leaks speaks to some serious QC issues.
|
| ---
|
| Ultimately, the problem is the long-term brain atrophy due to
| these tools. There will be too much trust placed in them,
| colleges will start awarding degrees to people who just "AI'd
| the answer" and eventually, we have a majority work force who
| can't tie their proverbial shoes.
|
| It's not tomorrow and hopefully not even a decade. But a
| generation's worth of dependence on these tools coupled with
| the employment incentive to do more faster? Boy howdy [1].
|
| [1] https://www.youtube.com/watch?v=PTtBN34AXl0
| CatWChainsaw wrote:
| The Machine Stops soon!
| aledalgrande wrote:
| Best part of the article
|
| > So the next one of you to complain that "you can't trust LLM
| code" gets a little badge that says "Welcome to engineering
| motherfucker". You've finally learned the secret of the trade:
| Don't. Trust. Anything!
| tiffanyh wrote:
| People are confusing what AI is exactly.
|
| It's a _feature_ , not a _product_.
|
| Which is why so many incumbents were able to embedded it so
| quickly into their own product.
| CuriouslyC wrote:
| Not exactly. AI can be a feature when used as dressing on an
| existing workflow in an existing application.
|
| AI can be a product when it enables new workflows and
| applications that wouldn't be possible in a meaningful way
| without it. These are the transformative things people don't
| see yet because we haven't really had time to process the tech.
| nemo44x wrote:
| How many layers deep can you do with this? Can you index all your
| data, then ask questions and index those results making them part
| of the corpus in your index? And continue to do this over and
| over allowing GPT to get back its own contexts without it even
| knowing? Would this even be desirable? Would this create a sort
| of incest problem or would it make for even better semantical
| results?
| Madmallard wrote:
| When I try to get my gamedev code written by gpt it seems like
| its more like 50% right 50% wrong but revising the wrong takes a
| long time.
| EGreg wrote:
| Often it is far longer than writing it all yourself.
|
| What I see as the advantage is taking doc comments or
| documentation and _fine-tuning the engine on it_.
|
| Not embedding more words as numbers.
|
| Not adding it to a prompt.
|
| Literally fine tuning the model.
|
| Does Alpaca or any LLaMA version let you do it? Cause Chat-GPT
| doesn't.
|
| And anyway I wouldn't want to give our whole code over to some
| third company to re-use the way an artist's work got jacked
| because it was publicly posted. I want to self-host the fine-
| tuned model.
|
| THAT would be the killer feature, for businesses. The Web
| attracted businesses, not people. People moved over later.
|
| _Does Alpaca or any LLaMA version let you do it? Giving it
| (with its existing weights) a gigabyte of text files and
| letting it fine tune itself on that?_
| code_runner wrote:
| Given a large enough context window the need for fine tuning
| diminishes a little bit....
|
| The cost of fine tuning these massive models is crazy right
| now. Fine tuning a smaller model can get you better
| performance for specific tasks in many cases. A lot of models
| are out there and totally free to adapt as needed via hugging
| face etc.
| EGreg wrote:
| Hugging face?
| dragonwriter wrote:
| Hugging Face is kind of the github of AI/ML:
| https://huggingface.co/
| copymoro wrote:
| wrong, you also need to not get caught
|
| or you can to all America over this, and change the meaning of
| cheating for yourself
| l0b0 wrote:
| > > You can't trust the AI's code!
|
| > Yeah, but you can't trust your own code!
|
| Those are two different types of trust. The only overlap they
| have is that they probably both have bugs. Maybe I'd trust AI
| code after some really aggressively adversarial TDD and fuzz
| testing enough to have a tiny bit of hope that it's going to do
| the right thing in most cases. But for anything non-trivial I'd
| be worried about a bunch of other trust issues. Just off the top
| of my head:
|
| - You know all those articles with terrible advice Google is
| always showing at the top of their results? Welcome to a world
| where those are regurgitated by a well-articulated, authoritative
| program, resulting in a long-term maintenance nightmare.
|
| - An LLM is far too big to review for malicious content. And if
| it's being used by lots of programmers you can bet a billion
| it'll be a prime target for bad actors.
|
| - The interaction between my brain and my hands isn't going to be
| shipped off to professional manipulators.
| nosefrog wrote:
| Nice to see Steve Yegge back to writing blog posts :) One of the
| reasons I was excited to join Google was to read all of his
| internal posts, but it turns out they were mostly on Google+,
| which was taken down by the time I joined.
| softwaredoug wrote:
| A good test I have yet to try with ChatGPT / CopilotX:
|
| My 11 year old would like to create a game. Can he talk to these
| tools (maybe with a tad of assistance from me) and get something
| working? Then have a place to keep asking questions and keep
| tweaking?
|
| I find at the grown-up level, the barrier to entry to even
| reading docs and stackoverflow is actually high. There's a lot of
| subtle signals we need to use as experts to actually interpret
| the reliability of information. I can't imagine my 11 yo having
| the patience to wade through that.
| M4v3R wrote:
| Yes and no. You can totally create a simple game with ChatGPT
| but you still need to take the code it spits out, paste it
| somewhere, compile and/or run it in some environment. Until
| someone builds an interactive ChatGPT code sandbox for
| Javascript or Python. I'm sure someone at this very moment is
| working on something like this, if it already doesn't exist.
| AnIdiotOnTheNet wrote:
| Probably not today, but I can foresee a future a few years down
| the line when something like Unity is integrated with a LLM and
| you talk to it like the computer in a Star Trek holodeck to
| make a game.
|
| The late 90s version of me would be flabbergasted that the most
| believable part of the holodeck is the ability to create
| elaborate worlds and coherent narratives from a short
| description.
| est31 wrote:
| https://twitter.com/denis_cera/status/1601383443648376832
| mherdeg wrote:
| Ooh I didn't realize Steve Yegge was at Sourcegraph -- I think
| this might explain some of Gergely Orosz's interest / recent
| deep-dives into the company. This is going to be an exciting one
| to watch!
| cardosof wrote:
| > LLMs aren't just the biggest change since social, mobile, or
| cloud-they're the biggest thing since the World Wide Web. And on
| the coding front, they're the biggest thing since IDEs and Stack
| Overflow, and may well eclipse them both.
|
| It's amazing how far just predicting the next character can go
| when you do it really, really well.
| cosmolev wrote:
| This makes me ponder over how predictable we humans can be.
|
| We tend to act similarly when placed in similar circumstances.
| We think alike when presented with the same context. We find
| patterns in things. Etc, etc, etc.
|
| And I'm sure I'm not the first person in this thread to have
| had this exact thought.
| overthrow wrote:
| Great post. The most important part (which isn't clear from the
| title):
|
| > Cody is Sourcegraph's new LLM-backed coding assistant.
|
| > Cody is not some vague "representation of a vision for the
| future of AI". You can try it right now.
|
| That link takes you to a signup form, not an app or download:
| https://sourcegraph.typeform.com/cody-signup
|
| I signed up. Now begins the waiting game.
| barrysteve wrote:
| Cheating is all you need and keeping code that was going to be
| open source, offline, is the new trust model?
|
| The open source community runs well when you can relate to the
| users. If you vacuum up the code and kill off the capacity for
| copyright claims of code... I can hardly see non-sponsored
| researchers sharing code openly anymore, because they cannot
| define the terms of use once an LLM eats it up.
| teddyh wrote:
| Cheating (and ignoring copyright) is all you need. And patents.
| I'll start again: Amongst our things to ignore are...
| gk1 wrote:
| I work for a vector database company (Pinecone) and can confirm
| that most of the mind-blowing built-with-ChatGPT products you see
| launching every eight'ish hours are using this technique that
| Steve describes. That is, embedding internal data using an LLM,
| loading it into a vector database like Pinecone, then query the
| vector DB for the most relevant information to add into the
| context window. And since adding more context with each prompt
| results in higher ChatGPT costs and latencies, you really want to
| find the smallest and most relevant bits of context to include.
| In other words, search quality matters _a lot._
|
| Edit to add: This was an aside in the post but actually a big
| deal... With this setup you can basically use an off-the-shelf
| LLM (like GPT)! No fine-tuning (and therefore no data labeling
| shenanigans), no searching for an open-source equivalent (and
| therefore no model-hosting shenanigans), no messing around with
| any of that. In case you're wondering how, say, Shopify and
| Hubspot can launch their chatbots into production in practically
| a week.
| meghan_rain wrote:
| How do I calculate the embedding if I have let's say the
| llama7b weights in huggingface shape?
|
| I cannot use third party apis like openai for obvious reasons.
| a5huynh wrote:
| You can calculate them yourself as well! huggingface has a
| great article on this: https://huggingface.co/blog/getting-
| started-with-embeddings
|
| tl;dr, use: https://huggingface.co/sentence-transformers/all-
| MiniLM-L6-v...
| saurik wrote:
| (I want to focus more attention on that "tl;dr", which I
| will arguing is carrying a lot of load in that response:
| the high-level answer to how one does this using the llama
| weights is "you don't, as that isn't the right kind of
| model; you need to use a different model, of which there
| are many".)
| lolol0lol0l wrote:
| [dead]
| siva7 wrote:
| This technique is no secret, it's officially mentioned over
| OpenAIs whitepapers, docs and code samples on how to use GPT in
| a real-world workflow.
| misiti3780 wrote:
| can you provide a link to these docs/code samples ?
| gk1 wrote:
| https://github.com/openai/openai-
| cookbook/blob/main/examples...
|
| https://github.com/pinecone-
| io/examples/blob/master/generati...
|
| https://www.pinecone.io/learn/openai-gen-qa/
|
| https://www.youtube.com/watch?v=tBJ-
| CTKG2dM&t=787s&ab_channe...
|
| There are more out there but hopefully this gets you
| started.
| misiti3780 wrote:
| thank you
| sjnair96 wrote:
| Not so secret, and also precisely how Langchain (1) and GPT
| Index (Llama Index) (2) got so popular. Here's a quick
| rundown:
|
| 0) You can't add new data to current LLMs. Meaning you can't
| train them on additional data, or fine-tune, leave that more
| for understanding structure of the language or task.
|
| 1) To add external corpus of data into LLMs, you need to fit
| it into the prompt.
|
| 2) Some documents/corpus are too huge to fit into prompts.
| Token limits.
|
| 3) You can obtain relevant chunks of context by creating an
| embedding of the query and finding the top k most similar
| chunk embeddings.
|
| 4) Stuff as many top k chunks as you can into the prompt and
| run the query
|
| Now, here's where it gets crazier.
|
| 1) Imagine you have an LLM with a token limit of 8k tokens.
|
| 2) Split the original document or corpus into 4k token
| chunks.
|
| 3) Imagine that the leaf nodes of a "chunk tree" are set to
| these 4k chunks.
|
| 4) You run your query by summarizing these nodes, pair-wise
| (two at a time), to generate the parent nodes of the leaf
| nodes. You now have a layer above the leaf nodes.
|
| 5) Repeat until you reach a single root node. That node is
| the result of tree-summarizing your document using LLMs.
|
| This way has many more calls to the LLM and has certain
| tradeoffs or advantages, and is essentially what Llama
| Index's essence is about. The first way allows you to just
| run embeddings once and make fewer calls to the LLM.
|
| [1] https://langchain.readthedocs.io/en/latest/ [2]
| https://gpt-
| index.readthedocs.io/en/latest/guides/index_guid...
| thejackgoode wrote:
| so based on this logic, do Google and Facebook have the biggest
| potential competitive advantage?
| gk1 wrote:
| I'd say Microsoft. And they've been demonstrating that quite
| well.
| thejackgoode wrote:
| I agree they seem the most active of big tech so far, but
| in terms of "data moat" competition they are supposed to be
| behind, as this is not the foundation of their business.
| gk1 wrote:
| I think it's a combination of data, LLM quality,
| embedding search quality, and creativity.
| sebzim4500 wrote:
| What do you mean by "data moat"? I would imagine that the
| Bing index is not much smaller than the Google index, if
| that's what you mean.
| alach11 wrote:
| I believe in this context "data moat" refers to data they
| have that other companies can't access. Microsoft has
| huge amounts of email and other data in Office365. And
| this has a clear path to monetization since they already
| have paying customers for Office.
|
| Other moats IMO are Google's with Android and Chrome. And
| MS possibly with Windows?
| kristofferR wrote:
| Not to mention Github for code.
___________________________________________________________________
(page generated 2023-03-23 23:02 UTC)