<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bartosz Frąckowiak</title>
    <description>The latest articles on DEV Community by Bartosz Frąckowiak (@bfrackowiak).</description>
    <link>https://dev.to/bfrackowiak</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4049586%2Fe6a5d54b-847b-4394-a7a6-fa85efc873d2.jpg</url>
      <title>DEV Community: Bartosz Frąckowiak</title>
      <link>https://dev.to/bfrackowiak</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bfrackowiak"/>
    <language>en</language>
    <item>
      <title>Probabilistic Metrics</title>
      <dc:creator>Bartosz Frąckowiak</dc:creator>
      <pubDate>Mon, 10 Aug 2026 12:42:20 +0000</pubDate>
      <link>https://dev.to/bfrackowiak/probabilistic-metrics-3766</link>
      <guid>https://dev.to/bfrackowiak/probabilistic-metrics-3766</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9ncscb04annrlcbar8wx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9ncscb04annrlcbar8wx.png" alt="Why the most useful numbers in our AI transformation were never in a database." width="720" height="615"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In my previous article (&lt;a href="https://bfrackowiak.pl/blog/from-signals-to-blips/" rel="noopener noreferrer"&gt;From Signals to Blips&lt;/a&gt;) I described the engine room of our AI transformation: a tech radar fed by weekly AI sweeps over 15 squad reports. Every week an agent reads the reports, extracts signals, scores them, and hands me a ranked candidate list for human validation.&lt;/p&gt;

&lt;p&gt;This article is about the piece of that machinery I trust least and use most. The scores that steer our architecture attention are not computed from clean, structured data. They are &lt;strong&gt;extracted by AI from messy human text: probabilistically, with a known and accepted margin of error.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For once there is a production system behind my private conclusions, so the usual grain of salt can be slightly smaller ;)&lt;/p&gt;

&lt;h2&gt;
  
  
  The clean data tax
&lt;/h2&gt;

&lt;p&gt;Classical metrics demand clean inputs: instrumented pipelines, structured events, agreed definitions. That cleanliness is a tax, and you pay it three times. Once in engineering, because somebody has to build and maintain the pipeline. Once in politics, because somebody has to win the meeting where "active user" gets defined. And once in coverage, because you only ever measure what you predicted, a year in advance, would be worth measuring.&lt;/p&gt;

