Skip to content

Princípio do Contexto Mínimo

Cada subagente recebe apenas o mínimo necessário para cumprir sua função. Specs completas nunca trafegam upstream quando um resumo denso resolve.

Este princípio atravessa todo o framework. É a principal razão pela qual features SDD caem de ~1.5M para ~500-800k tokens com as otimizações aplicadas.


Padrões concretos

1. TaskCard como referência mínima

A TaskCard passa apenas o próprio .md ao subagente executor. Nada de PRD, nada de tech_spec — não existem nesse caminho. Este é o padrão ideal que SDD/miniSpec refatoraram para aproximar.

2. qa_context.md pré-extraído

Antes de disparar N invocações de agent-spec-qa-test-generator, o orquestrador gera uma única vez um resumo denso do tech_spec:

tech_spec.md  (~10.5k tokens, muitas seções)

    │  Passo 0 — agent-spec-sdd-generate-task-plan extrai

qa_context.md  (~1.5k tokens, denso)

    │  passado como input para N subagentes

[QA-gen 1, QA-gen 2, ..., QA-gen N]  — cada um lê ~1.5k em vez de ~10.5k

Economia: 8k × N tokens por feature. Em 8 tasks ≈ ~60-80k tokens economizados.

Detalhes em qa_context pré-extraído.

3. base_sha + sumário do executor inline (não em arquivo)

Após o executor concluir, o orquestrador persiste em memória da sessão (não em disco):

  • base_sha — usado pelo Tech Review para gerar git diff <base_sha> -- <path>.
  • Sumário do executor (4-6 linhas) — usado pelo Tech Review para entender intenção.

Esses 2 campos são passados inline em instrucoes ao Gate 1 e ao Gate 2.

Executor implementa

    │  Orquestrador captura em memória: base_sha + sumário 4-6 linhas

Gate 1 (QA) recebe inline (base_sha + sumário) + paths tocados em arquivos[]


Gate 2 (Tech Review) recebe inline (base_sha + sumário) + sumário mínimo do QA
        (não relê arquivos que o QA cobriu, salvo critical_paths)

Economia: ~300-800 tokens × 2 gates × N tasks vs versão anterior que gravava arquivo T{N}-execution-summary.md. Ver Memória Proativa para histórico do corte.

4. Tech Review confia em files_reviewed[] do QA

O JSON do Gate 1 emite files_reviewed[]:

json
{
  "files_reviewed": [
    {
      "path": "internal/pings/handler.go",
      "sha256": "abc123...",
      "summary": "Handler REST /pings com validação de input; implementa CA-01 e CA-03"
    }
  ]
}

O Gate 2 confia no summary e só relê quando:

  • Path bate com critical_paths.
  • Hash difere (raro).
  • Detecta violação critical em architecture ou security.

5. Sumário mínimo do QA → Tech Review

O Gate 2 recebe 6 campos do JSON do Gate 1, não o JSON completo:

veredito, nota_qualidade, security_flags,
executou_testes, escopo_testes, tocou_area_critica

Economia: ~5k tokens por task. O JSON completo do QA fica com o orquestrador para auditoria/retry.

Veja Gates e Loops para o fluxo completo.

6. MCP allowlist enxuta

MCPs não listados no .mcp.json da feature não carregam suas instruções no system-prompt dos subagentes. Apenas os MCPs estritamente necessários permanecem.

Por quê: cada MCP extra adiciona ~0.5-1k tokens ao system prompt × todos os subagentes invocados. Economia cumulativa expressiva em features grandes.

Veja MCP Allowlist.

7. Redistribuição heurística de CTs

Em SDD, a Estratégia de Testes do tech_spec.md já vem com CTs. O agent-spec-sdd-generate-task-plan redistribui esses CTs por task via match componente↔task (grep por paths da seção Arquivos da task) em vez de invocar agent-spec-qa-test-generator de novo. Elimina 70-90% das invocações QA em features bem-especificadas.

Veja Skip QA quando a Estratégia de Testes completa.

8. Consolidação por camada

Quando agent-spec-qa-test-generator precisa ser invocado para gerar testes, o orquestrador agrupa tasks por camada (infra/domínio/integração/e2e+packaging) e dispara 1 subagente por camada, retornando JSON com chave por task ID. Reduz de N invocações para ~4.

Veja QA Consolidation.


Consequências práticas

  • Subagentes mais rápidos: system-prompt menor → latência menor.
  • Custo linear com trabalho real: overhead fixo não escala com número de tasks.
  • Melhor cache hit: prompt estável aproveita cache da API por mais tempo.
  • Modelos menores funcionam melhor: Sonnet rende mais quando tem contexto enxuto e relevante.

Onde olhar se suspeita de regressão de custo

Se uma feature ficou cara além do esperado:

  1. Sumário do executor está passando inline? Cheque os logs do orquestrador — deve aparecer [T5] executor: ... | sumário capturado (4-6 linhas). Sem essa linha, gates recebem prompt incompleto.
  2. qa_context.md existe na pasta da feature? Se não, Passo 0 do agent-spec-sdd-generate-task-plan foi pulado.
  3. Tokens reportados pelos subagentes: se Gate 1 está lendo >5k só do tech_spec, qa_context.md está sendo ignorado.
  4. Gate 2 está relendo arquivos listados em files_reviewed[] do Gate 1 sem justificativa? Se sim, o reuso não está ativo (ver hash bate, path fora de critical_paths).

Veja Observabilidade — State Files.


Próximos passos

AgentSpec Framework · Spec-driven com IA sobre Claude Code