Precisa perguntar algo no meio da tarefa? O /btw responde na hora, sem interromper nada

Você conhece esse momento: o Hermes está no meio de uma tarefa longa — refatorando um codebase, reorganizando um repositório, acompanhando um deploy — e uma pergunta relacionada passa pela sua cabeça: “em qual arquivo estava mesmo aquele erro?”. Antes, suas opções eram igualmente ruins: interromper o agente para ele se re-focar, ou abrir uma sessão nova que não tem memória nenhuma do que está acontecendo. As duas doem. A PR #97937 (mesclada em 29 de agosto, com o complemento #97974) transforma o terceiro caminho em um comando nativo: /btw <question> responde a sua dúvida na hora, usando todo o contexto da conversa atual, sem parar a tarefa. A mesma mudança aposenta o /background e promove o /bg a comando canônico de tarefas em segundo plano — o /btw deixa de ser apenas um alias dele.
Por que antes era tão desconfortável
/bg e /btw eram ambos aliases de /background: “envie esta frase para uma sessão em segundo plano e execute-a.” Isso parece ótimo até você esbarrar na falha fatal — a sessão em segundo plano é novinha em folha e não sabe nada sobre o seu contexto atual.
Assim, o uso clássico desmoronava:
/btw which file was that error in?
O agente em segundo plano, sem contexto, só conseguia responder “não sei a que erro você se refere” — ou fazer você colar o contexto. Todo o sentido de uma pergunta paralela — pegar emprestado o contexto da conversa atual para uma resposta rápida — nunca se materializava.
Como o /btw funciona agora
A ideia central: a pergunta nunca entra na sessão principal. Ela é respondida “de lado”, usando um snapshot da sessão principal. A implementação (agent/side_question.py) tem dois caminhos, escolhidos automaticamente:
Caminho um: um fork de paridade de cache (preferido). Se o agente da sessão atual ainda está vivo, o /btw monta um “cache-parity fork” — o mesmo mecanismo que a revisão de auto-melhoria em segundo plano usa. O fork herda o runtime do pai, um system prompt e uma lista de tools byte a byte idênticos, e o mesmo session_id, e então reproduz o snapshot da conversa verbatim. Como o prefix cache do provider já está quente para exatamente essa reprodução, a resposta paralela enxerga a conversa completa, sem truncamento, pelo preço de leitura de cache. Toda chamada de tool é negada no dispatch (thread whitelist vazia), a persistência fica totalmente desacoplada — sem gravações em state.db, sem rotação de sessão, sem hooks de memória externa. O uso é atribuído à sessão pai.
Caminho dois: um digest descartável (fallback). Se o agente da sessão foi despejado (por exemplo, o gateway derrubou o agente em cache — e o cache do provider está frio ali de qualquer forma), ele degrada para renderizar um digest de texto puro da conversa, com viés para o mais recente, e responde por meio de uma chamada auxiliar one-shot. O digest exclui o system prompt e resume as chamadas de tool e os resultados.
Nos dois caminhos, o histórico da sessão principal, a alternância de papéis e o prompt cache ficam intactos por construção — essa é a restrição dura do design.
Como usar
Disponível na CLI, no TUI e nas plataformas gateway (Telegram, Discord, Slack, …) — e funciona enquanto o agente está ocupado (busy_policy="dispatch", então você pode interromper no meio da execução):
# Task running, sudden question
/btw which file was that error in?
→ /btw answers with the full conversation context: it's in src/utils/parser.py, line 42 …
# A background question about the current task
/btw what approach did we settle on for retries?
Quer que um modelo diferente responda às perguntas paralelas? Existe uma configuração dedicada de tarefa auxiliar:
auxiliary:
side_question:
provider: anthropic
model: claude-sonnet-4-5
Sem ela, o modelo principal é usado. Nota: um modelo diferente significa cache frio, então ele cai no caminho do digest compacto.
A mudança paralela: /bg vira oficial
O nome verboso /background acabou (sugestão da comunidade: seguir a convenção curta no estilo /btw). Tarefas em segundo plano agora têm exatamente um nome:
/bg compile a report of every TODO in this directory
/btw e /bg têm cada um a sua pista: /bg despacha tarefas independentes, /btw responde perguntas rápidas usando o contexto atual. Se você tem o hábito de digitar /background, está na hora de retreinar a memória muscular.
Quando o /btw mais compensa
- No meio de tarefas longas: deploys, migrações em lote, code review em andamento — pergunte “onde estamos?” ou “qual era aquele warning?” sem pausar nada.
- Perguntas dependentes de contexto: “qual convenção de nomenclatura combinamos?” “o que diz o AGENTS.md deste repositório?” — a resposta paralela enxerga a conversa inteira.
- Manter a sessão principal limpa: o snapshot é somente leitura; sem rastros no histórico, sem impacto na compressão ou no cache.
Uma ressalva honesta: as duas PRs entraram em 29 de agosto, então elas existem atualmente apenas na main — nenhuma release tag as inclui ainda (a v0.20.6 foi marcada em 27 de agosto). Para testá-las hoje, rode hermes update e execute a partir do código mais recente; caso contrário, espere a próxima release.
Resumo
O /btw transforma a necessidade frequente de “fazer uma pergunta rápida com o contexto atual” em um comando de primeira classe sem custo: sem interrupção, sem queimar cache da sessão principal, sem poluir o histórico. Com o /bg assumindo o despacho de tarefas, “perguntar” e “delegar” em uma sessão ficam finalmente bem separados. Da próxima vez que surgir uma dúvida no meio da execução, tente começar com /btw — ele entende do que você está falando melhor do que você imagina.
Para se aprofundar no ecossistema de slash commands, confira nosso guia de command palette; para outras formas de lidar com um agente ocupado (interromper, enfileirar, direcionar sem pausar), vale a pena dar uma olhada na família /busy. As duas PRs fazem parte do fluxo pós-v0.20.6 na main — as notas da release v0.20.6 resumem toda essa janela.