3 ms·
And these are precisely the sorts of things LLMs can bring to the table. LLMs have shown some promise here, obviously, but I think at the end of the day you a
by JohnBooty 3y ago
And these are precisely the sorts of things LLMs can bring to the table.
LLMs have shown some promise here, obviously, but I think at the end of the day you are still going to have to enumerate all of the edge cases and error states w.r.t. a particular segment of code and it's not clear to me that LLMs are going to make this faster in many real world cases.
LLMs shine with boilerplate stuff that zillions have done before ("create a linked list implementation for me in language XYZ", "create a dropdown list with these five options", etc) but it is less clear to me that they are (or can be) useful for more custom domain- or application- logic.
There are certainly many classes of things for which specialized notation/representations are far clearer than natural language. Imagine describing how to play Beethoven's 5th with [insert human language here] rather than standard musical notation.
It's probably a continuum of suitability, and not a binary yes/no thing, but I think even after LLMs really hit their full potential most software development will probably still be best achieved with the precision of specialized programming languages and not natural language.
- jameshart 3y agoWe’re perhaps talking about very different levels of ‘programming’. Just in the sense of ‘expressing what you want a computer to do’, Think about a thing someone needs to do in an office somewhere. ‘Get all the data from the excel file attached to this email, find the CRM record for each company listed and make a list of the ones whose data needs updating’. That’s the kind of thing you can ask John in accounting to spend a day doing. Or you can write a script. Try to express in precise unambiguous code exactly how you want to accomplish it and spend a couple of days debugging it. Or you can ask an LLM with some tool access to do it and maybe it’ll give you a list in a few minutes. And if you need to do that same task every week: either John gets good at doing it, or he gets bored and quits; if you made a script you have to keep bug fixing it and dealing with the changes in the excel file, and eventually someone tells you that it really needs to be implemented in The System so you file a Jira ticket and a product owner comes out and writes down your user story and six months later you get a web form you can upload your excel attachments to that sometimes produces the list of clients to update… But if you asked the LLM to do it… you just ask it do it again the next week. This is the bit that maybe programmers haven’t quite realized yet: if I can get an LLM to just do that task, I don’t need to go and get someone to build some software to do it. I can get the computer to do it myself.
- SoftTalker 3y agoYes, the LLM will give you an answer. Are you verifying that what the LLM tells you is correct? How would you even know?
- taneq 3y agoSame goes for John though, doesn't it?
- SoftTalker 3y agoYes, it does, but John is the subject matter expert and is at least in theory able to verify that the results are correct.
- jameshart 3y agoNo, John is four years from retirement and he sometimes doesn’t sleep that well. He has a lot on his mind what with the layoffs recently. Maybe you got him on a good day though.
- marcosdumay 3y agoA random John has a much better track record of getting the result right instead of making it all up. And you can tell John to be extra careful (in fact, if he has a bit of experience, you won't have to tell this either) and he will be. While if you tell the LLM to be extra careful, it may track intermediate steps better or just make some other answer up. And yeah, this is very likely intrinsic to the architecture we use on our LLMs.
- MrJohz 3y agoThis is true, and a good reason why automation is so valuable. It's not just the speed, but also the reproducibility. If the script goes wrong, it will go wrong in a predictable way that can be investigated and debugged. If John goes wrong, he will go wrong sporadically and without any clear reason - maybe he was tired one day, or maybe he got an important phone call in the middle of the task another. With AI (or at least the versions of it that we're looking at today) we get the speed of a script with the "programmability" of a person, but the question still remains what sort of failure mode we can expect - predictable like a script, or unpredictable like a person. Right now, it's looking like LLM failures tend to be fairly unpredictable (in the sense that a prompt can give a good response one day and a bad one the next based on difficult-to-explain factors).
- d0mine 3y agoAnother example: look at the solution for a cubic equation written in words and compare it with the same solution expressed in algebraic notation e.g., for Tartaglia’s Quando chel cubo. http://dx.doi.org/10.1080/17513472.2014.933552 http://dx.doi.org/10.1080/17513472.2014.933552 Algebraic notation is not just more concise/precise. It enables solving harder problems that otherwise wouldn't be even attempted.