Two tools is a lot more complex than one, not just +1 or *2
When you have two tools, you have think about their differences, or about specifically what they each let you do, and then pattern match to your current problem, before using it. With one tool, you don’t have to understand the shape of its contents at all, because it’s the only tool and you already know you want to use it.
Concrete example, doing groceries
Let’s compare the amount of information you need to remember with 1 vs 2 tools. You want food (task), you’re going to get it from a supermarket (tool).
With 1 available supermarket:
You want food. Supermarket has food. Done. The tool only requires 1 trait: “has food”.
With 2 available supermarket:
Market A has <list of products> (or a “vibe”, which is a proxy for a list of products), market B has <list of products/vibe>, you compare the specific food you want to the products of each market, then make a decision.
Each tool’s complexity grew from “has food” to “list of product types”, your own “food” requirement grew to “specific food”. It’s from 1 to 2* ( complexity growth of a given comparison ( = tool complexity + requirement complexity ) ) + difficulty of comparing multiple tools.
And after two, the complexity increase gets smaller and smaller, for the obvious reason that now you’re just adding 1 tool straightforwardly to the existing list of tools. But also because you’re already comparing multiple tools to each other, which you weren’t doing with one.
I tend to use nlogn (N things, times logN overhead) as my initial complexity estimate for coordinating among “things”. It’ll, of course, vary widely with specifics, but it’s surprising how often it’s reasonably useful for thinking about it.
Two tools is a lot more complex than one, not just +1 or *2
When you have two tools, you have think about their differences, or about specifically what they each let you do, and then pattern match to your current problem, before using it. With one tool, you don’t have to understand the shape of its contents at all, because it’s the only tool and you already know you want to use it.
Concrete example, doing groceries
Let’s compare the amount of information you need to remember with 1 vs 2 tools. You want food (task), you’re going to get it from a supermarket (tool).
With 1 available supermarket:
With 2 available supermarket:
Each tool’s complexity grew from “has food” to “list of product types”, your own “food” requirement grew to “specific food”. It’s from 1 to
2* ( complexity growth of a given comparison ( = tool complexity + requirement complexity ) ) + difficulty of comparing multiple tools
.And after two, the complexity increase gets smaller and smaller, for the obvious reason that now you’re just adding 1 tool straightforwardly to the existing list of tools. But also because you’re already comparing multiple tools to each other, which you weren’t doing with one.
I tend to use nlogn (N things, times logN overhead) as my initial complexity estimate for coordinating among “things”. It’ll, of course, vary widely with specifics, but it’s surprising how often it’s reasonably useful for thinking about it.