NotariumDocumentação
Versão da documentação: latest
PT

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.

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.
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