It’s time for a self-reproducing machine

I’ve wanted to build a self-reproducing machine since I was 17. It’s forty-five years later, and it has finally become feasible. (I’ve done a few other things along the way.) I’m going to describe one such device, and speculate as to its larger implications. It’s a pretty detailed design, which I had to come up with to convince myself that it is feasible. No doubt there are better designs than this.

The Autofac

Here’s a top-level description of the device I’m thinking of. It’s called an Autofac, which is what they were called in the earliest story about them. It looks like a little metal shed, about a meter cubed. It weighs about 50 kilograms. There’s a little gnome-sized door on each end. It’s full of robot arms and automated machine tools. It’s connected to electricity and by WiFi to a data center somewhere. It has a front door, where it accepts material, and a back door, where it outputs useful objects, and cans of neatly packaged waste. You can communicate with it, to tell it to make parts and assemble them into useful shapes. It can do all the metalworking operations available to a machinist with a good shop at their disposal. In return, it occasionally asks for help or clarification.

One particular thing it can be told to make is another one of itself. This is of course the case we’re all interested in. Here’s what that looks like. You feed a 60kg package of steel castings, electronics, and other parts, into the door at one end. It starts by building another shed, next to the other end. The two sheds are butted up next to each other, so the rain can’t get in. Once it’s enclosed, there is no visible progress for about a month, but it makes various metalworking noises. Then it announces that it’s done. The second shed is now another Autofac, and can be carried away to start the process elsewhere. There’s also a can full of metal scrap and used lubricant, which has to be disposed of responsibly. This process can be repeated a number of times, at least seven, to produce more offspring. Eventually the original Autofac wears out, but by then it has hundreds of descendants.

The software

The key part of the Autofac, the part that kept it from being built before, is the AI that runs it. Present-day VLMs (vision-language models) are capable of performing short-deadline manual tasks like folding laundry or simple tool use. But they are deficient at arithmetic, long term planning and precisely controlling operations. Fortunately we already have software for these three purposes.

First, of course, we have calculators for doing arithmetic. LLMs can be taught to use these. In the real world, machinists constantly use calculators. The Autofac will be no different.

Second, there is project planning software that lets a human break down an engineering project into tasks and subtasks, and accommodate changes of plan as things go wrong. We can provide the data structures of this software, initially constructed by humans, as a resource for the AI to use. The AI only has to choose the next task, accomplish it or fail, and either remove it from the queue or add a new task to fix the problem. There are thousands of tasks in the life of an Autofac; fortunately the AI doesn’t need to remember them all. The project planning software keeps track of what has been done and what needs to be done.

Third, there are programs that go from the design of a part to a sequence of machine tool movements that will make that part, and then controls the machine tool motors to do the job. These are called Computer Aided Manufacturing, or CAM. Using CAM relieves the AI of the lowest level responsibilities of controlling motor positions and monitoring position sensors. This software doesn’t do everything, of course, which is why being a machinist is still a skilled job. The AI needs to clamp parts in place for machining operations, notice when something goes wrong, change plans flexibly, and many other intelligent activities.

When the AI runs into a problem it doesn’t know how to handle, it can ask a human for help. This is where the language part of the vision-language model comes into play. The questions and answers from any one Autofac will need to be fed back to all Autofacs, so they don’t also ask the same question. As the number of Autofacs grows exponentially, the amount of human assistance to any one Autofac will have to drop exponentially. This requires updating the VLM on the fly; I’m not sure how that will work.

The VLM will require training data to specialize it into being an Autofac. There are thousands of books about metalworking, providing cheap training data. Even books more than a century old can be useful; metalworking hasn’t changed that much. There are also thousands of hours of video of machinists building things, while explaining what they’re doing and what they’re thinking. This is very useful, provided the VLM is smart enough to generalize from humans to a robot arm. Finally, we could teleoperate the Autofac, to carry out all the needed task. At the same time, the operator could narrate their thoughts. This would provide the highest-quality training data, but at a high price.