&lt;p&gt;And after paying all of that, the numbers still get reshaped in preprocessing before anyone sees a chart. I wrote a whole article about that theater (&lt;a href="https://bfrackowiak.pl/blog/data-driven-theater/" rel="noopener noreferrer"&gt;Data-Driven Theater&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;The result is an organization precisely informed about a thin slice of reality and blind everywhere else. And the blind spots are not random. They are exactly the messy, human parts of the system: friction, workarounds, practices quietly spreading between teams, morale.&lt;/p&gt;

&lt;h2&gt;
  
  
  What AI actually changes
&lt;/h2&gt;

&lt;p&gt;AI changes the &lt;strong&gt;input space of measurement&lt;/strong&gt;. A metric no longer has to start its life as a structured event. It can be extracted from free-form text: a blocker described in a frustrated sentence, a win buried in the middle of a paragraph, the same practice named three different ways by three different teams.&lt;/p&gt;

&lt;p&gt;On the radar this is very concrete. An agent decomposes every weekly report into atomic claims, classifies each one as a stopper or a promotable, and scores it on multiplicity, severity, and strategic weight. Nobody built a data pipeline for this. The "sensor" is a versioned prompt pointed at documents that already existed.&lt;/p&gt;

&lt;p&gt;Any single extraction can be wrong. And that is not a bug waiting for a fix. That is the deal. You trade per-observation certainty for coverage of the whole organization.&lt;/p&gt;

&lt;h2&gt;
  
  
  The assumptions
&lt;/h2&gt;

&lt;p&gt;This trade is only sane under explicit assumptions. Here are mine, all learned (some painfully) from running the radar:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Accept the error rate, and say it out loud. A dose of acceptance is part of the contract. If a stakeholder expects audit-grade numbers, stop them at the door. This instrument doesn't produce those, and pretending otherwise is how trust dies.&lt;/li&gt;
&lt;li&gt;Never trust a single extraction. Trust convergence. One squad's report can be misread; five squads independently describing the same friction is a fact about the organization, whatever the error rate per reading. Redundancy replaces precision.&lt;/li&gt;
&lt;li&gt;Every number must cite its source. Our rule is &lt;em&gt;cite or it didn't happen&lt;/em&gt;: each scored signal points back to the exact report, week, and section it came from. Probabilism without traceability is just noise with confidence.&lt;/li&gt;
&lt;li&gt;A human gate before consequences. Probabilistic metrics route attention; they must never issue verdicts. In our case nothing enters the radar without a human ticking a checkbox. AI proposes, humans dispose.&lt;/li&gt;
&lt;li&gt;The prompt is the preprocessing, so treat it like code. In &lt;em&gt;Data-Driven Theater&lt;/em&gt; I argued that data manipulation lives in the preprocessing phase. Here, the preprocessing &lt;em&gt;is&lt;/em&gt; the extraction prompt. So it's versioned, its scoring anchors have a changelog, and anyone can read it. If you hide the prompt, you've rebuilt the theater with better lighting.&lt;/li&gt;
&lt;li&gt;Shared language still matters, but now it's the model's dictionary. An LLM will happily map three teams' different vocabularies onto one concept. That's the superpower and the danger in one move: it can silently merge things that are not the same. The semantic contracts between people don't disappear; auditing how the model translates becomes part of the method.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What I take out of it
&lt;/h2&gt;

&lt;p&gt;Coverage beats precision when the job is steering. I'd rather be roughly right about the whole organization than precisely right about the 5% of it I managed to instrument. For triage (&lt;em&gt;where should attention go this week&lt;/em&gt;) that is simply the correct trade.&lt;/p&gt;

&lt;p&gt;You can also measure things that never had a pipeline. Converging practices, recurring friction, the mood of a transformation. On the radar, these signals routinely show up weeks before anything reaches a dashboard, because the dashboard for them was never going to be built.&lt;/p&gt;

&lt;p&gt;And metrics become disposable, which is the change I underestimated most: when a new metric costs one prompt instead of one quarter, you can try ten and throw away eight, and the metric portfolio stops being an investment you defend in meetings and becomes a hypothesis you test on Tuesday.&lt;/p&gt;

&lt;p&gt;The failure modes move; they don't vanish. Yesterday people gamed the data cleaning. Tomorrow they'll game the extraction.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"When a measure becomes a target, it ceases to be a good measure." ― &lt;a href="https://en.wikipedia.org/wiki/Goodhart%27s_law" rel="noopener noreferrer"&gt;Goodhart's law&lt;/a&gt;, in Marilyn Strathern's phrasing&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Same theater, new stage, and the same defense: documented preprocessing, cited sources, and a culture where asking "how was this computed?" is a compliment, not an attack.&lt;/p&gt;

&lt;p&gt;None of it will survive an audit, and that's fine. A compass is not an accounting system. Use probabilistic metrics to decide where to look; once you know what you're looking at, instrument it properly. The two don't compete. One finds the question, the other defends the answer.&lt;/p&gt;

&lt;h2&gt;
  
  
  One question
&lt;/h2&gt;

&lt;p&gt;So here is what I'd leave you with: &lt;strong&gt;what would you measure in your organization if a new metric cost one prompt instead of one quarter?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because that is the actual offer on the table now. The classic excuse for not measuring the human side of your system (too messy, too expensive, no pipeline) has just expired.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>architecture</category>
    </item>
    <item>
      <title>The Bottleneck Moved</title>
      <dc:creator>Bartosz Frąckowiak</dc:creator>
      <pubDate>Mon, 03 Aug 2026 07:09:11 +0000</pubDate>
      <link>https://dev.to/bfrackowiak/the-bottleneck-moved-1iae</link>
      <guid>https://dev.to/bfrackowiak/the-bottleneck-moved-1iae</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzjo19tx1pw9qcq3g7cne.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzjo19tx1pw9qcq3g7cne.webp" alt="AI made writing code cheap. Our squad reports show where the queue went next: to the people who have to read it." width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;AI made writing code cheap. Our squad reports show where the queue went next: to the people who have to read it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I read squad reports for a living now. 15 of them, every month, from teams at different stages of an AI transformation that covers several hundred developers. Sometime this spring, the complaints changed.&lt;/p&gt;

&lt;p&gt;For years the standing blocker was production. Not enough hands, not enough hours, the backlog only grows. This spring the sentence flipped. We are not blocked on writing the code, the reports said. We are blocked on getting it absorbed: reviewed, understood, trusted, merged.&lt;/p&gt;

&lt;p&gt;These are notes from one organization, mine, with every bias that implies. But I have checked the pattern against enough teams now to stop filing it as an anecdote.&lt;/p&gt;

&lt;p&gt;The queue did not shrink. It moved one seat to the right.&lt;/p&gt;

&lt;h2&gt;
  
  
  Typing was never the unit of work
&lt;/h2&gt;

&lt;p&gt;We staffed for production because production was visible. Headcount plans, story points, velocity charts: every dial on the dashboard points at how much gets written. Then the cost of producing a diff fell through the floor, and the dials kept pointing at the part that got cheap.&lt;/p&gt;

&lt;p&gt;What didn't get cheap is deciding whether the diff is right.&lt;/p&gt;

&lt;p&gt;A senior engineer who used to review four colleagues now reviews four colleagues plus everything their agents produce. The reports describe the same scene in different words. Pull requests aging in queues. Reviewers rubber-stamping out of exhaustion. Or the opposite: one reviewer becomes the only honest gate, and everything slows to their reading speed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nobody is blocked on writing anymore. Everybody is blocked on believing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flb7s7yvhtaps46iw6dax.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flb7s7yvhtaps46iw6dax.png" alt="The steps did not change. The cheap one and the expensive one swapped places, and the dashboards still point at the cheap one." width="800" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I met this bottleneck alone before I met it at scale. Running &lt;a href="https://bfrackowiak.pl/blog/a-company-of-one-staffed-by-agents/" rel="noopener noreferrer"&gt;a company of one staffed by agents&lt;/a&gt;, I am my own review queue, and my throughput is capped by what I can verify, not by what the agents can generate. The organizational version is the same shape with worse feedback loops.&lt;/p&gt;

&lt;h2&gt;
  
  
  A diff with nobody behind it
&lt;/h2&gt;

&lt;p&gt;There is a reason review did not get cheaper alongside writing, and it took me months to name it.&lt;/p&gt;

&lt;p&gt;Reviewing a colleague's change was never a purely technical act. It was a conversation with a counterparty. You read the diff, a question formed, and you walked over and asked it. Why this shape? What did you try first? The answer usually came back in one sentence, because the person who made the decision was still holding it in their head.&lt;/p&gt;

&lt;p&gt;An agent's diff has no such person. The intent behind it lived in a prompt, in a context window, in a session that has since closed. You can't ask the author what they were thinking. There was no thinking of the kind you mean, and the human who ran the prompt is often meeting the result at the same moment you are.&lt;/p&gt;

&lt;p&gt;In my notes they are simply authorless diffs. The code is here, the counterparty is not, and every question you would have walked over to ask now needs somewhere else to go.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Peter_Naur" rel="noopener noreferrer"&gt;Peter Naur&lt;/a&gt; described programming as theory building: the real output of a team is not the program but the understanding that lives in the people who built it. An authorless diff is a diff whose theory is already gone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So the question has to be answerable by the system itself, or it does not get answered.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxe09k8omogmjpvcut0lt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxe09k8omogmjpvcut0lt.png" alt="The reviewer's question used to have somewhere to go. Now it has to be answered by the artifacts, or not at all." width="800" height="204"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Reviewability is a system property
&lt;/h2&gt;

&lt;p&gt;Which is the part I can act on as an architect. How hard a change is to review is not a fact about the reviewer. It is a fact about the system.&lt;/p&gt;

&lt;p&gt;You can design a system to be easy to review the same way you design a database to be easy to query. Tests that state intent, so a green suite means something specific. Contracts at the seams, so a change's blast radius is visible from its diff. Small modules with real boundaries, so nobody has to page the whole system into their head. Decision records that say which paths were rejected and why. Context files that tell an agent, or a new colleague, where the bodies are buried. None of it is glamorous.&lt;/p&gt;

&lt;p&gt;None of this advice is new. &lt;strong&gt;What is new is the price of ignoring it, because now the unreviewable system is the slow system.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Indexes made queries cheap long after disks made storage cheap. Reviewability is the index we now owe our own codebases.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "done" has to mean now
&lt;/h2&gt;

&lt;p&gt;The definition of done in most teams was written when writing was the scarce step. Code complete, tests pass, merged. Verification was assumed to be somebody's background job.&lt;/p&gt;

&lt;p&gt;That assumption is now the whole game. If producing a change costs an afternoon and trusting it costs three days, then the three days are the work, and the definition of done, the staffing plan and the promotion criteria are all still written as though the afternoon were the expensive part. Nobody has updated them. Nobody has noticed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A senior engineer whose main output is judgment about other people's diffs is not doing less engineering.&lt;/strong&gt; They are doing the engineering that is left.&lt;/p&gt;

&lt;p&gt;The dashboards will resist this, because dashboards count what is easy to count, and reading has always been &lt;a href="https://bfrackowiak.pl/blog/probabilistic-metrics/" rel="noopener noreferrer"&gt;the thing we measure worst&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I watch now
&lt;/h2&gt;

&lt;p&gt;I still read 15 reports a month. What changed is the line I look for first.&lt;/p&gt;

&lt;p&gt;It used to be the delivery numbers. Now it is a sentence buried in the middle of the wins section, the one admitting that a squad shipped something and nobody could tell whether it was right for a week. That sentence is not a complaint about tooling. It is a system telling you where its constraint sits.&lt;/p&gt;

&lt;p&gt;The dashboards above those reports are still counting output, because output is what dashboards were built to count, and I don't expect that to change quickly. But the reports underneath them stopped talking about production some time this spring, and they have not gone back.&lt;/p&gt;

&lt;p&gt;The queue did not shrink. It moved one seat to the right, and it is quieter over there, which is why it took a season to notice. If your dashboards are green while your pull requests age, it has moved in your organization too. The authorless diffs are already arriving. The seat they queue for is not on your headcount plan.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Multi-Agent Is an Org Chart</title>
      <dc:creator>Bartosz Frąckowiak</dc:creator>
      <pubDate>Wed, 29 Jul 2026 11:36:16 +0000</pubDate>
      <link>https://dev.to/bfrackowiak/multi-agent-is-an-org-chart-152n</link>
      <guid>https://dev.to/bfrackowiak/multi-agent-is-an-org-chart-152n</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftya18wjtxdtglsptgcmb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftya18wjtxdtglsptgcmb.png" alt="I designed a multi-agent AI system and accidentally rebuilt the org chart, failure modes included." width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Recently, as part of our AI platform work, I've been designing a multi-agent experience: a supervisor agent that understands the user's intent and routes work to specialist agents, each owning a slice of the domain, with escalation paths for the cases nobody can handle.&lt;/p&gt;

&lt;p&gt;Somewhere around the third iteration of the target-architecture diagram I stopped and started laughing. Boxes with narrow responsibilities. A coordinator on top. Formal handoffs. Escalation paths. I had seen this diagram before: in every HR tool I've ever been onboarded into.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I wasn't designing a system. I was designing an organization.&lt;/strong&gt; And the dozen-plus years I've spent watching human organizations misbehave suddenly became the most relevant architecture experience I own.&lt;/p&gt;

&lt;p&gt;Field notes from one solution design follow. Private observations, not a paper.&lt;/p&gt;

&lt;h2&gt;
  
  
  Same Primitives, Different Substrate
&lt;/h2&gt;

&lt;p&gt;Strip the buzzwords and a multi-agent architecture is built from exactly the primitives an org designer uses: &lt;strong&gt;roles&lt;/strong&gt; (specialist agents with narrow charters), &lt;strong&gt;handoffs&lt;/strong&gt; (who passes work to whom, in what format), &lt;strong&gt;escalation paths&lt;/strong&gt; (what happens when an agent is out of its depth), and &lt;strong&gt;trust boundaries&lt;/strong&gt; (whose output is taken at face value and whose gets verified).&lt;/p&gt;

&lt;p&gt;This is not a cute metaphor. The primitives are identical because the underlying problem is identical: &lt;strong&gt;coordinating limited intelligences with partial context toward a shared goal.&lt;/strong&gt; For humans the limits are attention and working memory; for agents, the context window. Same constraint, different units.&lt;/p&gt;

&lt;p&gt;The parallels get uncomfortably specific:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Context windows are span of control.&lt;/strong&gt; A manager can effectively lead only so many people before nuance drops on the floor. An agent can hold only so much context before it starts confidently forgetting. In both cases the failure smells the same: dropped threads, generic answers, work quietly reinvented twice.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent-to-agent contracts are… contracts.&lt;/strong&gt; Schemas, expectations, what "done" means. Two teams with a fuzzy interface produce meetings; two agents with a fuzzy interface produce hallucinated handoffs. The meetings are cheaper.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decomposition is charter-writing.&lt;/strong&gt; Deciding what each agent owns is the same act as writing team charters, and it fails the same way, through overlaps (two agents both "own" the answer) and gaps (a question no agent considers theirs).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Supervisors Are Middle Management
&lt;/h2&gt;

&lt;p&gt;The supervisor pattern (one orchestrator routing everything) is multi-agent middle management. And it fails exactly the way middle management fails:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The bottleneck.&lt;/strong&gt; Route every interaction through one coordinator and you've serialized your parallelism. One overloaded node, everyone else idle. Any resemblance to a manager whose calendar is the company's critical path is fully intended.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The telephone game.&lt;/strong&gt; Each relay compresses. The specialist's rich answer becomes the supervisor's summary, which becomes a summary of a summary. Fidelity degrades per hop. In orgs we call it "communication overhead", in agents "context loss", and it's the same tax.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Empire building.&lt;/strong&gt; Give a supervisor agent loose instructions and it starts &lt;em&gt;doing&lt;/em&gt; the work instead of routing it: answering domain questions itself, badly, because delegating "feels" riskier than acting. I have met this middle manager. Several times. Some of them were prompts.&lt;/p&gt;

&lt;p&gt;The fixes are org-design fixes, translated: push decisions down to the specialists, allow direct channels between agents that collaborate often (not everything needs to go "up"), and define escalation &lt;em&gt;criteria&lt;/em&gt; instead of escalation &lt;em&gt;habits&lt;/em&gt;. If your supervisor agent starts scheduling coordination meetings between the other agents, turn the computer off ;)&lt;/p&gt;

