Automation with a Human Touch
Exploring the concepts of autonomation and multi-skilled workers from Toyota's Production System in a world of generative AIs.
Like many people in the tech industry, I’ve been thinking a lot about the latest developments in AI and what impact it may have on products, businesses, and society. It’s clear to anyone who’s played around with these latest models and tried to incorporate them into their lives and their work that they’re going to change things.
But how exactly they will impact our lives is still not yet clear. The initial implementations of these tools as chatbots has taken the world by storm. But it’s also just that, the initial implementation. We have a ton of iterations to go and I’d expect the way these tools are used and integrated into our lives is only going to change more and more over time.
One of the things that I like to do whenever thinking about something that tries to predict the future or takes the form of “how will X play out?”, is that I like to try and find other examples from history or other industries that have had similar dynamics or appear to be good analogies for the present moment. In the search for how generative AI and the future of work might play out, I came across the Toyota Production System.
Toyota is well-known for their high quality and long lasting cars, which has helped them become one of the world’s most valuable car manufacturers1. This is in no small part due to the way they do things. Toyota’s Production System, as it’s known, has been studied by business school students for decades as a great example for how to run a manufacturer and business more generally. In fact, many of its concepts have now been widely adopted by other industries, like tech. Not every software engineer or tech CEO might know that Kanban and lean startup concepts come from Toyota but that is where they originate from.
However, it was only until I recently read the book Toyota Production System by Taiichi Ohno (the man who created it) that I came across two concepts that I think could help us think about the future of work with generative AI: autonomation and multi-skilled workers.
The first concept, autonomation, was new to me but is actually one of the two core pillars of the Toyota system (the other being “just in time” manufacturing). Ohno describes autonomation as “automation with a human touch”. This is such a powerful concept and one that I think is especially relevant in a world of generative AI.
What autonomation meant at Toyota was giving human intelligence to a machine. Specifically, what that meant was that all of the machines that are used in a Toyota manufacturing plant are equipped in a way that allows it to automatically stop whenever it detects an issue. That’s when a human would get involved to figure out what went wrong, correct it so that it won’t happen again in the future, and resume the process. This has helped Toyota catch issues before they compound and cause a lot of waste (reducing waste is one of the main goals of the Toyota system). Toyota not only applies the concept of autonomation to their machines, but also their processes overall, like how their production lines work.
I thought this was such a powerful concept when thinking about generative AI and how it might be incorporated into businesses and our daily lives.
Anyone who has played with these models and tools so far will tell you that they are far from perfect. They often make mistakes like making things up or getting something 90% of the way there but running into an issue in the last 10%. A lot of noise on social media has been made about this, some pointing to this as the reason that they cannot be trusted or used to do “real work” (whatever that means). And while many of the models have been getting better, they’re still subject to the same issues, just less of them.
However, if we look at generative AIs through the lens of autonomation, we might be able to find a better approach for how we can use them in our work and our lives. Instead of thinking that these machines will be perfect and never screw up, we should instead approach them as devices that can help automate a lot of things but still require human touch to get to the ideal outcome.
The way Toyota did this was to equip their machines with special devices that allowed it to self-detect an issue and then stop producing once an issue was detected. Could we not potentially do the same? I could easily imagine a feature of ChatGPT being something where each output of the model could be run through some checker and raise a flag if an issue was potentially detected (sort of like a linter in programming2).
Of course, there’s a lot of complications with doing something like this, and the natural question will arise, if we can detect the issue, why can’t the AI detect it in the first place or just update itself? And maybe they will! But at some point, I think having a human get involved is a powerful piece in making these machines work better3. Just like Toyota, the goal of flagging an issue and having a human look into it was to avoid having it again in the future, which makes the automation even better going forward4.
And that brings us to the second concept, multi-skilled workers. One of the interesting things that seems like it could play out in the near future is a shift in the labor market from specialty skillsets to more general ones.
Over the last couple decades, many jobs have gone hyper specialized, where people focused on one (or only a few) skill sets in their day to day work, because that was the most economical way to divide up the work to be done. And workers who specialized received the benefits of this. You can think of this concept as an environmental lawyer vs a corporate tax lawyer, or for a software industry example, backend engineers vs frontend engineers. In fact, this concept probably describes the job of almost everyone reading this today.
But generative AI might change this and shift most of us back towards a more generalist model, where one person does the work of what used to take many5. For example, one of the things that Taiichi Ohno pointed out about the differences between American car company manufacturing and the way they did things at Toyota, was that in American factories, one worker was assigned to each machine but in Toyota factories, one worker was assigned to many different machines. In the American model, workers specialized on a particular machine but this meant a lot of downtime, aka waste, because if the machine was functioning properly, the worker wasn’t really needed, it was only when something went wrong that they were needed.
Conversely, in the Toyota model, one worker was to oversee many different machines, which meant that they could still hop in and fix things if something went wrong, but were able to have one worker oversee an entire workflow end to end, reducing waste. In addition, a key part of this model was that they didn’t oversee multiple of the same machines, but rather multiple machines in a full cycle of production. Why this mattered was because it was the production flow (aka go from raw materials to final car) that was the most important thing at the end of the day, so that should be each worker’s main focus. This meant that workers had to be multi-skilled.
And this is where I think we might be heading in a world full of generative AIs. For example, software engineers might stop specializing in just frontend or just backend. If you could have a generative AI write most of the code for you (with oversight as mentioned above), specializing in a particular flavor of programming might not make much sense. And if the final product is what matters most, maybe it’s best to have workers responsible for the full thing end to end, not just pieces of it. In fact, you could take this further and if you can use AI to help you generate designs, product specs, marketing campaigns, etc. you could in theory be one worker to oversee everything about a product, from development to selling it. And I think this is where we might be heading.
This may make people then say, “this means we’ll have less workers!”, but that is short sighted. If you have one person that could do the job of many, imagine how many more things you could produce?
For example, I know that almost every software company out there today has a backlog of features, marketing ideas, sale prospects, etc that they could be doing but can’t because they don’t have enough resources. If we had more multi-skilled workers with generative AI as their assistants, we might be able to realistically get much more of that backlog done. That’s good for customers, which is good for business, which is good for workers. Kind of a win-win scenario.
Of course, all of this is speculative, glosses over some of the finer details, and who really knows what the future has in store for us, but I do think there’s something here. Toyota is world renown for their processes and the quality of their products, it’d be silly to ignore the concepts they’ve developed and lessons that they’ve learned along the way. As the saying goes, history doesn’t repeat but it sure does rhyme.
I found these two concepts autonomation and multi-skilled workers to be highly thought provoking as I began to think about our future with generative AI and thought worth sharing. Hopefully this has been helpful for you too.
If these concepts are interesting to you, I highly recommend reading the book Toyota Production System by Taiichi Ohno. There’s a lot of great stuff in there besides these two concepts. It’s amazing to me how one thoughtful system could have so many valuable features to it that apply across a wide array of industries. I guarantee that there’s something in there that you could apply to a problem you’re facing today. Another great example of how thoughtfulness is a huge competitive advantage.
Number 2 as of April 14th, 2023.
A linter is a software program that attempts to detect issues in your code. It’s programmed using a set of rules to apply to the code, for example: “variable names should always be lowercased and use a _ between words”.
This also has the added benefit of helping with alignment, which is a popular subject in the AI world right now around how do you better align artificial intelligent machines with humans. Autonomation might point to some of the answers.
In fact, I’ve already implemented models like this myself in my own workflows. I’m now using the latest models to generate a first pass at a task, executing the task, attempting to fix any errors, and only raising an issue if it cannot figure out how to fix it itself.
For example, I created a program that I can ask a question and it 1) generates SQL code based on the question, 2) runs the SQL code through a linter to correct any obvious mistakes, 3) executes that code against the database to get a result, 4) if it hits an error on execution, feed the error back to the model to correct it, and 5) run the code again. If an error repeats, then it stops and throws an issue, otherwise it goes until an answer can be generated.
I’m no economist and I recognize that there are economy-wide dynamics at play here. It’s also very true that being unique is valuable and why people have specialized too, it may just play out differently then it does today.