---
title: "Conjuntos de contexto e fixações"
description: "Curadoria do que o agente recebe no start_session: fixações always-load, conjuntos de contexto reutilizáveis entre espaços e silenciamento de memória."
---

# Conjuntos de contexto e fixações

Quando um agente chama `start_session`, ele não recebe a base de conhecimento inteira — recebe o contexto inicial que você curou. A seção **Agents → Context** é o construtor desse contexto inicial: é aqui que você decide exatamente o que o agente vê ao começar — quais notas sempre carregam (fixações), quais pacotes reutilizáveis estão vinculados a um escopo (conjuntos de contexto) e quais categorias de memória estão silenciadas. Fixações por tag e silenciamento de memória são file-first: vivem no frontmatter da nota e sobrevivem a um novo clone do repositório. Já os conjuntos de contexto e as fixações entre espaços ficam no banco de metadados (uma ressalva deliberada: nem um novo clone em um host limpo nem o modo `none` os preservam).

## Fixações always-load

Uma fixação é uma marca manual de "carregar sempre" (participação na tag `always-load`, não uma ordenação). Ela funciona em dois eixos:

- **Pessoal** — notas do seu domínio pessoal entram em `profile.alwaysLoad` e carregam em **toda** sessão.
- **Projeto** — notas na subárvore de um projeto marcado entram em `project.alwaysLoad` e carregam quando o agente está trabalhando **naquele projeto** (a dica `project`).

A fixação está atrelada ao lugar onde a nota vive: uma nota do domínio pessoal fixa no perfil; uma nota na subárvore de um projeto fixa no pacote daquele projeto. O construtor mostra exatamente o que o agente vai carregar de fato — a curadoria no servidor e na pré-visualização passa pelo mesmo código.

## Conjuntos de contexto — pacotes entre espaços

A tag `always-load` prende a fixação a um único espaço. Os conjuntos de contexto tiram esse limite: um conjunto de contexto é uma **coleção nomeada e reutilizável de referências a notas** que você pode vincular a outro escopo.

Cenário típico: você monta um conjunto "Convenções de frontend" com notas do espaço compartilhado `conventions` e o vincula a projetos de outro espaço. Toda sessão desses projetos passa a receber essas notas, e você edita o conjunto num só lugar — atualizou ali, atualizou em todos.

Há também uma opção mais leve — a **fixação avulsa entre espaços**: uma única nota fixada direto em um escopo a partir de outro espaço, sem o invólucro do conjunto. A tag `always-load` fica para fixações dentro do mesmo espaço; conjuntos e fixações avulsas servem para cruzar espaços. Todos convivem, e a deduplicação é por note-id.

> [!note] Propriedade ≥ vínculo
> O conjunto vive no seu espaço de origem, e a participação nesse espaço é o que dá visibilidade e permissão de edição. Um conjunto pessoal só se vincula ao seu domínio pessoal; um conjunto compartilhado (vindo de um espaço compartilhado) vincula-se ao domínio pessoal ou a qualquer projeto. Não dá para vincular um conjunto pessoal a um projeto — ele carregaria contexto só para você.

## Ordem = prioridade de carga

A ordem das fixações e dos conjuntos na lista é sua (arrastar e soltar), não derivada. É ela que define a prioridade: o que está mais acima carrega primeiro e é o último a ser cortado quando você esbarra no orçamento de tokens. Fixações e conjuntos dividem uma única lista ranqueada (dá para colocar um conjunto acima de uma fixação). A ordem geral de carga é **fixações → conjuntos → memória** (o específico pesa mais que o geral); depois o excedente é cortado até o orçamento do escopo.

## Silenciamento de memória (mute)

Por padrão, a memória do agente entra no contexto. Se uma categoria começa a fazer ruído, silencie só ela (`mute`). O silenciamento tira essa memória de todos os lugares em que ela chega ao agente sozinha, sem pedido explícito:

- o perfil pessoal, que carrega logo no `start_session`;
- a montagem do pacote do `recall`;
- o dicionário de categorias em `start_session(project).knownValues`.

> [!important] A busca enxerga a memória silenciada de propósito
> `search` **não** filtra memória silenciada: ele indexa a memória justamente para a deduplicação do "buscar antes de gravar". Do contrário, o agente não acharia a categoria silenciada e recriaria uma duplicata. Silenciar é calar o contexto automático, não apagar: busca explícita e auditoria continuam vendo tudo. O inverso é `Unmute`, no mesmo eixo.

## Um único orçamento de tokens

Acima das seções do construtor há um único medidor de carga, que corresponde exatamente ao orçamento do escopo atual. A resposta pessoal tem um orçamento (primeiro as fixações, depois a memória); a resposta de projeto tem o seu, no qual as fixações do projeto vêm primeiro e o pano de fundo pessoal se encaixa no que sobrar. O que é carregado fica sempre ≤ o orçamento, e o corte aparece item a item. A memória do projeto não carrega de cara — ela vem sob demanda; se um fato específico do projeto for sempre necessário, fixe a nota.

## A seguir

- [Auditoria de recuperação](/docs/agents/audit/) — o gêmeo do construtor em tempo de execução: o que o agente puxa de fato.
- [Memória do agente](/docs/agents/memory/) — como se monta a memória que você silencia.
- [Regras do agente](/docs/agents/agent-files/) — a outra metade do trabalho: garantir que o `start_session` seja mesmo chamado.
- [Ferramentas de intenção](/docs/agents/intent-tools/) — `start_session` e as demais ferramentas.