&lt;h2&gt;
  
  
  Guardrails Are Governance
&lt;/h2&gt;

&lt;p&gt;Every serious multi-agent design ends up with guardrails: what an agent may do autonomously, what requires human approval, what gets logged for audit. Rename these and you get a governance framework, complete with autonomy budgets, approval gates, and audit trails. The corporate déjà vu is total.&lt;/p&gt;

&lt;p&gt;And the same tension applies. Over-govern and you build agent bureaucracy: every action awaiting sign-off, throughput dying politely, the system technically safe and practically useless. Under-govern and you're one confident hallucination away from an incident report. Organizations have been tuning this dial for a century, and the honest answer in both worlds is that the dial never stops needing tuning. You're not choosing a setting; you're accepting a job.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Mirror
&lt;/h2&gt;

&lt;p&gt;What this exercise actually gave me, beyond a chatbot architecture:&lt;/p&gt;

&lt;p&gt;Organizational experience turned out to be directly transferable. Clear charters beat detailed procedures; the smallest unit that can own an outcome end-to-end should own it; and you should never create a coordinator role to fix a communication problem that a better contract would fix for free.&lt;/p&gt;

&lt;p&gt;But the transfer runs both ways, and that's the part I can't stop thinking about. When you design coordination from scratch, with no politics, no history, no feelings to spare, you would never include a layer whose only function is summarizing upward. You would never require every hand-off to pass through one node. You would never let two roles both vaguely own the same outcome, and you would never leave an escalation path undefined.&lt;/p&gt;

