Skip to main content

The User Model Gap in Agentic Workflows

Agentic AI workflows model tasks, tools, and plans, but not the user. Self-models give agents a persistent user layer that survives across sessions and handoffs.

Robert Ta's Self-Model
Robert Ta's Self-Model CEO & Co-Founder
· · 5 min read

TL;DR

  • Agentic workflows invest in task planning, tool orchestration, and memory, but ignore user modeling, which means every agent handoff loses context about who is being served
  • In a multi-agent enterprise workflow, user-specific context tends to be lost or generalized into defaults by the third agent boundary
  • A persistent self-model shared across agents preserves user context across boundaries and lets agents act more precisely

The user model gap in agentic workflows is the absence of persistent user context across agent boundaries, causing each handoff to lose information about who is being served. Tracing user context through a multi-agent enterprise workflow shows user-specific context lost or generalized by the third agent, resulting in technically correct outputs that miss the user’s actual needs. This post covers why prompt passing fails to solve context loss, how a persistent self-model layer preserves user context, and why shared user models make agents coordinate better than shared task plans.

Context Degrades at Every Boundary

Consider how user context moves through a 5-agent enterprise workflow: intake agent, research agent, analysis agent, drafting agent, review agent. This is the kind of pipeline that enterprise AI teams are building right now.

The intake agent understood the user well. It had the original prompt, the conversation history, the user’s explicit instructions. By the time the research agent received its task, it had the what but not the who, and it searched for sources broadly instead of prioritizing sources the user trusts. It gathered information at the wrong depth because it did not know the user’s expertise level.

By the third agent, the analysis agent, much of the user-specific context can be lost or generalized into defaults. The analysis may use a framework the user explicitly rejected in a previous session. The drafting agent may produce formal, hedged prose for a user who prefers direct, concise language. The review agent has no way to know any of this is wrong.

Each agent completed its task. The workflow “succeeded.” The output did not serve the user.

Agent 1: Intake

Full user context preserved. Original prompt, conversation history, explicit instructions all available.

Agent 2: Research

Has the “what” but not the “who.” Searches broadly instead of prioritizing user-trusted sources. Gathers at the wrong depth for user expertise.

Agent 3: Analysis

Much of the user context is lost or generalized. May use a framework the user rejected in a previous session. Cannot know the user’s preferred analytical approach.

Agent 4: Drafting

Produces formal, hedged prose for a user who prefers direct, concise language. No access to communication style preferences.

Agent 5: Review

No way to evaluate output against user preferences. Reviews for generic quality, not user alignment.

This is the fundamental problem: agent handoffs preserve the task graph but destroy the user graph. Every boundary between agents is a context cliff.

Agentic Workflow Without User Model

  • ×User context lives only in the initial prompt
  • ×Each agent handoff loses user-specific information
  • ×Research agent searches broadly, wrong depth, wrong sources
  • ×Output calibrated to task spec, not to user preferences

Agentic Workflow With Self-Model Layer

  • ✓Persistent self-model queried at every agent boundary
  • ✓User context survives across all handoffs
  • ✓Research agent prioritizes user-trusted sources at right depth
  • ✓Output calibrated to user expertise, style, and goals

Why Prompt Passing Does Not Solve This

The obvious objection: just pass the user context forward in the prompt. Include user preferences in the system message for each agent. Thread the user information through the workflow.

This fails for three reasons.

Context window pressure. Each agent in a multi-step workflow already has a dense prompt: task instructions, tool schemas, intermediate results, safety constraints. Adding a comprehensive user profile competes for context window space. In practice, teams truncate the user context first because the task context feels more immediately necessary.

Context staleness. The user context you pass at the start of a workflow may be outdated by the time the fourth agent acts on it. If the user interacted with a different workflow between agent 2 and agent 4, their preferences or goals may have shifted. Static context injection cannot account for a living, evolving user.

Context interpretation. Different agents need different aspects of the user model. The research agent needs to know what sources the user trusts and at what depth. The drafting agent needs communication style preferences. Passing a monolithic user context blob to every agent wastes tokens and dilutes signal. Each agent needs a tailored view of the user.

Context Window Pressure

User profiles compete with task instructions, tool schemas, and safety constraints for limited context space. User context gets truncated first.

Context Staleness

Static user context injected at workflow start may be outdated by the fourth agent. Users evolve between handoffs.

Context Interpretation

Monolithic user context blobs waste tokens. Each agent needs different aspects: research needs source trust, drafting needs style.