Because most of the software runs in a data center remote from the Autofac, it can be shared between Autofacs. This allows it to not have to think very hard when things are boring, and very hard when something goes wrong. Since a lot of machining is just watching the machines until they finish, this lets us economize on computer power during the boring bits.

Economics

The smallest technological system capable of physical self-reproduction is the entire economy. Obviously it’s not possible to duplicate the entire economy. But because we can take inputs from the economy, we can design a machine capable of converting these inputs into a copy of itself. The goal is to minimize and simplify inputs to the extent possible. If an Autofac is going to be economically reasonable, it has to capable of providing services that exceed the cost of its inputs. There have been self-reproducing machines since the 1950s, that require complex manufactured parts, and provide no particularly useful service. This is not that. The Autofac described above is a profitable device all by itself. There is a small but lively industry of custom parts manufacturing—send them a CAD design, and they’ll send you the parts by return mail. This is exactly what the Autofac is designed to do, when it’s not building another one of itself.

How long is the self-reproduction time?

It’s been observed many times that a machine shop is capable of manufacturing any part of itself, given steel, a machinist and enough time. It has just become feasible to embed the intelligence of a machinist into electronics. So now we can say “a machine shop is capable of manufacturing itself from steel and a copy of its electronics, given enough time.”

We can make an estimate of how much machinist time is required for a machine shop to duplicate itself. We can do that as follows. We know the weight and cost of all the machines. We can find the resource cost by assuming the machines are made out of mostly steel, and assume that all the remaining cost was the labor used in manufacture. Notice that this is an overestimate of the labor cost, because it ignores transportation, marketing, profit and all other costs. Also, the resource cost is relatively small—steel is cheap compared to the things we make from it. We can assume that all this labor is provided by our robot arms, at the same speed as a human. And from this, we can work out how long it takes for our machine to produce another one of itself.

The estimate comes out to about a year for a machinist to build another machine shop. I confirmed this estimate by asking a professional machinist, so that’s weak evidence that it’s not wildly off.

The cubic meter of an Autofac contains, roughly:

  • A robot, 30 cm tall, with two arms and a mobile base

  • A 3-axis CNC mill

  • A 2-axis CNC lathe

  • A tool grinder

  • A ball bearing making machine (really just an attachment for the grinder)

  • A motor winder attachment for the lathe

  • A thread rolling tool for the lathe

  • A heat treating oven

  • A manually operated rotary axis (for gears)

  • A wire drawing machine

  • A sheet rolling machine

  • An arbor press

  • A bunch of precision “hand” tools.

They’re all about 15 the scale of ordinary machine tools. Machine tools scale quite nicely. As long as motion velocity remains constant, making the machine smaller by a factor X makes it faster by X, but strain, stiffness and accuracy are the same. In this case, the factor is X=5. (Except that electric motors get bigger in proportion as you scale everything else down. But it’s not bad. Also the oven doesn’t scale right either. But that’s small for compared to the size of the whole machine shop, so even if it gets relatively bigger, that’s not too bad.)

The Autofac doesn’t have to sleep or rest, so that’s a factor of four speedup. But it’s clumsier than a human, so lets double the time. So the estimated self-reproduction time is (1/​5)*(1/​4)*2 of a year, or five weeks.

This may be an underestimate, if there are marvelous machines used in the assembly of machine tools, that I’ve forgotten to include, but which provide great productivity with little labor. I think I know enough about the production of machine tools that I’ve included all such machines: that’s why I include specialized machines for wire drawing, motor winding, sheet metal rolling, screw manufacture, and grinding ball bearings.

The original Autofac is only capable of building small parts, but it can also build a somewhat larger Autofac, which in turn can build one even larger. Autofacs can scale up to build whatever you want. It turns out that because the time is proportional to the scale, it’s optimal to do as much self-reproduction as you can at the smallest scale, only scaling up at the end, when you need to.

Next Steps

