← All posts Blog

Where does reasoning live?

By Christopher Brown, Chief Product Officer · September 17, 2026

A forty-year-old paper on distributed system design has a lot to say about where reasoning belongs in a multi-agent stack. It also runs out of road faster than you might expect.

There is an interesting discussion (re?)happening about the location of reasoning in multi-agent systems.

I say re-happening because Saltzer et al. seemed to address a version of this question more than forty years ago:

Saltzer, Jerome H., et al. "End-to-End Arguments in System Design." ACM Transactions on Computer Systems, vol. 2, no. 4, Nov. 1984, pp. 277-288.

A modern setup

Airline Alice provides capabilities through its agent for looking up schedules, checking availability, and booking flights. You have done some trip planning with your agent Bob (a frontier-LLM chatbot). Where does the reasoning for selecting your flight live? Does Airline Alice provide the flight-selection reasoning based on intent and context provided by Bob? Or does Bob do the reasoning based on information and capabilities provided by Alice?

Long before LLMs, Saltzer and collaborators addressed essentially this question: where in a distributed system should a particular function (e.g. reasoning) be implemented? Their end-to-end argument says, roughly, that a function should ultimately live at the layer that has enough information to perform it completely and correctly. Lower layers can still provide useful functionality, but they may lack the context required to make the end-to-end decision.

The superficial reading

A superficial reading would suggest that the reasoning belongs with the user agent, Bob. After all, only Bob has enough context to know whether the trip planning succeeded. For modern enterprises, one tempting implication is clear: companies providing agentic capabilities should expect users to arrive with their own reasoning capabilities. The enterprise provides data, tools, constraints, and actions; the user's agent provides the reasoning.

It's not so simple. Saltzer's early-Internet-era argument could not anticipate the complexity of today's agentic systems, where both sides may have substantial context, specialized models, proprietary knowledge, unique constraints, and differential reasoning capabilities. Decisions about what reasoning to build, where to put it, and what context to expose are much more nuanced.

What comes next

Given sufficient interest from this audience, in coming posts I'll outline some of the considerations for deciding what kinds of simple and advanced reasoning capabilities belong in different parts of an agentic stack. The goal is to turn work we've been doing at Bonafide into a practical rubric for how to think about and build these systems.

First and final drafts written by me. Light edits and fact checking from ChatGPT. Many thanks to George Roukas and Dean Wampler who started me thinking along these lines.

The Bonafide pack lined up in a server room aisle, facing the camera
See it yourself

Take us for a walk.

Thirty minutes with Bonafide running on your brand. No slides, no scripts.