Pular para o conteúdo principal
Toda a configuração do pipeline de qualidade em um lugar só. Três canais: env vars (persistentes), slashes (sessão), /config quality (inspeção).

/config quality

Comando único que lista todo o estado do pipeline:
/config quality
Saída típica:
✨ PIPELINE DE QUALIDADE DO AGENTE ──────────────────
  CHATCLI_QUALITY_ENABLED              : enabled
  Hooks registrados                   : pre=0, post=2

  ── Self-Refine (#5)
  CHATCLI_QUALITY_REFINE_ENABLED       : disabled
  CHATCLI_QUALITY_REFINE_MAX_PASSES    : 1
  CHATCLI_QUALITY_REFINE_MIN_BYTES     : 200
  CHATCLI_QUALITY_REFINE_EPSILON       : 50
  CHATCLI_QUALITY_REFINE_EXCLUDE       : formatter, deps, refiner, verifier

  ── Chain-of-Verification / CoVe (#6)
  CHATCLI_QUALITY_VERIFY_ENABLED       : disabled
  CHATCLI_QUALITY_VERIFY_NUM_QUESTIONS : 3
  CHATCLI_QUALITY_VERIFY_REWRITE       : enabled
  CHATCLI_QUALITY_VERIFY_EXCLUDE       : formatter, deps, shell, refiner, verifier

  ── Reflexion (#3)
  CHATCLI_QUALITY_REFLEXION_ENABLED       : enabled
  CHATCLI_QUALITY_REFLEXION_ON_ERROR      : enabled
  CHATCLI_QUALITY_REFLEXION_ON_HALLUCINATION: enabled
  CHATCLI_QUALITY_REFLEXION_ON_LOW_QUALITY : disabled
  CHATCLI_QUALITY_REFLEXION_PERSIST       : enabled

  ── Plan-and-Solve / ReWOO (#2)
  CHATCLI_QUALITY_PLAN_FIRST_MODE      : auto
  CHATCLI_QUALITY_PLAN_FIRST_THRESHOLD : 6

  ── RAG + HyDE (#4)
  CHATCLI_QUALITY_HYDE_ENABLED         : disabled
  CHATCLI_QUALITY_HYDE_USE_VECTORS     : disabled
  CHATCLI_QUALITY_HYDE_PROVIDER        : (none)
  CHATCLI_EMBED_PROVIDER               : (not set)
  CHATCLI_EMBED_MODEL                  : (not set)
  CHATCLI_QUALITY_HYDE_NUM_KEYWORDS    : 5
  Índice vetorial                     : (not attached)

  ── Backbone de reasoning (#7)
  CHATCLI_QUALITY_REASONING_MODE       : auto
  CHATCLI_QUALITY_REASONING_BUDGET     : 8000
  CHATCLI_QUALITY_REASONING_AUTO_AGENTS: planner, refiner, verifier, reflexion

Slash commands

/thinking — reasoning override

/thinking                    # mostra estado atual
/thinking auto               # limpa override
/thinking off                # força no-thinking no próximo turn
/thinking on                 # alias para /thinking high
/thinking low|medium|high|max
/thinking budget=N           # tier mais próximo de N tokens
Detalhes: #7 Reasoning Backbone.

/plan — forçar Plan-and-Solve

/plan                          # arma flag; próximo /agent ou /coder usa Plan-First
/plan <task livre>             # arma + entra em agent mode com essa task
Detalhes: #2 Plan-and-Solve.

/refine — Self-Refine session toggle

/refine                  # estado atual
/refine on               # liga para a sessão
/refine off              # desliga
/refine once|next        # liga (hoje idêntico a on)
/refine auto|clear       # limpa override → usa /config
Detalhes: #5 Self-Refine.

/verify — CoVe session toggle

/verify                  # estado atual
/verify on               # liga
/verify off              # desliga
/verify once             # liga uma vez
/verify auto             # limpa override
Detalhes: #6 CoVe.

/reflect — persistir lesson manual

/reflect <texto livre da lição>
# Ex: /reflect quando editar arquivos Go grandes use Edit, não rewrite total
Grava direto em memory.Fact (categoria=lesson, trigger=manual) sem chamada LLM. Útil para capturar aprendizados em tempo real. Detalhes: #3 Reflexion.

Env vars — referência completa

Master switch

Env varDefaultValoresEfeito
CHATCLI_QUALITY_ENABLEDtruetrue|falseDesligar o pipeline inteiro. false = Pipeline.Runagent.Execute direto, zero overhead

Self-Refine (#5)

Env varDefaultValoresEfeito
CHATCLI_QUALITY_REFINE_ENABLEDfalsetrue|falseLiga o RefineHook
CHATCLI_QUALITY_REFINE_MAX_PASSES1int ≥ 1Hard cap de passes
CHATCLI_QUALITY_REFINE_MIN_BYTES200int ≥ 0Skip outputs menores que N bytes
CHATCLI_QUALITY_REFINE_EPSILON50int ≥ 0Threshold de convergência em chars
CHATCLI_QUALITY_REFINE_EXCLUDEformatter,deps,refiner,verifierCSVAgents que não passam por refine

CoVe (#6)

Env varDefaultValoresEfeito
CHATCLI_QUALITY_VERIFY_ENABLEDfalsetrue|falseLiga o VerifyHook
CHATCLI_QUALITY_VERIFY_NUM_QUESTIONS3int 1-7Número de perguntas de verificação
CHATCLI_QUALITY_VERIFY_REWRITEtruetrue|falseReescrever output em discrepância
CHATCLI_QUALITY_VERIFY_EXCLUDEformatter,deps,shell,refiner,verifierCSVAgents que não passam por verify

Reflexion (#3)

Env varDefaultValoresEfeito
CHATCLI_QUALITY_REFLEXION_ENABLEDtruetrue|falseLiga o ReflexionHook
CHATCLI_QUALITY_REFLEXION_ON_ERRORtruetrue|falseDisparar em erro de worker
CHATCLI_QUALITY_REFLEXION_ON_HALLUCINATIONtruetrue|falseDisparar em verified_with_discrepancy
CHATCLI_QUALITY_REFLEXION_ON_LOW_QUALITYfalsetrue|falseDisparar em refine_low_quality
CHATCLI_QUALITY_REFLEXION_PERSISTtruetrue|falseEscrever em memory.Fact

Plan-and-Solve (#2)

Env varDefaultValoresEfeito
CHATCLI_QUALITY_PLAN_FIRST_MODEautooff|auto|alwaysQuando disparar
CHATCLI_QUALITY_PLAN_FIRST_THRESHOLD6int 0-10Score mínimo para auto disparar

RAG + HyDE (#4)

Env varDefaultValoresEfeito
CHATCLI_QUALITY_HYDE_ENABLEDfalsetrue|falseLiga phase 3a (keyword expansion)
CHATCLI_QUALITY_HYDE_USE_VECTORSfalsetrue|falseLiga phase 3b (vector search)
CHATCLI_QUALITY_HYDE_PROVIDERstringDisplay-only, não ativa provider (use CHATCLI_EMBED_PROVIDER)
CHATCLI_QUALITY_HYDE_NUM_KEYWORDS5int ≥ 1Cap de keywords da hipótese

Embedding providers (usado por HyDE 3b)

Env varDefaultValoresEfeito
CHATCLI_EMBED_PROVIDERnullvoyage|openai|nullEscolhe o backend
CHATCLI_EMBED_MODELprovider defaultstringEx: voyage-3, text-embedding-3-small
CHATCLI_EMBED_DIMENSIONSprovider defaultintSó para OpenAI (support dimensional reduction)
VOYAGE_API_KEYstringNecessário para provider=voyage
OPENAI_API_KEYstringNecessário para provider=openai (usa a mesma chave do chat)

Reasoning Backbone (#7)

Env varDefaultValoresEfeito
CHATCLI_QUALITY_REASONING_MODEautooff|auto|onPolítica de auto-attach
CHATCLI_QUALITY_REASONING_BUDGET8000int (tokens)Budget de thinking (Anthropic); mapeado para tier na OpenAI
CHATCLI_QUALITY_REASONING_AUTO_AGENTSplanner,refiner,verifier,reflexionCSVLista para mode=auto

Overrides por agent (aplicam a qualquer agent built-in)

Env varEfeito
CHATCLI_AGENT_<NAME>_MODELForça modelo específico para aquele agent
CHATCLI_AGENT_<NAME>_EFFORTForça effort tier (low|medium|high|max)
<NAME> é o nome em uppercase. Para os novos: REFINER, VERIFIER.
# Exemplos
export CHATCLI_AGENT_REFINER_MODEL="claude-haiku-4-5"
export CHATCLI_AGENT_VERIFIER_MODEL="claude-opus-4-7"
export CHATCLI_AGENT_VERIFIER_EFFORT="max"

Presets recomendados

# Sem ajustes: chatcli out-of-the-box já é barato
# ReAct + Reasoning auto para Planner + Reflexion on (só em erros)
Custo extra por turn: zero normalmente; +1 LLM call em erros raros.

Desligar tudo

Se algo quebra em produção e você precisa voltar ao comportamento pré-pipeline instantaneamente:
export CHATCLI_QUALITY_ENABLED=false
Isso faz Pipeline.Run degenerar em return agent.Execute(...)byte-identical ao chatcli pré-PR. Zero hooks, zero reasoning auto-attach, zero HyDE.
O master switch é a saída de emergência. Os toggles individuais são para afinar cenários; o master é para rollback.

Interação com outras configs

O pipeline de qualidade não conflita com, nem substitui:
FeatureRelação
Skills (com frontmatter effort:)Ganha de applyAutoReasoning (skill hint já no ctx)
Personas (custom agents)Podem ter effort: no .md; override por agente continua funcionando
Multi-agent orchestrationDispatcher continua idêntico; pipeline só envolve cada worker
Policy (CODER policy rules)Aplicada dentro do worker, independente de refine/verify/reflexion
MCP toolsResultado de MCP tools passa pelo pipeline como qualquer outro worker output

Leia também

Visão Geral dos 7 padrões

Volte ao hub.

Environment Variables (completo)

Toda a matriz de env vars do ChatCLI.

Command Reference

Todos os slashes.

/config (hierárquico)

Como /config <section> foi estruturado.