3 ms·
AI code generation tools work like this. Let me reword your phrasing slightly to make an illustrative point: > so for an employee, instead of specifying expli
by rybosome 1y ago
AI code generation tools work like this.
Let me reword your phrasing slightly to make an illustrative point:
> so for an employee, instead of specifying explicit if conditions, you specify outcomes and you leave the human to figure out what if conditions apply and how to deal with them?
> Are there any serious applications built this way?
We have managed to build robust, reliable systems on top of fallible, mistake-riddled, hallucinating, fabricating, egotistical, hormonal humans. Surely we can handle a little non-determinism in our computer programs? :)
In all seriousness, having spent the last few years employed in this world, I feel that LLM non-determinism is an engineering problem just like the non-determinism of making an HTTP request. It’s not one we have prior art on dealing with in this field admittedly, but that’s what is so exciting about it.
- nilirl 1y agoYes, I see your analogy between fallible humans and fallible AI. It's not the non-determinism that was bothering me, it was the decision making capability. I didn't understand what kinds of decisions I can rely on an LLM to make. For example, with the resume screening application from the post, where would I draw the line between the agent and the human? - If I gave the AI agent access to HR data and employee communications, would it be able decide when to create a job description? - And design the job description itself? - And email an opening round of questions for the candidate to get a better sense of the candidates who apply? Do I treat an AI agent just like I would a human new to the job? Keep working on it until I can trust it to make domain-specific decisions?
- diggan 1y ago> would it be able decide when to create a job description? If you can encode how you/your company does that decision as a human with text, I don't see why not. But personally there is a lot of subjectivity (for better or worse) in hiring processes, I'm not sure I'd want a probabilistic rules engine to make those sort of calls. My current system prompt for coding with LLMs basically look like I've written down what my own personal rules for programming is. And anytime I got some results I didn't like, I wrote down why I didn't like it, and codified it in my reusable system prompt, then it doesn't make those (imo) mistakes anymore. I don't think I could realistically get an LLM to do something I don't understand the process of myself, and once you grok the process, you can understand if using an LLM here makes sense or not. > Do I treat an AI agent just like I would a human new to the job? No, you treat it as something much dumber. You can generally rely on some sort of "common sense" in a human that they built up during their time on this planet. But you cannot do that with LLMs, as while they're super-human in some ways, are still way "dumber" in other ways. For example, a human new to a job would pick up things autonomously, while an LLM does not. You need to pay attention to what you need to "teach" the LLM by changing what Karpathy calls the "programming" of the LLM, which would be the prompts. Anything you miss to tell it, the LLM will do whatever with, and it only follows exactly what you say. A human you can usually tell "don't do that in the future" and they'll avoid that in the right context. A LLM you can scream at for 10 hours how they're doing something wrong, but unless you update the programming, they'll continue to make that mistake forever, and if you correct it but reuse it in other contexts, the LLM won't suddenly understand that it doesn't make sense in the context. Just an example, I wanted to have some quick and dirty throw away code for generating a graph, and in my prompt I mixed X and Y axis, and of course got a function that didn't work as expected. If this was a human doing it, it would have been quite obvious I didn't want time on the Y axis and value on the X axis, because the graph wouldn't make any sense, but the LLM happily complied.
- nilirl 1y agoSo, if the humans have to model the task, the domain, and the process to currently solve it, why not just write the code to do so? Is the main benefit that we can do all of this in natural language?
- cyberax 1y agoA lot of time it's faster to ask an LLM. Treat it as an autocomplete on steroids.
- lowwave 1y ago>Is the main benefit that we can do all of this in natural language? Hit it right on the nail. That is pretty much the breakthrough with LLM has being. It does allow the class of non programmer developer to be able to tasks that once was only for developers and programmers. Seems like a great fit for CEO and management as well.
- candiddevmike 1y agoNatural language cannot describe these things as concretely, repeatedly, or verifiably as code.
- nilirl 1y agoI agree with you but I think the argument is that they can both exist together. Code to model what is easy to model with code, and natural language for things that are fuzzy or cumbersome in code.
- neutronicus 1y agoWell. Generally whatever code is produced fails utterly to describe, at all, let alone concretely / repeatedly / verifiably, "what the exec had in mind", because the exec devotes all of 10 seconds of thought to communicating it. The actual breakthrough might be social, in that "vibe coding" is exciting enough, and its schedule flexible enough, that it can actually coax high-level decision makers into putting real thought into what they want to happen.
- rybosome 1y agoThe honest answer is that we are still figuring out where to draw the line between an agent and a human, because that line is constantly shifting. Given your example of the resume screening application from the post and today's capabilities, I would say: 1) Should agents decide when to create a job post? Not without human oversight - proactive suggestion to a human is great. 2) Should agents design the job description itself? Yes, with the understanding that an experienced human, namely the hiring manager, will review and approve as well. 3) Should an agent email an opening round of questions to the candidates? Definitely allowed with oversight, and potentially even without a human approval depending on how well it does. It's true that to improve all 3 of these it would take a lot of work with respect to building out the tasks, evaluations, and flows/tools/tuned models, etc. But, you can also see how much this empowers a single individual in their productivity. Imagine being one recruiter or HR employee with all of these agents completing these tasks for you effectively. EDIT: Adding that this pattern of "agent does a bunch of stuff and asks for human review/approval" is, I think, one of the fundamental workflows we will have to adapt in dealing productively with non-determinism. This applies to an AI radiologist asking a human to approve their suggested diagnosis, an AI trader asking a human to approve a trade with details and reasoning, etc. Just like small-scale AI like Copilot asking you to approve a line/several lines, or tools like Devin asking you to approve a PR.
- nilirl 1y agoI can see value in it, but I'm unsure how much more value it provides compared to building software with my own heuristics for solving these problems. The LLM seems incredible at generating well-formatted text when I need it, like for the job description and emails. But hardcoding which signals matter for a decision and what to do about them, seems faster, more understandable, and maybe not that far in effectiveness from a well trained AI agent.
- hyperliner 1y ago[dead]
- Kapura 1y agoOne of the key advantages of computers has, historically, been their ability to compute and remember things accurately. What value is there in backing out of these in favour of LLM-based computation?
- nilirl 1y agoThey're able to handle large variance in their input, right out've the box. I think the appeal is code that handles changes in the world without having to change itself.
- bluefirebrand 1y agoThat's not very useful though, unless it is predictable and repeatable?
- nilirl 1y agoI think that's the argument from some of the other commenters: making it predictable and repeatable is the engineering task at hand. Some ways they're approaching it: - Reduce the requirement from 100% predictable to something lower yet acceptable. - continuously add layers of checks and balances until we consistently hit an acceptable ratio of success:failure - Wait and see if this is all eventually cost-efficient