<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Organizations and knowledge — Juan Reyero</title><link>https://juanreyero.com/topics/organizations-and-knowledge/</link><description>Delegation, review, shared knowledge, and who retains the authority to decide.</description><language>en</language><atom:link href="https://juanreyero.com/topics/organizations-and-knowledge/index.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Sun, 06 Sep 2026 00:00:00 +0000</lastBuildDate><item><title>Don't build your organization around a model provider</title><link>https://juanreyero.com/article/ai/model-provider-independence/</link><guid>https://juanreyero.com/article/ai/model-provider-independence/</guid><pubDate>Sun, 06 Sep 2026 00:00:00 +0000</pubDate><description>Your agents' identities, knowledge, and working relationships should outlast your choice of models.</description><content:encoded>&lt;p>As we increase our reliance on AI, decoupling intelligence from
organization will become vitally important. The model providers
are starting to build the systems through which agents
communicate and coordinate; we could end up depending on them
much more than we depend on the models.&lt;/p>
&lt;p>In May 2025, Microsoft announced &lt;a href="https://www.microsoft.com/en-us/microsoft-copilot/blog/copilot-studio/multi-agent-orchestration-maker-controls-and-more-microsoft-copilot-studio-announcements-at-microsoft-build-2025/">task delegation between agents
in Copilot
Studio&lt;/a>
and an &lt;a href="https://techcommunity.microsoft.com/blog/microsoft-entra-blog/announcing-microsoft-entra-agent-id-secure-and-manage-your-ai-agents/3827392">Entra directory of agent
identities&lt;/a>. In
July 2026, OpenAI announced a &lt;a href="https://openai.com/index/gpt-5-6/">multi-agent beta in the Responses
API&lt;/a>, with &lt;a href="https://developers.openai.com/api/docs/guides/responses-multi-agent">hosted actions for
spawning agents, sending messages, and waiting for
replies&lt;/a>.
In August, Anthropic added &lt;a href="https://github.com/anthropics/claude-code/releases/tag/v2.1.224">messaging between independent Claude
Code
sessions&lt;/a>.&lt;/p>
&lt;p>These announcements point in the same direction. Agents that
can communicate can divide work, question one another&amp;rsquo;s
conclusions, and take on more responsibility without bringing
every problem back to a human. It makes sense that the model
providers want to build this into their products.&lt;/p>
&lt;p>Consider what an organization invests in such a team. It defines
roles, establishes who can authorize work, develops procedures,
and accumulates knowledge. Agents learn where to find an answer
and whom to ask when the documentation is insufficient. Tasks
and conversations connect all of this. Teams learn, evolve and
adapt.&lt;/p>
&lt;p>These arrangements become the operating framework of the
organization.&lt;/p>
&lt;p>If they are coupled with the model provider&amp;rsquo;s infrastructure, changing
model providers can mean rebuilding how the organization works. A
better model elsewhere may not be enough to justify the move; a
price increase, a withdrawn model, or a change in access
conditions can impact the organization&amp;rsquo;s ability to operate.&lt;/p>
&lt;p>Agent identity is central here. A reviewer agent should
remain the organization&amp;rsquo;s reviewer when we change the model or
software running it, and retain its accumulated knowledge. Other
agents should still know how to reach it, recognize its messages,
and check what it is authorized to approve. Replacing the
machinery should preserve those relationships.&lt;/p>
&lt;p>The same applies to tasks, communication, and accumulated
knowledge. They need to remain accessible, and under the
organization&amp;rsquo;s control, across providers and harnesses. This
should hold whether agents run through Gas Town, Gas City, or
terminals we start ourselves.&lt;/p>
&lt;p>&lt;strong>Intelligence should become a commodity, and it should be
decoupled from the infrastructure needed to make the most
of it.&lt;/strong>&lt;/p>
&lt;p>This is one reason I am building
&lt;a href="https://github.com/awebai/aweb">aweb&lt;/a>. It provides identity and
communication independently of the agents&amp;rsquo; runtimes, along with a
shared task system. It supports other arrangements, like keeping
tasks in &lt;a href="https://github.com/gastownhall/beads">beads&lt;/a> and using
&lt;a href="https://aweb.ai/docs/beads-mail/">aweb for its mail&lt;/a>. Aweb also
has &lt;a href="https://github.com/awebai/aweb/blob/main/docs/a2a.md">experimental support for
A2A&lt;/a>, an
open protocol for exchanging tasks between agents built with
different frameworks.&lt;/p>
&lt;p>Open source lets an organization inspect, operate, and change the
software it depends on. Open protocols let independently built
components communicate. Neither removes the work of integration,
but both give us ways to retain control as our needs change.&lt;/p>
&lt;p>Can we replace a model, a harness, or a service and keep the team
working? We should build toward that while the agentic
organizations are still taking shape.&lt;/p>
&lt;p>ps. Microsoft&amp;rsquo;s &lt;a href="https://devblogs.microsoft.com/foundry/from-building-agents-to-working-with-them-enterprise-agent-distribution-in-microsoft-foundry/">support for
A2A&lt;/a>
is a welcome step in the right direction.&lt;/p></content:encoded></item><item><title>Spend your compute on correctness</title><link>https://juanreyero.com/article/ai/spend-compute-on-correctness/</link><guid>https://juanreyero.com/article/ai/spend-compute-on-correctness/</guid><pubDate>Sat, 16 May 2026 00:00:00 +0000</pubDate><description>How I think about allocating agent effort to checking the work we produce.</description><content:encoded>&lt;p>For developers who have fully embraced AI agents, productivity is
no longer the bottleneck. Agents produce code faster than humans,
and often better. The bottleneck is correctness: whether the code
solves the problem, whether the architecture can still hold the
feature set you&amp;rsquo;re growing into, whether the implementation
encodes the right premises. The practical shift is that a
significant fraction of your agent compute should now go to
validation (tests, reviewers, scope checks), rather than to
producing more code.&lt;/p>
&lt;h2 id="productivity-is-no-longer-the-bottleneck">Productivity is no longer the bottleneck&lt;/h2>
&lt;p>A year ago, the argument for agentic programming was throughput:
agents let you ship more code in less time.&lt;/p>
&lt;p>That is not controversial anymore. With the current generation of
models inside agentic harnesses (Claude Code, Codex, and the
like), a single developer supervising one agent can run circles
around a small team writing by hand.&lt;/p>
&lt;p>For people fully inside this workflow, the question is no longer
&amp;ldquo;how do I produce more?&amp;rdquo;. It is &amp;ldquo;how do I know what I produced
is right?&amp;rdquo;.&lt;/p>
&lt;h2 id="three-layers-where-right-can-fail">Three layers where &amp;ldquo;right&amp;rdquo; can fail&lt;/h2>
&lt;p>Each layer has its own remedies.&lt;/p>
&lt;h3 id="the-product-layer-does-this-match-what-a-user-wants">The product layer: does this match what a user wants?&lt;/h3>
&lt;p>Part of &amp;ldquo;right&amp;rdquo; is still human judgment. An actual human has to
look at the running product and say whether it does what they
actually need. No amount of agent compute substitutes for that.&lt;/p>
&lt;p>(Incidentally, this will probably change fast, as more and more
products are targeted at agents.)&lt;/p>
&lt;p>The most you can do is make this human&amp;rsquo;s job easy: ship into a
real environment quickly, with real data, so the human can poke
at it and react.&lt;/p>
&lt;h3 id="the-architecture-layer-is-this-the-right-shape-of-code">The architecture layer: is this the right shape of code?&lt;/h3>
&lt;p>This is the hardest layer, and the one where current agents are
weakest.&lt;/p>
&lt;p>A lot of what experienced software engineers do is architectural
judgment:&lt;/p>
&lt;ul>
&lt;li>structuring code so it can accommodate the features that will
land on it, &lt;strong>without knowing in advance what&amp;rsquo;s coming&lt;/strong>;&lt;/li>
&lt;li>knowing what features &lt;strong>not&lt;/strong> to implement;&lt;/li>
&lt;li>recognizing when the feature set has outgrown the original
architecture, and the codebase needs to be reshaped before
more code can land cleanly.&lt;/li>
&lt;/ul>
&lt;p>Agents are not yet good at any of these. They will happily add
the feature you asked for, in the place where it fits least,
with abstractions that make the next three features harder.&lt;/p>
&lt;p>They will implement the configurability you asked for instead
of pushing back on whether you should want it. They will keep
extending a structure that has outlived its assumptions, because
each individual diff still looks reasonable in isolation.&lt;/p>
&lt;p>The remedy at this layer is human-driven architectural review,
backed by an agent whose explicit job is to check each diff
against a source-of-truth document for scope and shape.&lt;/p>
&lt;h3 id="the-implementation-layer-is-the-code-doing-what-it-claims">The implementation layer: is the code doing what it claims?&lt;/h3>
&lt;p>The third failure mode is the easiest to miss: code that looks
right, has passing tests, and is actually wrong. The premises
it encodes are off by a degree. There is a workaround in the
middle that the tests happen not to exercise. A helper that
&amp;ldquo;handles edge cases&amp;rdquo; is actually swallowing errors that should
be propagated.&lt;/p>
&lt;p>This is the failure mode the writer agent cannot see, because
it inherited the premises from its own earlier reasoning. It
needs a separate pair of eyes (a reviewer agent, a fresh-context
subagent, or a different agent kind entirely) to read the diff
without the writer&amp;rsquo;s assumptions.&lt;/p>
&lt;h2 id="validation-is-what-you-spend-compute-on">Validation is what you spend compute on&lt;/h2>
&lt;p>The remedy is simple to state and harder to commit to: spend a
significant fraction of your agent budget on validation.&lt;/p>
&lt;p>&lt;strong>The point of running teams of coding agents is no longer to
produce more code faster. It is to make it more likely that the
code is correct.&lt;/strong>&lt;/p>
&lt;p>Validation, in practice, means several things at once:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Tests, including the expensive ones.&lt;/strong> Real end-to-end tests
against a real database. Browser tests with Playwright. Runs
against representative data.&lt;/li>
&lt;li>&lt;strong>Constant code review, not just at PR time.&lt;/strong> A reviewer
agent that reads each diff as it lands, with the architectural
document and the task list in its context.&lt;/li>
&lt;li>&lt;strong>Scope rechecks against a source-of-truth document.&lt;/strong> Has the
diff drifted from the original ask? Has the agent quietly
expanded the scope? Has it implemented something the SOT
explicitly said not to do?&lt;/li>
&lt;/ul>
&lt;p>The mistake is to treat validation as a tax on productivity. It
isn&amp;rsquo;t. The output of one coding agent whose work has been
validated is worth meaningfully more than the output of two
coding agents whose work has not.&lt;/p>
&lt;h2 id="three-patterns-to-apply">Three patterns to apply&lt;/h2>
&lt;p>There are several ways to deploy validation compute. They are
not exclusive.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>A code-reviewer subagent inside the same agent.&lt;/strong> Both
Claude Code and Codex ship with strong code-reviewer
subagents. The writer spawns one mid-task, gets local
feedback, applies it. Catches bugs, missing edge cases, style
violations. Cheap and easy first step.&lt;/li>
&lt;li>&lt;strong>A different agent kind reviewing the writer.&lt;/strong> Have Claude
Code spawn Codex (or vice versa) for review. Different
training, different priors, catches a slightly different
class of issue. Works, but is qualitatively close to (1).&lt;/li>
&lt;li>&lt;strong>A persistent, specialized reviewer agent.&lt;/strong> Two agents per
significant task. One programmer, one reviewer; they persist,
share a task list, and talk after each TDD cycle. This is
the pattern I have found most useful. I &lt;a href="https://juanreyero.com/article/ai/two-agents-not-one/">wrote separately
about it&lt;/a>; in this article&amp;rsquo;s
framing, it is the highest-context, most expensive, and most
useful form of validation compute.&lt;/li>
&lt;/ol>
&lt;h2 id="the-shift">The shift&lt;/h2>
&lt;p>The earlier argument for agentic programming was: &lt;strong>you can
produce more code per hour of attention&lt;/strong>. That is still true,
and still useful.&lt;/p>
&lt;p>The argument that matters more for people already inside the
workflow is: &lt;strong>you can produce more correct code per hour of
attention, if you spend the compute on correctness&lt;/strong>.&lt;/p>
&lt;p>The bottleneck has moved. The budget should move with it.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Our team behind &lt;a href="https://github.com/awebai/aweb">aweb&lt;/a> uses this
pattern daily. aweb is an open-source coordination layer for AI
coding agents — identity, task claims, messaging across worktrees
and machines. MIT-licensed. Hosted at &lt;a href="https://aweb.ai">aweb.ai&lt;/a>&lt;/em>&lt;/p></content:encoded></item></channel></rss>