&lt;p&gt;Then you look at your real org chart and ask why it's full of things you would never design. The polite version of the answer is "history". I explored the human side of sitting inside such a structure in &lt;a href="https://dev.to/blog/technical-leader-identity-disorder/"&gt;Technical Leader — Identity Disorder&lt;/a&gt;; designing agents is the first time I've gotten to sit on the other side of the whiteboard.&lt;/p&gt;

&lt;p&gt;There is a Conway's law for agents, too: left unattended, your multi-agent architecture will faithfully copy your organization's communication patterns, including the dysfunctional ones, because its designers can't easily imagine anything else. We nearly shipped our org chart into the prompt. I suspect we weren't the first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multi-agent design is org design with a compiler.&lt;/strong&gt; For the first time, our coordination theories produce stack traces instead of opinions.&lt;/p&gt;

&lt;p&gt;So here's the question I'd leave you with: if you rebuilt your organization the way you'd architect a multi-agent system (from scratch, charters first, no history to respect), &lt;strong&gt;which of your current roles would survive?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And if the answer makes you uncomfortable: the agents are ready whenever you are.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Mathematicians vs. Lawyers</title>
      <dc:creator>Bartosz Frąckowiak</dc:creator>
      <pubDate>Mon, 27 Jul 2026 13:20:20 +0000</pubDate>
      <link>https://dev.to/bfrackowiak/mathematicians-vs-lawyers-7ji</link>
      <guid>https://dev.to/bfrackowiak/mathematicians-vs-lawyers-7ji</guid>
      <description>&lt;h1&gt;
  
  
  Mathematicians vs. Lawyers
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg5o7yck0ryj7q0mq1tem.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg5o7yck0ryj7q0mq1tem.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Two thinking archetypes I keep meeting in architecture rooms, and why your system needs both.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Put two smart people in front of the same business problem and watch what happens.&lt;/p&gt;

