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.alwaysLoade carregam em toda sessão. - Projeto — notas na subárvore de um projeto marcado entram em
project.alwaysLoade carregam quando o agente está trabalhando naquele projeto (a dicaproject).
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.
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.
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 — o gêmeo do construtor em tempo de execução: o que o agente puxa de fato.
- Memória do agente — como se monta a memória que você silencia.
- Regras do agente — a outra metade do trabalho: garantir que o
start_sessionseja mesmo chamado. - Ferramentas de intenção —
start_sessione as demais ferramentas.