November 2026 · Product strategy · Leadership letter

Autonomy is a knowledge problem, not a model problem

Why replies on behalf of a brand stay stuck in review, why a better model will not unstick them, and what to build so that turning on full autonomy becomes an ordinary decision for a new client in its first week.

The short version

The goal is right: clients should move to full autonomy as soon as they can trust it, and they should be able to see that trust grow. The engineering underneath is careful. It refuses to send when it is unsure, which is why nothing embarrassing goes out. It is also why so little goes out on its own.

The cause is structural. Every reply asks a general language model to rediscover the client in the same few seconds it has to answer the customer: what this brand sells, what this post is about, which item in the photo is the product, what the brand is trying to achieve this week, and how this person would phrase it. A model can be good at any one of those. Asking it to do all five, live, on every comment, is where invented discount codes, wrong products and slightly-off voice come from.

Move the knowledge out of the moment of reply. Maintain a living model of each client (an ontology), mine each part of it ahead of time with a tool specialized for that part, let autonomy act only on facts those tools have already established, and restrict it to a declared graph of actions for each job. Learn voice from what the people at the brand actually wrote, separately for each kind of conversation. That is a product a competitor cannot copy with a better prompt.

Where the product stands

The surface is complete and coherent: one inbox across social channels, a store connection so a commenter can also be a buyer, people records with advocacy and loyalty signals, analytics on conversations, a publishing surface, brand settings, a knowledge base filled from the brand's own site, and agents that reply in public and in direct messages.

The agent path is defensive in the right places. Deterministic code rejects ineligible events before any model is called. Code, not the model, decides which agents may answer. A hallucinated choice becomes a pass instead of a send. Impossible action combinations are refused. Every send is rechecked at the last moment. Review is the default and autonomy is opt-in per agent. Nightly offline evaluations run a large bank of scenarios and are tracked over time.

What is missing is not safety. It is knowledge held ahead of time. Three patterns show it:

The nightly evaluations measure behavior on synthetic cases. They are valuable for regressions, and they cannot tell a client that its own agent is ready, because they never look at that client's posts, catalog or people.

Why a model-only approach is not a position

A product whose intelligence is "the best available model plus a well-written prompt" has three problems, and none of them are fixed by the next model release.

1 · Everyone has the same model

The frontier models are rented by every competitor, every agency and every in-house team at the same price. Prompt craft is copied in a sprint. The platforms themselves are shipping native auto-replies. If the differentiator is the model, the differentiator expires every six months and pricing follows.

2 · The failures are the expensive kind

A general model is excellent at fluent, plausible language and weakest at precise, client-specific fact. Social commerce punishes exactly that weakness: one invented code or wrong product link in public costs a brand more than a hundred good replies earn. Guardrails that make the model refuse more often keep the damage down and the autonomy down with it. That is the plateau the product is on.

3 · The cost is in the wrong place

Re-reading the same post, image and catalog on every comment pays for the same understanding over and over, at the slowest and most expensive moment. Understanding a post once, when it is published, and reusing it for every comment that follows is cheaper, faster and more consistent. It also protects margin as volume grows.

The model should be the last step that phrases a decision, not the first step that discovers the business.

The concept: a client ontology

Treat each client as a structured, continuously maintained model of the business. Not a prompt, not a brief: a graph of entities with sources, freshness and confidence on every fact. Agents read from it. Nothing sends that the graph cannot support.

One client, as the system should hold it
Client sector · positioning · channels Catalog products · variants · categories price · stock · pages Content posts · frames · items shown item → product links Goals drops · offers · campaigns what each agent is for Policy shipping · returns · codes claims the brand allows People fans · buyers · creators history · value · relationship Voice per person who replies per kind of conversation Every fact carries source · when it was mined · confidence · which tool owns it

The dashed links are the valuable ones: an item seen in a post tied to a real product page, and a post tied to the goal it serves. Those links are what a reply needs and what a live model guesses at today.

Two properties matter more than the shape. First, the ontology is sector-specific. An apparel client has garments, fits, sizes, colorways and drops. A food client has products, flavors, pack sizes, ingredients and allergens. The branches differ, so the tools that fill them differ. Second, it is maintained, not configured. It updates when the catalog syncs, when a post goes up, when an agent is edited, and when a person rewrites a draft.

Specialized miners for each part of the ontology

Each branch gets an owner: a tool built for that kind of information, run at the moment that information appears, writing facts with confidence back to the graph. Some are small vision or classification models, some are deterministic parsers, some are language models with a narrow job. None of them is asked to reply to anyone.

BranchMinerRuns whenProduces
Sector Classifier over catalog types and site Store or site connects Apparel, food, beauty, other. Selects which miners apply.
Catalog Normalizer Every sync Clean categories (cap, tee, denim), variants, sizes, what is in stock, the canonical page.
Content (apparel) Garment segmentation and product linking Post is published Each garment in each frame, linked to a catalog product with a confidence, plus which one is the featured item.
Content (food) Pack and label recognition Post is published Product, flavor and size shown, linked to catalog.
Content (video) Frame sampling and relevance Post is published The frames that show the product, and the moment the offer is stated.
Policy Site and knowledge extractor Site changes Shipping, returns, valid codes and their terms, claims the brand permits.
Goals Intent extractor Agent brief or post changes What this post is for (drop, restock, giveaway, education) and which agent job it activates.
People Relationship scorer Each interaction or order New, fan, buyer, repeat, creator, at-risk. Drives which voice and which actions apply.
Voice Reply miner Each human reply or edit Style per person and per context, with real examples. See below.

