i'm not a fan. abstractions will inevitably become leaky and then people will be screwed. don't get me wrong, by all means, use them to iterate faster. but the idea that we'll use the so called NLAPIs without bothering to understand the actual code is ridiculous
I figured someone would reply with this. Yes, and it is already an issue. However the issue isn’t as bad for a variety of reasons, notably better abstractions.
I would argue natural language can never be as precise as code without being effectively a new programming language. The effectiveness as desired is specifically due to the imprecision necessary.
I think they are analogous. One advantage in the programming language model though is you can pick your level of abstraction, from wysiwyg wizard time UI dialogs, to declarative languages, to languages like python, to C, to assembly, to FPGA/ASIC work. The microcode on mainstream chips is closed to us, so not much we can do at that level of abstraction. Similarly the APIs these tools use go from web services to libraries to local system services to libraries to direct syscalls to directly interacting with hardware.
The number of people working with each layer directly probably drops monotonically as we get closer and closer to the hardware.
ChatGPT type interfaces just seem like one big opaque blob. How do we peel the onion? Does anyone even know what those layers are or understand them?
Hey ChatGPT, your code is throwing excetpion XXX/causing unintended behaviour YYY, please adjust your code.
I agree with your sentiment though, people are going to cut themselves on a lot of sharp edges, but lazy devs or people after unsustainable velocity will run unvetted code anyway.
Why not just hook up ChatGPT up to a Zapier plugin? Sure it’s super centralized, but would work now.
Albert Wenger from Union Square Ventures (who I know since 2014) wrote a book called worldaftercapital.com . And he mentioned years ago that you should have personal assistant agents book stuff for you etc. and answer queries. Well that would require a more decentralized, open source approach:
It's like WYSIWYG web page tools. It will increase accessibility to APIs for less technically inclined people, but for a technical person trying to make a sophisticated product, it'll just get in their way.
The same can be said for higher level vs lower level languages.
We're constantly creating new abstractions for our tooling to make the computers do what we want to do, but we've never gotten rid of the need for people to get underneath that tooling and get down a layer or two or three of abstraction.
My expectation is the pattern repeats, way more people get into this game, wages for people higher in the stack go down as their skillset gets democratized (e.g., that guy in the late 90s who knew HTML), and those that know how to peak under the covers become less needed numerically, but more essential when the rubber meets the road.
I agree. The way I see it, natural language interfaces, including LLMs, allow for ambiguous and less specific input. Compilers and interpreters are useful because they are very deterministic and require a strictly defined input. Conceptually using chatbots to develop software is just another low code hype train.
Yes, there will be human language interfaces to existing APIs.
But: The APIs themselves will still be in their own “non natural” language. Precisely because such a technical language defines boundaries.
Even the author, in his example, admits to using AWS’ “terminology”.
And that’s the point: In order to use an API, you must understand its basic concepts and limitations.
The new “plug-ins” that OpenAI announced are proving this point. They are precisely the glue between the gooey human language understanding of ChatGPT and the prickly language of an API (to use some Alan Watts terminology).
15 comments
[ 4.1 ms ] story [ 39.7 ms ] threadI would argue natural language can never be as precise as code without being effectively a new programming language. The effectiveness as desired is specifically due to the imprecision necessary.
The number of people working with each layer directly probably drops monotonically as we get closer and closer to the hardware.
ChatGPT type interfaces just seem like one big opaque blob. How do we peel the onion? Does anyone even know what those layers are or understand them?
I agree with your sentiment though, people are going to cut themselves on a lot of sharp edges, but lazy devs or people after unsustainable velocity will run unvetted code anyway.
Albert Wenger from Union Square Ventures (who I know since 2014) wrote a book called worldaftercapital.com . And he mentioned years ago that you should have personal assistant agents book stuff for you etc. and answer queries. Well that would require a more decentralized, open source approach:
https://continuations.com/post/96355016855/labor-day-right-t...
https://openai.com/blog/chatgpt-plugins
The same can be said for higher level vs lower level languages.
We're constantly creating new abstractions for our tooling to make the computers do what we want to do, but we've never gotten rid of the need for people to get underneath that tooling and get down a layer or two or three of abstraction.
My expectation is the pattern repeats, way more people get into this game, wages for people higher in the stack go down as their skillset gets democratized (e.g., that guy in the late 90s who knew HTML), and those that know how to peak under the covers become less needed numerically, but more essential when the rubber meets the road.
Yes, there will be human language interfaces to existing APIs.
But: The APIs themselves will still be in their own “non natural” language. Precisely because such a technical language defines boundaries.
Even the author, in his example, admits to using AWS’ “terminology”.
And that’s the point: In order to use an API, you must understand its basic concepts and limitations.
The new “plug-ins” that OpenAI announced are proving this point. They are precisely the glue between the gooey human language understanding of ChatGPT and the prickly language of an API (to use some Alan Watts terminology).