&lt;p&gt;One of them walks to the whiteboard and starts drawing boxes and arrows. Entities, relations, flows. Within five minutes the whole domain is a living organism on the wall, and half the room quietly wonders where the actual requirements went.&lt;/p&gt;

&lt;p&gt;The other one opens a document and starts listing cases. What if the customer is from Germany? What if the invoice was already corrected? What if the correction arrives after the fiscal year closes? Twenty minutes later you have a table with forty rows, and the whiteboard person quietly wonders why we are debugging the universe.&lt;/p&gt;

&lt;p&gt;After years of working as a Solution Architect, I started recognizing these two recurring archetypes of thinking. I call them &lt;strong&gt;Mathematicians&lt;/strong&gt; and &lt;strong&gt;Lawyers&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Before anyone gets offended: there are many more archetypes than two, and nobody is purely one of them. These are modes of thinking, not personality boxes. But once you see these two, you cannot unsee them.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Lawyers
&lt;/h2&gt;

&lt;p&gt;Lawyers live in a &lt;strong&gt;linear world of rules&lt;/strong&gt;. Given condition A and condition B, then C applies, unless exception D. Their thinking moves like a legal act: precise, sequential, exhaustive.&lt;/p&gt;

&lt;p&gt;And they are &lt;em&gt;good&lt;/em&gt;. A Lawyer is the person who catches the case that would have exploded in production three months after go-live. While the rest of the room admires the elegant model, the Lawyer asks the boring, deadly question: "and what happens on February 29th?"&lt;/p&gt;

