4 ms·
The hype is around having AI replace your typing, that is, to code for you. The hype should not be around replacing the typing, but in assisting your thoughts.
by qwertox 2y ago
The hype is around having AI replace your typing, that is, to code for you.
The hype should not be around replacing the typing, but in assisting your thoughts.
When you code, there's the dialog in your brain which thinks about the code and also creates the questions which you know you must answer in order to then transition to the dialog with the machine, that is, to type code.
And in this first part LLMs can be extremely useful, which will come to the point where you select a line, then explain your intent, and while the AI retrieves documentation and possible solutions, you can reason about the problem and then pick and choose from what the AI has collected for you.
> Only someone who has never built anything of significant complexity and utility can think that putting natural language encoding between you and the bytes is a net positive.
The question is then if assistants are "sitting next to you", like a secretary and a mentor, or if they are sitting between you and the editor, as the thing you need to control.
An assistant can be a really effective refinement in the programming process. Even so far that it ends up motivating you instead of you constantly getting demotivated due to hitting the wall of "not another problem that I need to solve before I can really continue" (which happens all to often).
- barrell 2y agoPersonally, I haven’t found LLMs to be helpful for the internal dialogue. Even with a lot of exposition, code samples, and documentations, it always provides either obvious solutions (store items in a vector!), pointless modifications (use map and filter instead of reduce!), or it just makes up APIs that don’t exist. I think it’s really good with the 101-level academics side. Learning the basics of anything through a conversational manner can be massively helpful. As soon as your situation exceeds textbook level, I’ve found them to always be a waste of my time, and nothing I’ve seen as of late makes me think they’re trending in a direction to be helpful in this scenario
- klabb3 2y ago> As soon as your situation exceeds textbook level, I’ve found them to always be a waste of my time Doubly so. A very knowledgeable and helpful tutor would say ”you’re asking for advanced or detailed guidance. I don’t know the specifics, but I can point you to some places that you’d be able to find these answers on your own”. What the AI does is continue its babbling confidently while being incredibly wrong and non-sensical, like a person suffering a stroke or concussion where the mannerisms are normal but they don’t remember their name. It seems completely unable to judge its own knowledge (probably because it is).
- ConspiracyFact 2y agoYes, it would have to be unable to reason about its own confidence levels, wouldn’t it? It produces content—and, as far as I understand, sort of simulates basic reasoning—by making predictions based on a huge corpus of text. The larger this corpus becomes, and the more sophisticated its method of analyzing it, the better it becomes at “reasoning about” the things described in its corpus. But the question “How sure are you?” inherently refers to something—the LLM’s “mental state”, if such a thing can be said to exist—that isn’t referred to anywhere in the corpus. No improvement in the quality of the corpus or the power of the predictions made based on the corpus can have any impact on this problem.
- seba_dos1 2y agoI want LLMs to answer simple, but tedious questions that arise when I do the thinking. I want them to help me find relevant sections in multi-thousand page datasheets regardless of whether I happened to use the same synonym that documentation's author has used. I want them to remind me the meaning of a term that was defined 12 chapters ago without me having to context switch and look for it again. I want them to consolidate information spread over 6 PDFs that I need to look at to understand something. I want them to be an interface between me and reliable resources. I want them to essentially facilitate ad-hoc fact retrieval without requiring me to master field-specific jargon first. I don't need them to do any thinking, that's my job. I don't want them to try to answer my questions, I want them to point me to resources that let me answer them and save me the time on searching them in the process. You don't need to know where to look beforehand if you're a machine that can ingest whole libraries in seconds - so let me actually benefit from this power rather than try to provide me with a sketchy equivalent of a clueless intern trying to make a good impression and not realizing how tremendously bad they're at it. I believe LLMs (or, more specifically, complex systems utilizing LLMs) can end up being incredible productivity boosters, but right now they're being so hopelessly misapplied that it will take a good while for them to get there. LLMs can already be somewhat helpful if you approach them carefully, but they're still far from life-changing - unless your life can be changed by reducing the amount of boilerplate you need to type to code, then I guess you're already happier.
- skydhash 2y agoNot everyone is the same, but I have a different view of programming that what you describe. Most tasks involve thinking about the domain and what implementation techniques to use while trying to reduce the technical debt in the project. For the domain, I talk to people, rely on past experience (mine or others), or do research. For implementation techniques I look at other people’s code, read books, or ask someone more experienced. Both are heavily influenced by the context, aka what already exists in the project and the constraints that I have to deal with. I heavily distrust LLM because it cannot assimilate the context like an experienced person and provide me direction based on experience. Why experience? Because the problem and the constraints always exist in the real world.
- ConspiracyFact 2y ago[dead]
- api 2y agoThe hype in some areas is around replacing coders, which is a fantasy without orders of magnitude better systems.
- TheOtherHobbes 2y agoYes, that's exactly it. Many corporations firing coders because "AI can do that" and then discovering that AI can't. It's offshoring 2.0. $developing_country is cheaper so let's hire them, and why is everything broken now? This fantasy economy is based entirely on Numbers Must Go Up. Everyone seems to have forgotten the numbers are linked to real people in a physical world, and the real people and the physical world both have rules and consequences of their own which don't care about quarterly returns.
- JumpCrisscross 2y ago> It's offshoring 2.0 Doesn’t this analogy break down inasmuch as offshoring eventually worked?
- lazide 2y agoDid it?
- out_of_protocol 2y agoIt did, e.g. Poland have very good bang for buck ratio. Something like Bangladesh wouldn't work for IT, but more developed countries will
- lazide 2y agoThe challenge with Poland, is that if there is going to be WW3 soon it looks likely to be the immediate front lines. So relatively high risk, from a business disruption perspective.
- hatefulmoron 2y ago
- spacemanspiff01 2y agoWhere I find coding assistants the most useful _is_ in writing code that I already want to write. Ala - I need to write this unit test, it has these checks, it validates these methods. Or write a log message for me about what error got encountered here. Those are annoying to write out, but often the llm has enough context that I just start to write and it completes it appropriately. All of these are things I can easily do myself, are easy to validate correctness, but if I were to write them would consume my limited mental energy for the day.
- diggan 2y agoSounds like everyone have different use cases for LLMs, which makes sense, we need help with different things. Personally, I try to get rid of writing boilerplate (which it sounds like you're talking about?) fully, no one should write that. Instead I get help from LLMs to deal with areas where I'm not super great, like math. So I know what results I want, but I'm not sure how to get them. So setup a bunch of tests and the interface I want, then let the LLM figure out how to do the implementation itself.
- tomrod 2y agoI find it is good at writing about 90% of tests, either from requirements or existing code. It is terrible once you get 3 or 4 tweaks into main parts of the code base. Just like autocorrect degrades over time.
- aleph_minus_one 2y ago> Where I find coding assistants the most useful _is_ in writing code that I already want to write. ... for a very specific definition of "code that I already want to write". :-) The code that I want to write often involves very novel (and sometimes quite mathematical) concepts. Or code that is "low-level wizardry". Thus the AI nearly by definition will commonly fail with the tasks. Also, this kind of code often (though not always) has the property that "if you do something wrong, everything falls apart", i.e. it is the kind of problem that has a low tolerance concerning any "AI hallucinations", meaning the code is either (nearly) perfectly right, or not helpful. Debugging any wrong code (even if you have testcases available) will commonly take a very long time.
- mmusson 2y agoI think there is a skill issue. Just like in any other pursuit, some people are going to be better at using AI productively. It is a tool. You are still responsible for the quality of the resulting code whatever the mix of human and tool generated.
- ozim 2y agoHard disagree. Assistant should not help you thinking, any AI agent/tool should be doing what you want with minimal amount of explanation. Only way I accept current hype is if I am able to type in "make a Twitter clone" it does the implementation, I can run it, I write "make it red, silver and yellow color themed" and it does just that. I am the one doing thinking here - I don't care about technical details. That should be state of art. I can write my own Twitter clone and if I have to write prompt after prompt it is going to take me more time and more typing so it is useless. A person that cannot write their own Twitter clone is not going to prompt their way out to having working and deployed Twitter clone.