Trying to reason about the future
With all the advances in artificial intelligence, I am trying to wrap my head around where technology is going. (I finally feel comfortable saying I work in AI now, not just machine learning!) I want to think clearly about what the world will look like in a month, a year, a decade. With the rate of advancement happening today, and the wide range of possibilities for where we’re headed, coming up with good projections requires careful thinking.
Defining a lower bound tech tree
To help organize my thinking, my idea is to build what I am terming a lower bound tech tree. I’ve asked GPT-4 to build such a tree, which you can play with below.
A lower bound tech tree is a tool to help you make estimates of the upper bound for how long it will take to reach some minimal (aka lower bound) level of technology (or better!).
Take household robots as an example. When will we have robots that can perform a range of domestic activities, like folding laundry, washing and putting away dishes, and cleaning irregular surfaces? For any particular vision of what such a robot might look like, one can come up with an estimate for how long will be before we can realize this vision. E.g. one might imagine a bipedal robot with stereo vision and a 6 DOF arm, and estimate it will be six years before this becomes available for general consumers. However, we might be able to achieve the same purpose (automating domestic activities) sooner via a different vision. Hence, the six year estimate is an estimate of the upper bound on how long it will take to get the level of technology we’re interested in, and the capabilities listed constitute a lower bound on the quality of the technology we estimate will be available in that time.
One metric that I’m interested in is: What fraction of the GitHub issues available on January 1, 2023 can be solved by an automated system? Over time, the issues people open on GitHub will increase in complexity, so to make the metric meaningful, we hold the set of issues that we’re interested in fixed, even as the capabilities of our programming tools increases.
A technology we might envision is a programming tool where directly in the editor, you can type with natural language text, and it will write the code for you. Another we might envision is being able to open a GitHub issue and have an AI agent open a PR. These are things we can do at one level of quality today, and will be able to do at a much higher level of quality tomorrow. But by the time the quality reaches the point where we will have “achieved” this technology, will we still need it? I don’t have the answer to that question, but that is the line of thinking that leads me to call this a lower bound tech tree.
Here, you can play with the Tech Tree that GPT-4 put together. It didn’t get too much guidance, so give it a break on its choices of technologies and timelines.
The main purpose of this snippet is to post the work-in-progress tech tree visualization that follows that was largely assembled via GPT-4. You can ask it to add additional technologies to the visualization if you first paste in your OpenAI API key (it’s never sent to my server, just used locally).