Why specialization beats a bigger general model here

Action graphs as guardrails for autonomy

Today the model plans which actions to take, and code rejects plans that are impossible. That is a blacklist. For autonomy, invert it: each agent job is a declared graph of the actions it may take, in what order, and the ontology facts each step requires. Full autonomy may walk the graph. It may not leave it.

Example job: answer people about a drop
Comment on a drop post Classify intent price · size · where to buy · praise Resolve product needs: linked item ≥ high Public reply needs: voice card for context DM product link needs: page, stock, window open Size or code answer needs: variant or policy fact Hand to a person any required fact missing or below confidence fact missing

The model still writes the words. It does not choose new kinds of action, and it never fills a required fact. A missing fact always routes to a person, which is the behavior clients already trust.

Model plans, code rejects

  • Open-ended; every new situation is a new plan
  • Safety depends on catching what the model invented
  • Hard to explain why it acted
  • Autonomy is all or nothing per agent

Declared graph, ontology preconditions

  • Bounded; the client can read the graph
  • Safety is structural: no fact, no edge
  • Every send cites the facts it stood on
  • Autonomy can be granted edge by edge

Graphs become templates per sector and per job: drop questions, order status, restock alerts, creator outreach, complaint triage. A new client starts from the sector's template and inherits its tested edges. That is how onboarding gets fast without getting reckless.

Voice: learn it from the people, by context

A written brand voice describes an average. Customers never meet the average. They meet a social lead answering a complaint at night, or a brand owner thanking a repeat buyer. The system already sees those replies, in the inbox and in every edit a person makes to a draft. Use them.

  1. Read what each person actually sent. Every human reply and every edited draft, attributed to the person who wrote it, on the brand's own accounts.
  2. Split by context. Public or private. Praise, question, complaint, purchase intent. New person, fan, repeat buyer, creator. Launch week or ordinary day. Each combination gets its own profile.
  3. Store a voice card per context. Length, warmth, emoji, sign-offs, what they never say, and three to five real replies as examples. Real examples carry nuance a description loses.
  4. Write with the matching card. The agent replying to a repeat buyer's praise in public uses that card and its examples, not a single brand paragraph.
  5. Measure distance on every edit. When a person changes a draft, record how far it moved and in which context. Shrinking distance per context is the clearest evidence that voice is learned. A context that keeps getting rewritten stays on review.

This also answers a question clients ask and rarely say: "will it sound like us, or like a bot?" The honest answer becomes a chart of their own edits trending toward zero.

Trust you can show

Autonomy should be granted on evidence from the client's own traffic, per job and per edge, and taken back automatically when the evidence weakens. Offline evaluations stay as the internal regression net. The client sees something else.

SignalWhat it meansWhere it comes from
Coverage Share of incoming conversations where every required fact already existed Ontology freshness and confidence
Product accuracy Featured product identified correctly, confirmed or corrected by the client Content miner plus one-tap confirmation
Edit distance How much people changed drafts, per context Review queue
Hold rate How often the graph routed to a person, and why Action graph
Outcome Clicks and orders from conversations the agent handled Store link and attribution

With those, the product can make a specific, defensible offer: "Your drop questions have run at high coverage and near-zero edits across your last 80 conversations. Turn on autonomy for this job?" That is a one-click decision a client can make in week one, and one a skeptical client can reverse with a clear reason. It is very different from asking a client to trust a toggle.

Autonomy becomes a ladder per job: observe, draft, autonomous on covered edges, autonomous on the whole graph. Clients climb it on their own numbers.

Where the competitive advantage comes from

Sequence

Concentrate where the clients are. Most are apparel, so apparel goes first.

First · Apparel content and one job

Sector detection and catalog normalization. Garment segmentation and product linking at publish time, with a one-tap confirmation for the featured item. One declared graph: answer people about a drop. Run it in draft mode across apparel clients and start collecting coverage, accuracy and edit distance.

Second · Voice by context and the trust ladder

Reply mining per person and per context, voice cards with real examples, edit distance in the review queue. Show the trust signals on the agent and offer autonomy per job when the numbers support it.

Third · Widen the template library

Video frame relevance, order status and restock graphs, policy and code facts. Then the food branch with its own miners on the same pattern.

Hold back on new channels and on rewriting the general prompt. Both add surface without adding knowledge.

Risks to manage

Closing

The careful pipeline already built is the right foundation: it knows when not to act. The next step is giving it something to act on. A maintained ontology per client, filled by tools that each understand one part of the business, bounded by graphs clients can read, and speaking in voices learned from the client's own people, turns autonomy from a leap of faith into a number that climbs.

That is also the answer to "how is this competitive." Everyone will have the same models. Very few will have this knowledge, and none will have it for your clients.