5 ms·
On the other hand it might become a next level of abstraction. Machine -> Asm -> C -> Python -> LLM (Human language) It compiles human prompt into some interm
by shcheklein 2y ago
On the other hand it might become a next level of abstraction.
Machine -> Asm -> C -> Python -> LLM (Human language)
It compiles human prompt into some intermediate code (in this case Python). Probably initial version of CPython was not perfect at all, and engineers were also terrified. If we are lucky this new "compiler" will be becoming better and better, more efficient. Never perfect, but people will be paying the same price they are already paying for not dealing directly with ASM.
- MVissers 2y agoYup! No goal to become a programmer– But I like to build programs. Build a rather complex AI-ecosystem simulator with me as the director and GPT-4 now Claude 3.5 as the programmer. Would never have been able to do this beforehand.
- saurik 2y agoI think there is a big difference between an abstraction layer that can improve -- one where you maybe write "code" in prompts and then have a compiler build through real code, allowing that compiler to get better over time -- and an interactive tool that locks bad decisions autocompleted today into both your codebase and your brain, involving you still working at the lower layer but getting low quality "help" in your editor. I am totally pro- compilers and high-level languages, but I think the idea of writing assembly with the help of a partial compiler where you kind of write stuff and then copy/paste the result into your assembly file with some munging to fix issues is dumb. By all means, though: if someone gets us to the point where the "code" I am checking in is a bunch of English -- for which I will likely need a law degree in addition to an engineering background to not get evil genie with a cursed paw results from it trying to figure out what I must have meant from what I said :/ -- I will think that's pretty cool and will actually be a new layer of abstraction in the same class as compiler... and like, if at that point I don't use it, it will only be because I think it is somehow dangerous to humanity itself (and even then I will admit that it is probably more effective)... but we aren't there yet and "we're on the way there" doesn't count anywhere near as much as people often want it to ;P.
- sdesol 2y ago> Machine -> Asm -> C -> Python -> LLM (Human language) Something that you neglected to mention is, with every abstraction layer up to Python, everything is predictable and repeatable. With LLMs, we can give the exact same instructions, and not be guaranteed the same code.
- 12345hn6789 2y agoassuming you have full control over which compiler youre using for each step ;) What's to say LLMs will not have a "compiler" interface in the future that will reign in their variance
- sdesol 2y ago> assuming you have full control over which compiler youre using for each step ;) With existing tools, we know if we need to do something, we can. The issue with LLMs, is they are very much black boxes. > What's to say LLMs will not have a "compiler" interface in the future that will reign in their variance Honestly, having a compiler interface for LLMs isn't a bad idea...for some use cases. What I don't see us being able to do is use natural language to build complex apps in a deterministic manner. Solving this problem would require turning LLMs into deterministic machines, which I don't believe will be an easy task, given how LLMs work today. I'm a strong believer in that LLMs will change how we develop and create software development tools. In the past, you would need Google and Microsoft level of funding to integrate natural language into a tool, but with LLMs, we can easily have LLMs parse input and have it map to deterministic functions in days.
- theptip 2y agoI’m not sure why that matters here. Users want code that solves their business need. In general most don’t care about repeatability if someone else tries to solve their problem. The question that matters is: can businesses solve their problems cheaper for the same quality, or at lower quality while beating the previous Pareto-optimal cost/quality frontier.
- thesz 2y ago
- vages 2y agoIt may be a “level of abstraction”, but not a good one, because it is imprecise. When you want to make changes to the code (which is what we spend most of our time on), you’ll have to either (1) modify the prompt and accept the risk of using the new code or (2) modify the original code, which you can’t do unless you know the lower level of abstraction. Recommended reading: https://ian-cooper.writeas.com/is-ai-a-silver-bullet https://ian-cooper.writeas.com/is-ai-a-silver-bullet