Machine Vs Tool
Machine vs Tool
As I have been developing and working on my own projects, I've come to recognize that technology falls into two categories, tools vs machines.
Tools is technology which is wielded by the user. They are applied incrementally and used to explore or navigate through the state space. Think of a saw cutting wood, they are applied incrementally by the user to accomplish. The shared trait is that they are wielded and provide some sort of unlock or enhancement, ability to modify their surroundings. Tools are adopted when there is a level of uncertainty which needs to be handled, either the user doesn't know the end state or the middle path carries uncertainties.
Machines are when everything is accounted for. There is a clear beginning point A and endpoint B. Not only are the states clearly defined, but the method of getting there is also defined, the technological system either doesn't allow for unexpected conditions or can handle them all reasonably. Think of a metal stamping machine.
An example of tool versus machine is moving a large rock in your backyard. A tool would be a exoskeleton, which enhances the user allowing them to pick up and move the rock. All navigating and movement is handled by user themselves and allows the user ot explore placements of the rock, like for the purposes of designing a garden. A machine would be a robot which picks up and moves the rock, with an example purpose is getting rid of the rock, the user instructs position A and position B.
Abstraction & Gradient
One thing becomes clear is that the two lines are strict, and are more of a gradient. Not only that, a machine can become a tool. In the last example you might have thought about how the robot could do teh exoskeletons job of allowing us to explore the positioning and design space of our rock in the garden. This is true, machines can be wielded and abstracted into tools!
The general properties of a tool is feedback and control. Where the mode of tool usage is to explore or navigate.
It helps to think of driving. Driving & cars is a tool for navigation. Typically we have a destination when driving, but only recently have we seen driverless cars. The reason there is that driving has uncertainty in the navigation, road conditions are varying and complex. It's only until modern NNs which can begin to account for the numerous conditions of the road.
As processes mature, and the middle parts become accounted for, tools turn into machines. The input, output, and middle crystalize into an automated process.
Wisdom & Application
I found the distinction mattering with a lot of my work developing with LLMs and AIs. We typically approach a problem with loosely defined idea of inputs, outputs, and middle. But programming is a design discipline, and the works starts out more tool like.
Then as I develop further and further, the process begins to mature. All the inputs, outputs, and middle navigation begin to crystalize and the machine forms.
When automating it;s important to limit scope! You need to allow for crystalization if you want to develop a machine and automate something. Scope creep is going to be your biggest enemy, welcome constraints so you can actually get the job done.
Lastly for a machine to in turn become a tool, it helps to make it responsive. It doesn't always have to be, a machine could just be a sub-process in an exploration step, but the job of a tool is to enable and be wielded by the user, responsiveness is key here.
Thanks for reading.