
Most people would love to delegate some of the boring, recurring tasks in their lives to an assistant. One major obstacle1 to delegation is that it is frequently more challenging to convey a task to an assistant2 than to simply do the task oneself. We can consider a spectrum of approaches to delegation, organized by level of control.3
Instruction. Provide list of actions for the assistant to take.
Demonstration. Complete the task while the assistant observes.
Explanation. Describe the goal of the task to the assistant.
To describe each in a bit more detail:
1. Instruction. A highly-competent authority can delegate to a less competent assistant by providing a detailed set of instructions. The more specific the instructions, the better the execution of the assistants will be. But approach has some limitations. Firstly, the assistant’s success at the task will be capped at the ability of the authority: nobody can write instructions to do a task better than they themselves know how to do it. Secondly, this approach requires the authority to be good not only at executing the task, but also at writing instructions for it, and these are not the same skill; many can execute with excellence, but struggle to explain how. Finally, even for a highly-skilled authority with good teaching ability, writing down detailed instructions is a lot of effort, and distracts from actually doing the task.
2. Demonstration. If a authority and assistant are both competent, exposition can be done by example (as in the classic master/apprentice dynamic). The authority doesn’t need to be skilled at writing down instructions, or exert any particular effort towards making his or her actions legible.4 The assistant will simply observe for a while, and then gradually begin to take over, until the task has been fully delegated. The assistant may even manage to surpass the authority’s ability. However, this does require some trust in the assistant’s ability to pick up the skill, and (compared to rigid instruction-following) takes on some risk that the trained assistant will do something unexpected and foolish.
3. Explanation. At this end of the spectrum, a potentially-incompetent authority simply explains the task to a highly-competent assistant. This is the most commonly-seen form of delegation, the one we use when hiring a plumber, or speaking with a tax attorney, or ordering food from a restaurant. It requires an assistant who already has a wealth of background knowledge on the task, and is merely using the discussion with the authority to fill in the gaps around the specifics of what needs to be done. With this approach to delegation, little effort is required of the authority, and the assistant’s abilities will almost always outstrip the authority’s. However, this approach gives the authority the least direct control of the outcome, and is the most reliant on having chosen a sufficiently-competent assistant.
This framework of delegation is intuitive when it comes to humans, and useful by analogy when it comes to computers. In particular, it helps us understand what various people may mean by “AI-enabled technology”, and how to think about building products around it.
Traditional programming is delegation via instruction. A computer is a perfect rule-following machine. A program is a specific, non-ambiguous set of instructions that the computer can follow. The job of a programmer is, of course, to write a program: to transcribe the precise sequence of actions that the computer must take to accomplish some goal. In a sense, every programmer is like the ultimate micromanaging boss, and every computer is like an overly-literal underling.
The first major AI wave, which kicked into high gear in 2012, was all about delegating to computers via demonstration. Machine learning is the umbrella term for this approach, wherein a computer’s behavior is controlled by showing examples of desired behavior, and not explicit instructions. Demonstrating to a computer has many of the same pros and cons as demonstrating to a human assistant: for example, that providing demonstrations can be time-consuming (albeit not nearly as time-consuming as writing explicit instruction).
The second major AI wave, which swelled in late 2022, finally unlocks delegation via explanation. Utilizing a large language models like ChatGPT or Claude should be thought of as analogous to hiring a consultant. When delegating a task to ChatGPT, it should be for a task that the model is already an “expert” at. The process of delegation is simple: just prompt the model with context on the task you want completed, and see what it puts together. However, as with delegating to a human consultant, this means putting a lot of trust into the competence of the assistant. There is not much direct control over the outcome of the task, and if the results aren’t up to par, there’s not a lot of recourse. (For a human, you would likely hire someone new, but at the moment, there’s not too many options for AI assistants and they all seem to perform similarly.)
This conceptual breakdown should clarify what various modern developments in AI5 bring to the table, and form a jumping-off point for a broader understanding of how this technology fits into the software product ecosystem. Going forwards, expect further progress in the field to yield increasingly powerful generalist agents; essentially, bringing better and better consultants to the table. The applications of the future are the products that become possible when you can imagine delegating some subtask to an extremely competent consultant.
Obviously, the largest obstacle in most cases is money, especially when delegating to a human (and not a computer). But once we assume unlimited resources (or cheap computers), the issue of exposition kicks in.
In this essay, I use “authority” to refer to the entity who is delegating, and “assistant” to refer to the entity being delegated to.
The first two levels, instruction & demonstration, are essentially the same as what Andrej Karpathy called Software 1.0 / 2.0, and the third level, explanation, is the reasonable choice to be called Software 3.0.
In the platonic ideal of demonstration, at least. Of course, in practice, most good mentors will go out of their way to instruct a protégé.
Somewhat confusingly, the term “AI” is used to refer to delegation to computers both via demonstration & via explanation.