When I am building firmd, I keep letting the agents pick the tools.
Be it the graph database or graph visualization library, design system, the agent SDK, container orchestration, observability stack: each time I asked, and each time we talked it through, I wanted to be sure that constraints and goals were aligned. It was tempting to also push back, to insist on my preferred tool because surely I know better. I resisted, and over time learned (or forced me) to trust.
I wanted to stick to one principle when building firmd: let the agents decide.
firmd is an AI-native stack, and to me that means more than agents writing code. They also get the architectural calls humans usually reserve for themselves, starting with the choice of tools. That is the firmd bet, that agents can make good decisions, even if their biases differ and they weigh criteria differently than a human architect would.
There is also a pragmatic side to the principle, one that holds even if the bet does not always pay off: the path of least resistance. An agent fluent in a tool ships working code in a handful of attempts. Most of the relevant knowledge sits in the model weights already, so the agent does not have to reload it into context each turn, which saves tokens on top of saving time. An agent forced to use something it half-knows burns tokens, hits dead ends, and reaches a result I am not confident about anyway. So my real question became at what end to I invest my trust. Going with what the agent already understands is, most days, the cheaper path to a working system.
So I went along.
One thing kept pulling at me, though. The agents had picked the tool they knew best, which is not always the same as the best tool.
This is also how humans pick tools. A senior engineer reaches for Postgres because they have shipped Postgres ten times. A team adopts React because the hiring market is full of React developers. Developer relations, conference talks, books, courses, the depth of Stack Overflow answers, the number of GitHub stars: humans aggregate all of that into a fuzzy sense of which tool is safe, familiar, and cheap to use. This is availability bias, the "nobody got fired for picking the popular one" instinct, and it is the soil that "Share of Voice" has farmed for sixty years.
Agents run the same algorithm on a different kind of memory. Instead of a career of impressions, they have a training corpus. Instead of "I have shipped this ten times" they have "I have seen this pattern ten thousand times." The bias is structurally the same. What is new is that it is measurable per inference, and it correlates almost mechanically with token cost and output quality. The agent's preference is economic and qualitative, not aesthetic.
This is where it becomes a marketing problem. Vendors are no longer selling only to human developers; they are also selling to the agent picking on the human's behalf. I would not assume my reflex of trusting the agent's pick is unique. If even some other builders default this way, the audience grows quickly. That second buyer is a new persona, and reaching it asks for a new playbook.
The funnel itself is familiar. The classic AIDA ladder of attention, interest, desire, and action describes both the human and the agent journey. What is new is how agents access and process information, and which signals move them up that ladder. Attention lives in training data and in the registries agents query at inference time. Interest is shaped by documentation depth and the quality of tool descriptions. Desire is built by MCP servers and APIs that work cleanly on first try. Action is influenced by what runs cheaply and reliably under the agent's own constraints. The old playbook spent on impressions in human channels. The new one spends on presence where agents read, on the interfaces they call, and on the behaviour they keep reaching for.
There is also the filter bubble worth naming. Agents prefer what is popular, and what agents prefer becomes more popular, which is a pattern older than tech itself. The sharper edge inside agentic systems is that the human in the loop rarely sees the alternatives the agent quietly ruled out, and the alternatives that never made it into training data are invisible from the start (we have new gate keepers!). The bubble closes faster than in the human-only era, because the agent's preference is also cheaper and better, which might make "go with the agent's pick" the answer more often than not. New entrants face a higher bar because they are not in the agent's working memory. Healthy ecosystems will need to think about this on purpose.
In most cases, I went with the tool the agent proposed, without spending much energy (and tokens) trying to convince it that there might be a better choice. I trusted the path of least resistance. Where this heuristic leads in the long run, I do not know yet. It's a bet.