A persistent, queryable self-model solves all three. It is not in the context window. It is an API call. It is always current. It reflects the latest observations. It is tailored: each agent queries only the beliefs it needs.

agentic-self-model.ts
1// At each agent boundary: query the self-model← Persistent user layer
2async function agentStep(agentId: string, task: AgentTask) {
3 const selfModel = await clarity.getSelfModel(task.userId);
4
5 // Each agent queries only the beliefs it needs← Tailored context
6 const userContext = await clarity.query(task.userId, {
7 domain: agentId, // 'research' | 'analysis' | 'drafting'
8 maxBeliefs: 10,
9 minConfidence: 0.7
10 });
11
12 const result = await agent.execute(task, { userContext });
13
14 // Observation feeds back into the self-model← Model evolves
15 await clarity.observe(task.userId, {
16 agent: agentId,
17 action: task.type,
18 outcome: result.userSatisfaction
19 });
20
21 return result;
22}

The Coordination Multiplier

The user model gap is not just about individual agent quality. It is about coordination.

In multi-agent systems, agents need to agree on what “good” looks like for this output. Without a shared user model, each agent optimizes locally. The research agent maximizes coverage, the analysis agent maximizes rigor, the drafting agent maximizes polish. These local optima conflict. Coverage fights with conciseness. Rigor fights with accessibility. Polish fights with directness.

A shared self-model provides a global optimization target: this user’s definition of “good.” The research agent knows coverage matters less than source credibility for this user. The analysis agent knows rigor means practical implications, not academic thoroughness. The drafting agent knows polish means clarity, not formality.

When agents share a user model, they coordinate without explicit coordination protocols. The user model is the alignment signal that makes the whole system coherent.

Research Agent + User Model

Knows coverage matters less than source credibility for this user. Prioritizes depth over breadth.

Analysis Agent + User Model

Knows “rigor” means practical implications for this user, not academic thoroughness. Selects frameworks aligned with past preferences.

Drafting Agent + User Model

Knows “polish” means clarity and directness, not formality. Calibrates tone, detail level, and structure to user style.

This is why self-model injection can reduce unnecessary agent actions. Agents stop overproducing at each step to compensate for uncertainty about what the next agent (or the user) actually needs. When you know who you are serving, you can be precise instead of comprehensive.

The Enterprise Stakes

For enterprise teams, the user model gap is not an abstraction. It is a support ticket problem, a rework problem, and a trust problem.

Every time a multi-agent workflow produces output that technically answers the question but misses the user’s actual need, someone has to redo the work manually. Every time an agent uses the wrong tone, cites the wrong kind of source, or operates at the wrong level of detail, trust in the system erodes.

Enterprise agentic deployments that ignore the user model gap will hit a ceiling. The workflows will be sophisticated. The outputs will be adequate. But “adequate” is not what justifies the enterprise price tag. Users expect the system to know them, and every handoff that forgets who they are makes the system feel generic.

What to Do Next

Step 1: Trace Context

Pick a representative workflow, tag user-specific information in the initial prompt, and track what survives at each agent boundary. If much of it is lost by the midpoint, you have the user model gap.

Step 2: Add Self-Model Queries

Before each agent acts, query a persistent user model for the beliefs relevant to that agent’s task. Even basic context (expertise level, communication preferences, trusted sources) dramatically improves output relevance.

Step 3: Measure Actions-Per-Task

The best agentic workflow produces the right output with the fewest actions. A self-model layer helps agents skip unnecessary work. Clarity provides the persistent user model layer that agents query at every boundary.


Task graphs make agents autonomous. User graphs make agents aligned. Give your agents the user layer they are missing.

References

  1. “RAG is Not Agent Memory,”
  2. context window management strategies
  3. scarce resource with a finite “attention budget”
  4. context engineering
  5. Context Rot study

Need evals for the AI agent you are shipping?

Talk to us →
◉The Clarity Mirror

What did this article change about what you believe?

Select your beliefs

After reading this, which resonate with you?

Stay sharp on AI personalization

Daily insights and research on AI personalization and context management at scale. Read by hundreds of AI builders.

Daily articles on AI-native products. Unsubscribe anytime.

Robert Ta

We build in public. Get Robert's weekly newsletter on building better AI products with Clarity, with a focus on hyper-personalization and digital twin technology. Join 1500+ founders and builders at Self Aligned.

Subscribe to Self Aligned →