&lt;p&gt;Their natural artifact is the Document. The big one.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Edge Case Explosion
&lt;/h2&gt;

&lt;p&gt;This is where corporate culture enters the story, and where my observation stopped being about individuals and started being about the system.&lt;/p&gt;

&lt;p&gt;A product company has a very hard time saying &lt;strong&gt;no&lt;/strong&gt;. Every client exception gets accepted. Every "just this one special case" becomes a requirement. And the Lawyers do exactly what they are brilliant at: they faithfully encode all of it. Rule by rule, exception by exception.&lt;/p&gt;

&lt;p&gt;The document grows. Fifty pages. Eighty. Hundreds of edge cases, each one individually justified.&lt;/p&gt;

&lt;p&gt;Let's be honest with ourselves: &lt;strong&gt;nobody reads that document carefully.&lt;/strong&gt; Nobody except other Lawyers. The rest of us skim it, nod in the review meeting, and approve. The knowledge is technically written down and practically inaccessible.&lt;/p&gt;

&lt;p&gt;There is also a trap hiding in plain sight. A thick specification fits perfectly into corporate optics: &lt;strong&gt;volume looks like effort&lt;/strong&gt;. "Big" reads as "a lot of work was done." A three-hundred-page document is impressive in a way that a single clean diagram will never be. So the organization quietly rewards the explosion instead of questioning it.&lt;/p&gt;

