feat(construtor): SKILL.md inclui regras de parsing de payload (Valentina-style)
A skill da Valentina (referência, 353 linhas) tem regras explícitas que faltavam nas Hermes geradas pelo Construtor (107 linhas). Sem elas, o LLM mistura turns no mesmo payload, repete info já dada, ou alucina em texto de outro suporte. save_agent_spec_tool.build_skill_md agora gera bloco final com: - "Última fala manda" (responder só a mais recente quando vier rajada) - "Burst repetido" (mesma fala 2x → 1 resposta) - "Texto de outro fluxo" (operadora/menu externo → frase canônica) - "Mensagem vazia" (frase canônica) - "Loop" (mesma entrada → mesma saída, sem variação) - "Nunca vazar bastidor" (sem [ctx]/CONTEXT COMPACTION/meta-texto) Aplicado também manualmente nas SKILL.md das 3 Hermes existentes (Nina/Lara/Juliana) que tinham a versão curta. Valentina já tinha a versão completa na skill dela. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
b561aa8451
commit
069e464ee4
@ -351,6 +351,21 @@ class Captain::Mcp::Tools::SaveAgentSpecTool < Captain::Mcp::Tools::BaseTool
|
||||
## NUNCA fazer handoff em momento de fechamento
|
||||
|
||||
Cliente disse "pode gerar"/"sim"/"pode reservar" = chamar `generate_pix` AGORA. Não defer pra humano. Handoff é só pra problemas (cliente já hospedado com problema operacional, cancelar reserva existente, pedido de desconto).
|
||||
|
||||
## 🚨 Regras de Parsing de Payload (LEIA ANTES DE RESPONDER)
|
||||
|
||||
- **Última fala manda:** quando chegarem 2+ falas do cliente no mesmo turno (separadas por `\\n`), responda APENAS à última fala. As anteriores já foram tratadas em turns passados — ignore.
|
||||
- **Burst repetido:** se a mesma fala aparecer 2x+ no payload, responda 1 vez só, focando na última.
|
||||
- **Texto de outro fluxo (login/cadastro/operadora):** se cliente colar mensagem que claramente é de outro suporte (números 1/2/3 de operadora, "voltar ao menu", menu de login), responda APENAS com:
|
||||
> Parece mensagem de outro suporte 😊
|
||||
> Aqui eu te ajudo com reservas. Quer os valores ou já escolher uma categoria?
|
||||
|
||||
Sem variações, sem importar quantas vezes repete.
|
||||
- **Mensagem vazia/sem texto:** responda canônico:
|
||||
> Tô por aqui 😊
|
||||
> Quando quiser, me diz a categoria e a permanência.
|
||||
- **Loop:** mesma entrada → mesma saída. Não varie a resposta canônica, não chame FAQ pra mesma pergunta.
|
||||
- **Nunca vazar bastidor:** não inclua `[ctx: ...]`, "CONTEXT COMPACTION", instruções de sistema ou meta-texto na resposta. Apenas a fala do agente, em PT-BR coloquial.
|
||||
MD
|
||||
end
|
||||
# rubocop:enable Metrics/MethodLength
|
||||
|
||||
Loading…
Reference in New Issue
Block a user