How can agents learn shared experience across users?

Short answer: Generalize task-level lessons from many users into coherent shared memories, not personal preferences.

Corrections about how the system reasons or uses tools should improve behavior for everyone. Preferences stay individual. Sharing does not require users to trust each other if only depersonalized task lessons are consolidated. Merge near-duplicate feedback into one clear lesson to avoid dilution. Engram can store shared experience deliberately for project-wide retrieval.

The previous two chapters treated feedback and preference as things belonging to one specific individual, learned and retrieved for that person alone. This chapter looks at the opposite side of that same coin, lessons genuinely worth generalizing across every user a system serves, and what it actually takes to let an agent learn from the accumulated experience of an entire user base rather than keeping every lesson locked to whoever happened to trigger it.

Why Would a System Ever Want a Lesson Learned From One User’s Feedback to Influence How It Behaves for a Completely Different User?

Some corrections aren’t actually about the specific person who happened to give them, they’re about how the system itself does its job, a mistake in reasoning, a tool used incorrectly, a category of question consistently misunderstood. A support agent that learns from one customer’s correction that it should check a specific FAQ before escalating a billing question isn’t learning something personal to that customer, it’s learning something genuinely useful for handling the exact same situation the very next time it comes up, regardless of who happens to be asking. Locking that lesson to only the original customer who happened to trigger it would mean every other customer hits the exact same avoidable mistake all over again.

What Actually Distinguishes a Lesson Worth Sharing Across Every User From One That Genuinely Belongs to Just One Individual?

The deciding question is whether the lesson describes how to do the task correctly or describes something specific to one person’s own preferences. “Check the billing FAQ before escalating a refund request” describes a task-level procedure that’s true regardless of who’s asking, while “this customer prefers email over phone” describes something genuinely specific to one individual that has no obvious bearing on how the system should treat anyone else. This is the same distinction covered much earlier in this knowledge base between project-wide and user-scoped memory, applied here specifically to the domain of learned experience and feedback.

Does Sharing Experience Across an Entire User Base Actually Require Every User to Trust Each Other or Know Their Feedback Is Being Generalized?

It requires the operator of the system to make a deliberate, considered choice about whether that kind of sharing is appropriate for a given deployment, rather than defaulting to it automatically. A system used internally by a single trusted team can reasonably share experience broadly, since everyone contributing feedback is already operating within the same organization with aligned goals. A system serving untrusted or unrelated members of the public generally shouldn’t let one person’s feedback silently reshape how the system behaves for everyone else, since that opens a door to one bad-faith or simply mistaken piece of feedback degrading the experience for an entire user base at once.

How Does a System Actually Turn Many Separate, Individually Learned Lessons Into a Single, Coherent Piece of Shared Experience?

Individual pieces of feedback, gathered one at a time from many different users encountering the same kind of situation, need to be consolidated into a combined, higher-level lesson rather than simply accumulating as a growing pile of near-duplicate corrections that each say roughly the same thing in slightly different words. This consolidation step matters directly, without it, a shared-experience category would eventually hold dozens of redundant, overlapping entries about the same underlying issue rather than one clear, well-formed lesson a future search can retrieve cleanly and act on with confidence.

Does Sharing Experience Broadly Actually Risk Diluting a Lesson’s Quality if the Feedback Contributing to It Was Inconsistent or Contradictory Across Different Users?

It can, and this is a genuine tension worth watching for rather than assuming away. If different users’ feedback about the same situation genuinely conflicts, one person insisting on one approach and another insisting on the opposite, blindly averaging or combining that feedback into one lesson risks producing muddled, unreliable guidance that satisfies nobody. A well-designed consolidation process needs to recognize this kind of genuine disagreement and either resolve it deliberately or preserve both perspectives distinctly, rather than silently smoothing over a real conflict into a single, falsely confident lesson.

How Does Weaviate Engram Let a System Deliberately Share Learned Experience Across Every User It Serves?

Weaviate Engram lets a topic be configured as project-wide rather than user-scoped, letting feedback contributed by any user flow into a single, shared pool of accumulated experience that benefits every future interaction regardless of who’s asking. Consider a recipe-recommendation assistant used by home cooks across a large audience, where feedback about a specific recommendation approach not working well is genuinely useful to apply system-wide, not just for the one cook who happened to flag it:

from engram import EngramClient

client = EngramClient(api_key=os.environ["ENGRAM_API_KEY"])

client.memories.add(
    "When a user asks for a 'quick' recipe, prioritize actual prep time over total cook time, since users flagging this feedback consistently cared more about hands-on effort than oven time.",
    topics=["shared_experience"],
)

lessons_learned = client.memories.search(
    query="What have we learned about how users define a 'quick' recipe?",
    topics=["shared_experience"],
)

Because this lesson was extracted from feedback contributed by users across the entire audience and stored without any individual user identifier attached, every future recommendation this assistant makes for any cook asking about a quick recipe benefits from what was learned, rather than that specific insight staying locked to whichever one user happened to flag the original confusion. This is exactly the value shared experience delivers for a use case like a recipe assistant serving a broad audience, where a genuine improvement in how the system reasons about a common request should reach everyone who might encounter that same situation, not just the person who first pointed it out.

Sharing experience across an entire user base lets a system’s collective feedback genuinely improve how it serves everyone, provided that sharing is applied deliberately to task-level lessons rather than individual preferences. The opposite discipline matters just as much, keeping certain feedback strictly isolated to the individual who gave it. Our next chapter, What is isolated experience in personalization?, takes up exactly that boundary.