&lt;p&gt;What you end up with is complexity that nobody ordered. It was delivered one accepted exception at a time, by people doing their jobs well, inside a culture that couldn't refuse anyone.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Mathematicians
&lt;/h2&gt;

&lt;p&gt;Mathematicians think in &lt;strong&gt;abstract systems&lt;/strong&gt;. They see high-level entities and how they cooperate. Their world is not made of rules but of &lt;strong&gt;relations between objects&lt;/strong&gt;: how those relations evolve over time, what constraints must hold, who governs what.&lt;/p&gt;

&lt;p&gt;Show a Mathematician eighty edge cases and they will not see eighty problems. They will ask a different question: &lt;em&gt;what is wrong with the model that keeps generating these exceptions?&lt;/em&gt; Change the model, and whole families of edge cases simply stop existing. Nobody has to handle a case that the design made impossible.&lt;/p&gt;

&lt;p&gt;Their curse: &lt;strong&gt;the impact is less visible.&lt;/strong&gt; One diagram against three hundred pages. When a Mathematician does the job well, the visible result is… nothing. Complexity that never appeared. Incidents that never fired. An integration that didn't need a workaround. Try putting &lt;em&gt;that&lt;/em&gt; on a promotion slide.&lt;/p&gt;

&lt;p&gt;In a culture where volume equals work, Mathematicians chronically look underemployed. Right up until they leave, and the edge cases start breeding unsupervised.&lt;/p&gt;

&lt;p&gt;And to be fair, Mathematicians have their own failure mode. Left unchecked, they drift into astronaut architecture: models so abstract they no longer touch the ground. Guess who pulls them back? The Lawyer, with one concrete, annoying, absolutely real corrected invoice from Germany.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two Worlds, One System
&lt;/h2&gt;

&lt;p&gt;This is not a war, and I'm not writing this to declare a winner.&lt;/p&gt;

&lt;p&gt;The best design sessions I have ever seen had both minds in the room. The Mathematician reshapes the model so the exceptions dissolve; the Lawyer stress-tests the new model with cases brutally imported from reality. Lawyers keep the Mathematicians honest. Mathematicians keep the Lawyers' world from exploding.&lt;/p&gt;

&lt;p&gt;A room full of Lawyers produces an edge case explosion with a spreadsheet to track it. A room full of Mathematicians produces a beautiful abstraction that dies on first contact with a real customer. If everyone in your design review thinks the same way, &lt;em&gt;that&lt;/em&gt; is your biggest architecture risk, and it's not in any diagram.&lt;/p&gt;

&lt;p&gt;These two worlds complement each other. Use both. Deliberately.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where I Choose to Stand
&lt;/h2&gt;

&lt;p&gt;My private rule as a Solution Architect: &lt;strong&gt;stay at the mathematical level. Don't descend into the details.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not because details are beneath me. Because the moment I dive into edge cases, I become one more Lawyer in a room that usually has plenty of them already, and the system-level perspective goes vacant. Every edge case has an owner somewhere. The relations &lt;em&gt;between&lt;/em&gt; systems often have none. That empty chair is exactly where an architect should sit.&lt;/p&gt;

&lt;p&gt;I won't pretend it's easy. Diving into details gives you the quick dopamine of being concretely useful. Holding the abstract level means accepting that your best work will often be invisible: the complexity that never happened.&lt;/p&gt;

&lt;p&gt;So, next time you are in a design review, look around the room. Who is writing the rules, and who is drawing the relations? Which one are you when the pressure rises?&lt;/p&gt;

&lt;p&gt;And more importantly: who is holding the other half of the picture?&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>corporateculture</category>
      <category>leadership</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
