> LLMs definitely represent a step change in what computers can do. But rather than have them spew code at our current levels of abstraction (or even less abstract, as seems to be proposed here) and increasing the amount of mediocrity in the world, we should figure out how to leverage them to write code at a higher level of abstraction. To make US more powerful. @luke I am quoting this statement of yours since I think it deserves a thread of its own. What do you have in mind, when you are thinking about higher levels of abstraction? How could we explore that direction in the context of Clojure libraries?
I don't have a scripted path or advice other than to be curious, share interesting ideas, and just build. Get excited. These are exciting times, in which the first thing to explore about a new idea is it's technical feasibility. For the past decade or so, if you wanted to build a startup, product/market was way more important than tech. Now, that's not necessarily true and we can experiment and find disruptive ideas as technologists. You still need the product/market piece for a business, of course, but in the current climate that should come second to finding a way to actually applying the tech well. So many AI startups are eating dirt in terms of concrete value provided because they're starting from a product idea without first considering can LLMs even do this well.
I have a lot of ideas here which I'd be happy to discuss (my Conj talk is a reasonable starting point.) But my meta point, which I think is the most important, is that capable LLMs are still only 2 years old. We definitely don't know the most effective way to use them yet, and when we're searching for how to apply them well, there's a lot of paths that sound more promising to me than generating code.
I think this is a huge opportunity for the Clojure community, since we (as a group) tend to think of things in more abstract and composable ways than the dominant paradigm. If you want a LLM to generate code for you, that path is being very thoroughly explored by the "mainstream" silicon valley tech community. Fine, it's better at Python anyway. Lets get creative. Clojure is a great platform for inventing a fifth-generation language incorporating LLMs as @ashley_mcclenaghan astutely notes.
This is encouraging (and your Conj talk did help!). Continuing on that, would it make sense to ask, what can we do to help Clojurians get creative in this field? I am not creative, but I can help organize study sessions and explore certain paths that would make sense exploring on the open-source side. Maybe there are certain academic papers, or much more basic practices, that would be helpful to reproduce and demonstrate as Clojure tutorials. Could we pick them wisely? What would possibly support our goal of making Clojure relevant in this field?
(…maybe this interestingly overlaps with, or widens the definition of https://en.wikipedia.org/wiki/Fifth-generation_programming_language 🙂 )