Memory as a Governed Agent Loadout
TencentDB Agent Memory treats access as part of the memory problem. This chapter focuses on how a user, Team, Agent, and Task determine the scope of an asset, and how ownership, visibility, ACLs, and bindings decide what can actually reach a session. The result is a practical distinction: a memory can be relevant to a question without being permissible or appropriate for the Agent that is asking it.
A global memory namespace is attractive because it is simple. Every Agent searches the same pool, and the most similar records win. That model fails as soon as a team has different roles, private working notes, or multiple projects with different constraints. “Relevant” is not a complete authorization decision. The system needs to know whose experience produced the asset, which Team and Agent it belongs to, whether the caller is a member, and whether the asset was intentionally assigned to this working context.
The identity graph behind a session
The control plane starts with a human identity and a Team. A Team is not only a label for grouping users; it is a scope for Agents, Tasks, and assets. Membership gives a caller a relationship to that Team, while a role such as admin, member, or reviewer can affect default actions. An Agent belongs to a Team and has an owner, description, and prompt that define the role it is meant to perform. A Task identifies a concrete piece of work and can be linked to one or more Agents.
When the Proxy initializes a session, the Team–Agent–Task selection becomes the identity context for the turn. The memory data plane also carries team, user, and Agent dimensions, with Task available as a narrower business filter. The v3 API documentation describes the Team + Agent + User combination as the core isolation triple. The repository’s compatibility code still supplies default values when an older caller omits fields, so the effective strictness depends on the route and deployment configuration. The design intention is clear even where migration compatibility remains: new integrations should not treat a shared default bucket as an adequate substitute for explicit identity.
The difference is easiest to see with two Agents in one Team. A release reviewer may need the Team’s incident history and the codebase’s impact information. A customer-support Agent may need product decisions and customer-facing guidance but not internal debugging notes. Both can ask about “the login issue,” and semantic retrieval may find the same words. Their loadouts should still differ because the Agent role and its fixed bindings express an intentional selection before ranking begins.
A Task adds another useful boundary without replacing the Agent identity. It can narrow recall to a project or work item, associate participating Agents, and give the Proxy a concrete description to include in the session context. But the repository also documents paths where Task is optional, especially for integrations that want broad recall across an Agent’s memories. That is a business choice, not permission to omit the user or Agent dimensions indiscriminately.