So at first the Autofac is a Minimum Viable Product. This is nifty, but the market for small custom parts is limited. What’s the next step in scaling? It turns out that much of the cost is in electricity (3 kW, continuously). To make our own electricity, we have the Autofac build a windmill generator. You could build one windmill per Autofac, but the power available from a windmill scales as the fifth power of the height, so it probably makes sense for a group of Autofacs to build one giant windmill to serve them all. (I haven’t worked out what tools and materials are needed to do this.)

Most of the input is steel. Scaling from the size of the US economy, an Autofac requires 92% steel by weight, 6% lubricant and cutting fluid, 2% everything else: copper wire, refractory clay, grinding wheels, abrasive powder, insulation, tungsten welding tips, rustproof paint, all the electronics. The steel can come in as rods, plates, and pieces cast into various shapes. The Autofac itself can roll the plates into sheet, and draw the rods into wires. So the next thing we need the Autofacs to build is a steel mill, to turn rock, air and water into cast steel. There’s a minimum size for a steel mill, which is pretty big, set by the rate of heat loss from a mass of molten steel. It doesn’t make sense to have a heat of steel smaller than a cubic meter (haven’t actually done any calculations here, just guessing.) That’s enough steel to build 100 Autofacs, and if an Autofac needs a reload once a month, and a steel mill can make five heats a day, one steel mill is enough to keep up with 15000 Autofacs.

Finding iron ore isn’t a problem: iron is the fourth most common element in the earth’s crust, and you have to make some effort to find rock that doesn’t contain iron. (As a child in Southern California, I used to amuse myself by dragging a magnet through the dirt and pulling it out fuzzy with iron ore.) If you heat up iron-rich rock to white heat, and then blow hydrogen through it, the iron gets reduced before most other elements, and forms a metallic sponge. After you’ve spongified most of the iron, you separate it, melt it in a crucible, add an appropriate amount of carbon, and pour it into molds. Presto, steel! The hydrogen you can get by electrolyzing water, and the carbon by extracting carbon dioxide from the air, and reducing it with hydrogen. I haven’t worked out how much electricity this all takes; I hope not too much.

Given sources for steel and electricity, all we need to supply is the Autofac “starter pack”, which weighs about a kilogram and contains all the non-steel parts described above. We need to drive down the cost for this as much as possible. We need to ride the learning curve for manufacturing the starter pack down, down, down.

The Baffin Island Plan

You probably aren’t familiar with Baffin Island, so let me describe it. It’s in the Canadian Arctic, between Hudson Bay and Greenland. It’s bigger than California, but is home to only 15,000 people. It produces iron ore, from one iron mine, some native handicrafts, and no other major exports. It’s mostly caribou-infested tundra, but there are substantial areas of barren rock. It is usually below freezing, constantly windy, and much of it is dark six months of the year. I love it; it’s perfect.

There are portions of Baffin Island of great natural beauty or local economic importance. We will avoid those portions. That still leaves 400,000 km^2, enough for over a billion Autofacs. (The limit is not actual land area; the limit is the windmill spacing for wind power. The actual Autofacs take up a relatively small amount of the area, leaving room for the caribou.)

Here’s the story. We put one Autofac on one of the less habitable parts of Baffin Island. At first, we have to provide electricity, steel, and Autofac starter packs. After one year, we have a thousand Autofacs, and they’re starting to build windmills and a steel mill. Now we only have to provide starter packs. Another two years and a billion starter packs later, we have a billion Autofacs. Now we can really get to work. About a third of the Earth’s industrial capacity is ours to do with as we will. We can

  • Fix carbon out of the atmosphere. If it can be turned into lubricant for the starter pack, so much the better.

  • Pump ocean water onto land, and let it freeze. Keep the resulting salty glaciers insulated when the weather is too warm; on cold nights roll back the insulation and freeze them harder. This lowers the ocean level and makes beach dwellers happy.

  • Manufacture anything that can be built out of steel, plus ships to take it to civilization.

  • Turn control of the Autofacs over to AI. I’m sure it will be fine. Nothing can possibly go wrong.