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:
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 livr e > # 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 var Default Valores Efeito CHATCLI_QUALITY_ENABLEDtruetrue|falseDesligar o pipeline inteiro. false = Pipeline.Run → agent.Execute direto, zero overhead
Self-Refine (#5)
Env var Default Valores Efeito CHATCLI_QUALITY_REFINE_ENABLEDfalsetrue|falseLiga o RefineHook CHATCLI_QUALITY_REFINE_MAX_PASSES1int ≥ 1 Hard cap de passes CHATCLI_QUALITY_REFINE_MIN_BYTES200int ≥ 0 Skip outputs menores que N bytes CHATCLI_QUALITY_REFINE_EPSILON50int ≥ 0 Threshold de convergência em chars CHATCLI_QUALITY_REFINE_EXCLUDEformatter,deps,refiner,verifierCSV Agents que não passam por refine
CoVe (#6)
Env var Default Valores Efeito CHATCLI_QUALITY_VERIFY_ENABLEDfalsetrue|falseLiga o VerifyHook CHATCLI_QUALITY_VERIFY_NUM_QUESTIONS3int 1-7 Número de perguntas de verificação CHATCLI_QUALITY_VERIFY_REWRITEtruetrue|falseReescrever output em discrepância CHATCLI_QUALITY_VERIFY_EXCLUDEformatter,deps,shell,refiner,verifierCSV Agents que não passam por verify
Reflexion (#3)
Env var Default Valores Efeito 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 var Default Valores Efeito CHATCLI_QUALITY_PLAN_FIRST_MODEautooff|auto|alwaysQuando disparar CHATCLI_QUALITY_PLAN_FIRST_THRESHOLD6int 0-10 Score mínimo para auto disparar
RAG + HyDE (#4)
Env var Default Valores Efeito CHATCLI_QUALITY_HYDE_ENABLEDfalsetrue|falseLiga phase 3a (keyword expansion) CHATCLI_QUALITY_HYDE_USE_VECTORSfalsetrue|falseLiga phase 3b (vector search) CHATCLI_QUALITY_HYDE_PROVIDER— string Display-only, não ativa provider (use CHATCLI_EMBED_PROVIDER) CHATCLI_QUALITY_HYDE_NUM_KEYWORDS5int ≥ 1 Cap de keywords da hipótese
Embedding providers (usado por HyDE 3b)
Env var Default Valores Efeito CHATCLI_EMBED_PROVIDERnullvoyage|openai|nullEscolhe o backend CHATCLI_EMBED_MODELprovider default string Ex: voyage-3, text-embedding-3-small CHATCLI_EMBED_DIMENSIONSprovider default int Só para OpenAI (support dimensional reduction) VOYAGE_API_KEY— string Necessário para provider=voyage OPENAI_API_KEY— string Necessário para provider=openai (usa a mesma chave do chat)
Reasoning Backbone (#7)
Env var Default Valores Efeito 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,reflexionCSV Lista para mode=auto
Overrides por agent (aplicam a qualquer agent built-in)
Env var Efeito 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
Dev barato (default)
Code review rigoroso
Docs técnicas
Incident investigation
Autopilot batch
# 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.export CHATCLI_QUALITY_REFINE_ENABLED = true
export CHATCLI_QUALITY_REFINE_MAX_PASSES = 2
export CHATCLI_QUALITY_VERIFY_ENABLED = true
export CHATCLI_QUALITY_VERIFY_NUM_QUESTIONS = 5
Custo extra : +3-4 calls por worker com output não-mecânico. Use em PR reviews críticos.export CHATCLI_QUALITY_REFINE_ENABLED = true
export CHATCLI_QUALITY_VERIFY_ENABLED = true
export CHATCLI_QUALITY_HYDE_ENABLED = true
# Opcional: HyDE vectors para recall máximo
export CHATCLI_QUALITY_HYDE_USE_VECTORS = true
export CHATCLI_EMBED_PROVIDER = voyage
export VOYAGE_API_KEY = pa- ...
Custo extra : +1 HyDE hypothesis + refine + verify por doc geração. Output polido e factualmente checado.export CHATCLI_QUALITY_REASONING_MODE = on
export CHATCLI_QUALITY_REASONING_BUDGET = 16384
export CHATCLI_QUALITY_REFLEXION_ON_LOW_QUALITY = true
Custo extra : thinking máximo em todos agents + lesson generation generosa. Use em root-cause analysis.export CHATCLI_QUALITY_PLAN_FIRST_MODE = always
export CHATCLI_QUALITY_REFINE_ENABLED = true
export CHATCLI_QUALITY_VERIFY_ENABLED = true
export CHATCLI_QUALITY_REASONING_MODE = on
Custo extra : todos os padrões ligados sempre. Use em workflows sem user na frente (cron, CI).
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.
O pipeline de qualidade não conflita com, nem substitui:
Feature Relaçã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 orchestration Dispatcher continua idêntico; pipeline só envolve cada worker Policy (CODER policy rules) Aplicada dentro do worker, independente de refine/verify/reflexion MCP tools Resultado 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.