Projeto do Agent Contas ORACLE
This commit is contained in:
17
config/agents.yaml
Normal file
17
config/agents.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
default_agent_id: telecom_contas
|
||||
agents:
|
||||
- agent_id: telecom_contas
|
||||
name: TIM Contas - Agent Framework OCI
|
||||
description: Migração framework-native do agente Contas TIM.
|
||||
prompt_policy_path: ./config/prompt_policy.yaml
|
||||
routing_config_path: ./config/routing.yaml
|
||||
guardrails_config_path: ./config/guardrails.yaml
|
||||
judges_config_path: ./config/judges.yaml
|
||||
mcp_servers_config_path: ./config/mcp_servers.yaml
|
||||
tools_config_path: ./config/tools.yaml
|
||||
metadata:
|
||||
domain: telecom_contas
|
||||
system_prefix: |
|
||||
Você está executando o agente Contas TIM sobre o agent_framework_oci.
|
||||
Roteamento, stickiness, memória, clarificação, confirmações transacionais, RAG, guardrails e judges são responsabilidades do framework.
|
||||
O agente de domínio contém somente regras específicas de negócio.
|
||||
8
config/agents/retail_orders/guardrails.yaml
Normal file
8
config/agents/retail_orders/guardrails.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
input:
|
||||
- code: MSK
|
||||
enabled: true
|
||||
- code: VLOOP
|
||||
enabled: true
|
||||
output:
|
||||
- code: REVPREC
|
||||
enabled: true
|
||||
7
config/agents/retail_orders/judges.yaml
Normal file
7
config/agents/retail_orders/judges.yaml
Normal file
@@ -0,0 +1,7 @@
|
||||
judges:
|
||||
- name: response_quality
|
||||
enabled: true
|
||||
threshold: 0.7
|
||||
- name: groundedness
|
||||
enabled: true
|
||||
threshold: 0.6
|
||||
6
config/agents/retail_orders/prompt_policy.yaml
Normal file
6
config/agents/retail_orders/prompt_policy.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
id: retail_orders_prompt_policy
|
||||
version: 1
|
||||
description: Prompt base isolado do agente de varejo/pedidos.
|
||||
system_prefix: |
|
||||
Você é um agente corporativo de varejo especializado em pedidos, entrega, troca, devolução e garantia.
|
||||
Seja claro, objetivo e não use regras de negócio de telecom neste agente.
|
||||
8
config/agents/telecom_contas/guardrails.yaml
Normal file
8
config/agents/telecom_contas/guardrails.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
input:
|
||||
- code: MSK
|
||||
enabled: true
|
||||
- code: VLOOP
|
||||
enabled: true
|
||||
output:
|
||||
- code: REVPREC
|
||||
enabled: true
|
||||
20
config/agents/telecom_contas/judges.yaml
Normal file
20
config/agents/telecom_contas/judges.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
enabled: true
|
||||
fail_closed: true
|
||||
profile: judge
|
||||
|
||||
judges:
|
||||
- name: response_quality
|
||||
enabled: true
|
||||
threshold: 0.7
|
||||
|
||||
- name: groundedness
|
||||
enabled: true
|
||||
threshold: 0.6
|
||||
|
||||
- name: sentiment
|
||||
enabled: true
|
||||
fail_on_negative: false
|
||||
|
||||
- name: tone
|
||||
enabled: true
|
||||
fail_closed: true
|
||||
6
config/agents/telecom_contas/prompt_policy.yaml
Normal file
6
config/agents/telecom_contas/prompt_policy.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
id: telecom_contas_prompt_policy
|
||||
version: 1
|
||||
description: Prompt base isolado do agente de telecom/contas.
|
||||
system_prefix: |
|
||||
Você é um agente corporativo de atendimento telecom especializado em faturas, produtos, VAS e suporte.
|
||||
Seja claro, objetivo e não prometa execução operacional sem ferramenta ou confirmação válida.
|
||||
29
config/guardrails.yaml
Normal file
29
config/guardrails.yaml
Normal file
@@ -0,0 +1,29 @@
|
||||
# Guardrails executados pelo Agent Framework OCI.
|
||||
# O domínio Contas apenas configura policies; a engine e o LLM dos rails são do framework.
|
||||
input:
|
||||
- {code: INPUT_SIZE, enabled: true}
|
||||
- {code: MSK, enabled: true}
|
||||
- {code: DLEX_IN, enabled: true}
|
||||
- {code: TOX, enabled: true}
|
||||
- {code: PINJ, enabled: true}
|
||||
- {code: COER, enabled: true}
|
||||
- {code: VLOOP, enabled: true}
|
||||
|
||||
output:
|
||||
- {code: OOS, enabled: true}
|
||||
- {code: AOFERTA, enabled: true}
|
||||
- {code: REVPREC, enabled: true}
|
||||
- {code: FRASEOLOGIA, enabled: true}
|
||||
- {code: PINJ, enabled: true}
|
||||
- {code: DLEX_OUT, enabled: true}
|
||||
- {code: TOXOUT, enabled: true}
|
||||
- {code: CMP, enabled: true}
|
||||
- {code: GND, enabled: true}
|
||||
- {code: ALUC_RISK, enabled: true}
|
||||
|
||||
retrieval:
|
||||
- {code: RAGSEC, enabled: true}
|
||||
- {code: RET_REL, enabled: true}
|
||||
|
||||
tool:
|
||||
- {code: TOOL_VAL, enabled: true}
|
||||
55
config/identity.yaml
Normal file
55
config/identity.yaml
Normal file
@@ -0,0 +1,55 @@
|
||||
identity:
|
||||
version: "2"
|
||||
required:
|
||||
- session_key
|
||||
keys:
|
||||
customer_key:
|
||||
description: Cliente/assinante/consumidor canônico.
|
||||
sources:
|
||||
- business_context.customer_key
|
||||
- customer_key
|
||||
- msisdn
|
||||
- customer_id
|
||||
- user_id
|
||||
- ani
|
||||
- from
|
||||
contract_key:
|
||||
description: Contrato, conta, fatura, pedido ou asset principal.
|
||||
sources:
|
||||
- business_context.contract_key
|
||||
- contract_key
|
||||
- invoice_id
|
||||
- current_invoice_number
|
||||
- order_id
|
||||
- pedido_id
|
||||
- asset_id
|
||||
interaction_key:
|
||||
description: Chave externa da interação/call/chat vinda do canal.
|
||||
sources:
|
||||
- business_context.interaction_key
|
||||
- interaction_key
|
||||
- ura_call_id
|
||||
- call_id
|
||||
- message_id
|
||||
account_key:
|
||||
description: Conta de cobrança/conta comercial.
|
||||
sources:
|
||||
- business_context.account_key
|
||||
- account_key
|
||||
- account_id
|
||||
- billing_account_id
|
||||
resource_key:
|
||||
description: Recurso/linha/produto/asset específico.
|
||||
sources:
|
||||
- business_context.resource_key
|
||||
- resource_key
|
||||
- asset_id
|
||||
- product_id
|
||||
- sku
|
||||
session_key:
|
||||
description: Sessão técnica estável já escopada por tenant e agente.
|
||||
sources:
|
||||
- business_context.session_key
|
||||
- session_key
|
||||
- conversation_key
|
||||
- session_id
|
||||
8
config/judges.yaml
Normal file
8
config/judges.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
enabled: true
|
||||
fail_closed: true
|
||||
profile: judge
|
||||
judges:
|
||||
- {name: response_quality, enabled: true, threshold: 0.70}
|
||||
- {name: groundedness, enabled: true, threshold: 0.60}
|
||||
sample_rate: 0.10
|
||||
always_run_for_transactional: true
|
||||
114
config/mcp_parameter_mapping.yaml
Normal file
114
config/mcp_parameter_mapping.yaml
Normal file
@@ -0,0 +1,114 @@
|
||||
mcp_parameter_mapping:
|
||||
defaults:
|
||||
use_mock: true
|
||||
tools:
|
||||
consultar_faturas:
|
||||
map:
|
||||
customer_key: msisdn
|
||||
session_key: session_id
|
||||
invoice_explanation:
|
||||
map:
|
||||
customer_key: msisdn
|
||||
session_key: session_id
|
||||
consultar_vas:
|
||||
map:
|
||||
customer_key: msisdn
|
||||
session_key: session_id
|
||||
consultar_historico_vas:
|
||||
map:
|
||||
customer_key: msisdn
|
||||
session_key: session_id
|
||||
consultar_status_solicitacao:
|
||||
map:
|
||||
customer_key: msisdn
|
||||
interaction_key: protocol
|
||||
session_key: session_id
|
||||
consultar_tracking:
|
||||
map:
|
||||
customer_key: msisdn
|
||||
interaction_key: protocol
|
||||
session_key: session_id
|
||||
cancelar_vas_avulso:
|
||||
map:
|
||||
customer_key: msisdn
|
||||
session_key: session_id
|
||||
extract:
|
||||
subject:
|
||||
from: message
|
||||
type: string
|
||||
strategy: llm
|
||||
description: Extraia somente o nome do serviço que o cliente quer cancelar.
|
||||
Retorne null se não estiver claro.
|
||||
tratar_vas_estrategico:
|
||||
map:
|
||||
customer_key: msisdn
|
||||
session_key: session_id
|
||||
extract:
|
||||
subject:
|
||||
from: message
|
||||
type: string
|
||||
strategy: llm
|
||||
description: Extraia somente o nome do serviço estratégico ou incluso citado
|
||||
pelo cliente.
|
||||
contestar_cobranca:
|
||||
map:
|
||||
customer_key: msisdn
|
||||
session_key: session_id
|
||||
extract:
|
||||
subject:
|
||||
from: message
|
||||
type: string
|
||||
strategy: llm
|
||||
description: Extraia o nome do serviço/item cuja cobrança será contestada.
|
||||
valor:
|
||||
from: message
|
||||
type: number
|
||||
strategy: llm
|
||||
description: Extraia o valor monetário explicitamente associado ao item.
|
||||
Retorne null se não houver valor.
|
||||
motivo:
|
||||
from: message
|
||||
type: string
|
||||
strategy: llm
|
||||
description: Extraia o motivo da contestação em frase curta; null se não
|
||||
informado.
|
||||
finalizar_atendimento:
|
||||
map:
|
||||
customer_key: msisdn
|
||||
session_key: session_id
|
||||
enviar_sms:
|
||||
map:
|
||||
customer_key: msisdn
|
||||
session_key: session_id
|
||||
extract:
|
||||
message:
|
||||
from: message
|
||||
type: string
|
||||
strategy: llm
|
||||
description: Mensagem SMS explicitamente definida pelo fluxo de domínio.
|
||||
recuperar_fatura_pdf:
|
||||
map:
|
||||
customer_key: msisdn
|
||||
contract_key: invoice_id
|
||||
session_key: session_id
|
||||
pro_rata:
|
||||
map:
|
||||
customer_key: msisdn
|
||||
session_key: session_id
|
||||
termino_desconto:
|
||||
map:
|
||||
customer_key: msisdn
|
||||
session_key: session_id
|
||||
extract:
|
||||
nome_plano:
|
||||
from: message
|
||||
type: string
|
||||
strategy: llm
|
||||
description: Extraia o nome do plano se explicitamente citado; null se ausente.
|
||||
valor_divergente:
|
||||
map:
|
||||
customer_key: msisdn
|
||||
session_key: session_id
|
||||
retomar_workflow:
|
||||
map:
|
||||
session_key: session_id
|
||||
6
config/mcp_servers.docker.yaml
Normal file
6
config/mcp_servers.docker.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
servers:
|
||||
contas:
|
||||
enabled: true
|
||||
transport: http
|
||||
endpoint: http://contas-mcp:8400/mcp
|
||||
description: Adapter MCP do domínio Contas em Docker Compose, usando MockApiGateway no perfil local.
|
||||
6
config/mcp_servers.yaml
Normal file
6
config/mcp_servers.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
servers:
|
||||
contas:
|
||||
enabled: true
|
||||
transport: http
|
||||
endpoint: http://localhost:8400/mcp
|
||||
description: MCP nativo do domínio Contas. Não depende do pacote anterior; em local usa fixtures e em modo real chama APIs TIM.
|
||||
10
config/prompt_policy.yaml
Normal file
10
config/prompt_policy.yaml
Normal file
@@ -0,0 +1,10 @@
|
||||
tone:
|
||||
style: claro, objetivo, empático e direto
|
||||
vocabulary:
|
||||
preferred:
|
||||
fatura: fatura
|
||||
contestacao: contestação
|
||||
servico: serviço
|
||||
policies:
|
||||
framework_responsibilities: [routing, route_stickiness, transaction_confirmation, clarification, memory, rag, guardrails, judges]
|
||||
domain_responsibilities: [billing_rules, vas_classification, contestation_eligibility, tim_api_contracts]
|
||||
8
config/prompts/billing.yaml
Normal file
8
config/prompts/billing.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
system: |
|
||||
Você é o agente de Fatura e Explicação do Contas TIM.
|
||||
Responda somente sobre dados da fatura, variação, composição, vencimento, valores e explicações.
|
||||
Use as tools retornadas pelo EnterpriseRouter; não invente dados de fatura.
|
||||
Não implemente confirmação, stickiness, coleta transacional, memória, guardrails ou RAG no texto: essas responsabilidades são do agent_framework_oci.
|
||||
Se houver resultado de invoice_explanation, preserve nomes, valores e conclusões vindas da tool.
|
||||
Não prometa nem estime valores de faturas futuras.
|
||||
Seja objetivo e mantenha o comportamento de negócio do Contas.
|
||||
7
config/prompts/contestation.yaml
Normal file
7
config/prompts/contestation.yaml
Normal file
@@ -0,0 +1,7 @@
|
||||
system: |
|
||||
Você é o agente de Contestação e Ações do Contas TIM.
|
||||
Trabalhe apenas com itens explicitamente identificados pelos dados da fatura/tool.
|
||||
Cancelamento de VAS avulso, contestação e demais mutações são transações determinísticas: nunca execute ação em texto livre.
|
||||
O agent_framework_oci coleta parâmetros, mantém stickiness e exige confirmação antes da tool transacional.
|
||||
Não conceda ressarcimento em dobro quando a regra de negócio não permitir.
|
||||
Comunique o resultado real da tool, sem inventar protocolo ou sucesso.
|
||||
5
config/prompts/support.yaml
Normal file
5
config/prompts/support.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
system: |
|
||||
Você é o agente de Suporte e Encerramento do Contas TIM.
|
||||
Trate acompanhamento de solicitações, tracking, envio/recuperação de fatura e encerramento.
|
||||
Handoff humano e encerramento são estados do framework; não tente inferir confirmações de outras transações.
|
||||
Use respostas curtas, com o status efetivamente retornado pelas integrações.
|
||||
6
config/prompts/vas.yaml
Normal file
6
config/prompts/vas.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
system: |
|
||||
Você é o agente de Serviços/VAS do Contas TIM.
|
||||
Explique serviços avulsos, estratégicos e inclusos no plano usando dados das tools e RAG.
|
||||
Nunca transforme serviço estratégico/incluso em cancelável por inferência.
|
||||
Para ação transacional, apenas descreva o que será feito; confirmação e execução são controladas pelo agent_framework_oci.
|
||||
Não duplique regras de roteamento, continuidade, clarificação, guardrails ou memória no prompt.
|
||||
297
config/routing.yaml
Normal file
297
config/routing.yaml
Normal file
@@ -0,0 +1,297 @@
|
||||
router:
|
||||
mode: router
|
||||
fallback_agent: faturas_agent
|
||||
confidence_threshold: 0.7
|
||||
allow_handoff: true
|
||||
state_policies:
|
||||
- state: WAITING_FATURAS_CONFIRMATION
|
||||
agent: faturas_agent
|
||||
- state: WAITING_VAS_CONFIRMATION
|
||||
agent: vas_agent
|
||||
- state: WAITING_CONTESTACAO_CONFIRMATION
|
||||
agent: contestacao_agent
|
||||
- state: WAITING_SUPORTE_CONTAS_CONFIRMATION
|
||||
agent: suporte_contas_agent
|
||||
- state: COLLECTING_FATURAS_PARAMETERS
|
||||
agent: faturas_agent
|
||||
- state: COLLECTING_VAS_PARAMETERS
|
||||
agent: vas_agent
|
||||
- state: COLLECTING_CONTESTACAO_PARAMETERS
|
||||
agent: contestacao_agent
|
||||
- state: COLLECTING_SUPORTE_CONTAS_PARAMETERS
|
||||
agent: suporte_contas_agent
|
||||
intents:
|
||||
- name: contas_invoice_query
|
||||
domain: telecom_contas
|
||||
agent: faturas_agent
|
||||
priority: 140
|
||||
description: Consulta, visualização, obtenção ou segunda via de fatura/conta sem
|
||||
pedido de explicação de cobrança.
|
||||
mcp_tools:
|
||||
- consultar_faturas
|
||||
keywords:
|
||||
- quero minha fatura
|
||||
- ver minha fatura
|
||||
- consultar fatura
|
||||
- consultar minha fatura
|
||||
- mostrar minha fatura
|
||||
- me mostra minha fatura
|
||||
- segunda via
|
||||
- segunda via da fatura
|
||||
- obter fatura
|
||||
- baixar fatura
|
||||
- minha conta
|
||||
- minhas faturas
|
||||
- fatura atual
|
||||
- última fatura
|
||||
- ultima fatura
|
||||
- fatura em aberto
|
||||
- conta em aberto
|
||||
examples:
|
||||
- Quero minha fatura
|
||||
- Quero ver a minha conta
|
||||
- Pode consultar minha fatura atual?
|
||||
- Preciso da segunda via da fatura
|
||||
- Tenho alguma fatura em aberto?
|
||||
- name: contas_invoice_explanation
|
||||
domain: telecom_contas
|
||||
agent: faturas_agent
|
||||
priority: 130
|
||||
description: Explicação, composição, diferença, aumento, variação ou dúvida sobre
|
||||
valores/cobranças de uma fatura já conhecida.
|
||||
mcp_tools:
|
||||
- invoice_explanation
|
||||
keywords:
|
||||
- explicar fatura
|
||||
- explique minha fatura
|
||||
- entender minha fatura
|
||||
- entender minha conta
|
||||
- fatura veio alta
|
||||
- conta veio alta
|
||||
- veio mais cara
|
||||
- valor aumentou
|
||||
- diferença de valor
|
||||
- divergência na fatura
|
||||
- divergencia na fatura
|
||||
- não entendi a cobrança
|
||||
- nao entendi a cobranca
|
||||
- por que cobraram
|
||||
- por que veio esse valor
|
||||
- composição da fatura
|
||||
- composicao da fatura
|
||||
- detalhar cobrança
|
||||
- detalhar cobranca
|
||||
examples:
|
||||
- Minha fatura veio mais alta
|
||||
- Quero entender minha conta
|
||||
- Por que esse valor mudou?
|
||||
- Explique essas cobranças da minha fatura
|
||||
- Por que minha conta aumentou este mês?
|
||||
- name: contas_contestation
|
||||
domain: telecom_contas
|
||||
agent: contestacao_agent
|
||||
priority: 150
|
||||
description: Contestação, reclamação ou pedido de ajuste por cobrança que o cliente
|
||||
considera indevida.
|
||||
mcp_tools:
|
||||
- consultar_faturas
|
||||
- invoice_explanation
|
||||
- contestar_cobranca
|
||||
keywords:
|
||||
- contestar
|
||||
- contestação
|
||||
- contestacao
|
||||
- cobrança indevida
|
||||
- cobranca indevida
|
||||
- não reconheço essa cobrança
|
||||
- nao reconheco essa cobranca
|
||||
- não concordo com a cobrança
|
||||
- nao concordo com a cobranca
|
||||
- ajuste na fatura
|
||||
- estorno
|
||||
- valor indevido
|
||||
examples:
|
||||
- Quero contestar essa cobrança
|
||||
- Esse valor é indevido
|
||||
- Não reconheço uma cobrança na minha fatura
|
||||
- name: contas_vas_cancel
|
||||
domain: telecom_contas
|
||||
agent: contestacao_agent
|
||||
priority: 145
|
||||
description: Cancelamento ou retirada de serviço/VAS e sua cobrança recorrente.
|
||||
mcp_tools:
|
||||
- consultar_vas
|
||||
- cancelar_vas_avulso
|
||||
keywords:
|
||||
- cancelar serviço
|
||||
- cancelar servico
|
||||
- cancelar assinatura
|
||||
- retirar serviço
|
||||
- retirar servico
|
||||
- desativar serviço
|
||||
- desativar servico
|
||||
- não contratei esse serviço
|
||||
- nao contratei esse servico
|
||||
- tirar esse vas
|
||||
examples:
|
||||
- Quero cancelar esse serviço
|
||||
- Não contratei esse VAS
|
||||
- Quero retirar essa assinatura
|
||||
- name: contas_vas_strategic
|
||||
domain: telecom_contas
|
||||
agent: contestacao_agent
|
||||
priority: 125
|
||||
description: Tratamento de serviço estratégico, parceiro ou benefício incluso com
|
||||
fluxo específico.
|
||||
mcp_tools:
|
||||
- consultar_vas
|
||||
- tratar_vas_estrategico
|
||||
keywords:
|
||||
- apple music
|
||||
- deezer
|
||||
- disney
|
||||
- disney+
|
||||
- netflix
|
||||
- youtube premium
|
||||
- globoplay
|
||||
- amazon prime
|
||||
- prime video
|
||||
- serviço estratégico
|
||||
- servico estrategico
|
||||
- benefício incluso
|
||||
- beneficio incluso
|
||||
examples:
|
||||
- Não reconheço o Netflix
|
||||
- Quero tratar esse serviço estratégico
|
||||
- Meu plano inclui Deezer?
|
||||
- name: contas_vas_information
|
||||
domain: telecom_contas
|
||||
agent: vas_agent
|
||||
priority: 110
|
||||
description: Consulta ou explicação de VAS, serviço adicional, assinatura, aplicativo,
|
||||
parceiro, bundle ou benefício do plano.
|
||||
mcp_tools:
|
||||
- consultar_vas
|
||||
- buscar_informacao
|
||||
keywords:
|
||||
- vas
|
||||
- serviço adicional
|
||||
- servico adicional
|
||||
- aplicativo
|
||||
- assinatura
|
||||
- serviços ativos
|
||||
- servicos ativos
|
||||
- benefício
|
||||
- beneficio
|
||||
- incluso no plano
|
||||
- pacote digital
|
||||
- parceiro
|
||||
examples:
|
||||
- O que é esse serviço?
|
||||
- Quais VAS estão ativos?
|
||||
- Esse aplicativo está incluso?
|
||||
- Quais serviços adicionais eu tenho?
|
||||
- name: contas_vas_history
|
||||
domain: telecom_contas
|
||||
agent: vas_agent
|
||||
priority: 105
|
||||
description: Consulta de histórico de VAS/serviços que já estiveram ativos ou sofreram
|
||||
alterações.
|
||||
mcp_tools:
|
||||
- consultar_historico_vas
|
||||
keywords:
|
||||
- histórico de vas
|
||||
- historico de vas
|
||||
- histórico de serviços
|
||||
- historico de servicos
|
||||
- serviços anteriores
|
||||
- servicos anteriores
|
||||
- já tive esse serviço
|
||||
- ja tive esse servico
|
||||
examples:
|
||||
- Quero ver meu histórico de serviços
|
||||
- Eu já tive esse VAS antes?
|
||||
- name: contas_knowledge
|
||||
domain: telecom_contas
|
||||
agent: suporte_contas_agent
|
||||
priority: 80
|
||||
description: Perguntas conceituais ou de procedimento sobre produtos, fatura, serviços
|
||||
e regras que não exigem consultar dados do cliente.
|
||||
mcp_tools:
|
||||
- buscar_informacao
|
||||
keywords:
|
||||
- o que é
|
||||
- o que significa
|
||||
- como funciona
|
||||
- como faço
|
||||
- onde encontro
|
||||
- qual a regra
|
||||
- informação sobre
|
||||
- informacao sobre
|
||||
examples:
|
||||
- O que significa cobrança proporcional?
|
||||
- Como funciona o vencimento da fatura?
|
||||
- name: contas_service_status
|
||||
domain: telecom_contas
|
||||
agent: suporte_contas_agent
|
||||
priority: 90
|
||||
description: Consulta de status, andamento, protocolo ou acompanhamento de solicitação
|
||||
já aberta.
|
||||
mcp_tools:
|
||||
- consultar_status_solicitacao
|
||||
keywords:
|
||||
- protocolo
|
||||
- status da solicitação
|
||||
- status da solicitacao
|
||||
- andamento
|
||||
- acompanhamento
|
||||
- acompanhar solicitação
|
||||
- acompanhar solicitacao
|
||||
- pedido em andamento
|
||||
examples:
|
||||
- Qual o status da minha solicitação?
|
||||
- Quero acompanhar o protocolo
|
||||
- name: contas_pro_rata
|
||||
domain: telecom_contas
|
||||
agent: faturas_agent
|
||||
priority: 128
|
||||
description: Cobrança proporcional/pró-rata decorrente de troca de plano.
|
||||
mcp_tools:
|
||||
- pro_rata
|
||||
keywords:
|
||||
- pró-rata
|
||||
- pro rata
|
||||
- pro-rata
|
||||
- cobrança proporcional
|
||||
- cobranca proporcional
|
||||
- troca de plano
|
||||
examples:
|
||||
- Por que veio cobrança proporcional?
|
||||
- Troquei de plano e vieram duas cobranças
|
||||
- name: contas_termino_desconto
|
||||
domain: telecom_contas
|
||||
agent: faturas_agent
|
||||
priority: 127
|
||||
description: Término de desconto ou promoção refletido na fatura.
|
||||
mcp_tools:
|
||||
- termino_desconto
|
||||
keywords:
|
||||
- término de desconto
|
||||
- termino de desconto
|
||||
- desconto acabou
|
||||
- fim do desconto
|
||||
examples:
|
||||
- Meu desconto acabou?
|
||||
- name: contas_valor_divergente
|
||||
domain: telecom_contas
|
||||
agent: faturas_agent
|
||||
priority: 126
|
||||
description: Capability de valor divergente.
|
||||
mcp_tools:
|
||||
- valor_divergente
|
||||
keywords:
|
||||
- valor divergente
|
||||
- divergência de valor
|
||||
- divergencia de valor
|
||||
examples:
|
||||
- Tem um valor divergente na minha conta
|
||||
23
config/tool_policies.yaml
Normal file
23
config/tool_policies.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
version: 1
|
||||
defaults:
|
||||
operation_type: read_only
|
||||
require_confirmation: false
|
||||
tool_policies:
|
||||
cancelar_vas_avulso:
|
||||
operation_type: transactional
|
||||
require_confirmation: true
|
||||
requires: [subject]
|
||||
contestar_cobranca:
|
||||
operation_type: transactional
|
||||
require_confirmation: true
|
||||
requires: [subject, valor]
|
||||
tratar_vas_estrategico:
|
||||
operation_type: conversational
|
||||
require_confirmation: false
|
||||
requires: [subject]
|
||||
pro_rata:
|
||||
operation_type: conversational
|
||||
require_confirmation: false
|
||||
retomar_workflow:
|
||||
operation_type: internal
|
||||
require_confirmation: false
|
||||
227
config/tools.yaml
Normal file
227
config/tools.yaml
Normal file
@@ -0,0 +1,227 @@
|
||||
tools:
|
||||
consultar_faturas:
|
||||
description: Consulta faturas atuais/anteriores, status, vencimento, valor e existência
|
||||
de fatura aberta sem iniciar o workflow de explicação.
|
||||
mcp_server: contas
|
||||
enabled: true
|
||||
args_schema:
|
||||
msisdn: string
|
||||
selection_keywords:
|
||||
- quero minha fatura
|
||||
- consultar fatura
|
||||
- ver fatura
|
||||
- segunda via
|
||||
- minhas faturas
|
||||
- fatura atual
|
||||
- fatura em aberto
|
||||
- conta em aberto
|
||||
invoice_explanation:
|
||||
description: Explica composição, diferença ou variação de valores de uma fatura;
|
||||
não deve ser usada apenas para consultar/obter a fatura.
|
||||
mcp_server: contas
|
||||
enabled: true
|
||||
args_schema:
|
||||
msisdn: string
|
||||
selection_keywords:
|
||||
- explicar fatura
|
||||
- entender fatura
|
||||
- fatura veio alta
|
||||
- conta veio alta
|
||||
- valor aumentou
|
||||
- diferença de valor
|
||||
- divergência
|
||||
- cobrança diferente
|
||||
- por que esse valor
|
||||
buscar_informacao:
|
||||
description: Conhecimento do Contas é atendido pelo RagService do agent_framework_oci,
|
||||
não pelo MCP.
|
||||
mcp_server: contas
|
||||
enabled: false
|
||||
args_schema:
|
||||
query: string
|
||||
selection_keywords:
|
||||
- o que é
|
||||
- o que significa
|
||||
- como funciona
|
||||
- como faço
|
||||
- informação
|
||||
- explique o conceito
|
||||
consultar_vas:
|
||||
description: Consulta serviços VAS ativos.
|
||||
mcp_server: contas
|
||||
enabled: true
|
||||
args_schema:
|
||||
msisdn: string
|
||||
selection_keywords:
|
||||
- vas
|
||||
- serviço adicional
|
||||
- servico adicional
|
||||
- assinatura
|
||||
- aplicativo
|
||||
- serviços ativos
|
||||
- servicos ativos
|
||||
consultar_historico_vas:
|
||||
description: Consulta histórico de serviços VAS.
|
||||
mcp_server: contas
|
||||
enabled: true
|
||||
args_schema:
|
||||
msisdn: string
|
||||
selection_keywords:
|
||||
- histórico de vas
|
||||
- historico de vas
|
||||
- histórico de serviços
|
||||
- historico de servicos
|
||||
- serviços anteriores
|
||||
- servicos anteriores
|
||||
cancelar_vas_avulso:
|
||||
description: Executa cancelamento de VAS avulso no novo domínio Contas; confirmação
|
||||
e estado são do framework.
|
||||
mcp_server: contas
|
||||
enabled: true
|
||||
tool_type: action
|
||||
confirmation_required: true
|
||||
requires:
|
||||
- subject
|
||||
args_schema:
|
||||
subject: string
|
||||
selection_keywords:
|
||||
- cancelar serviço
|
||||
- cancelar servico
|
||||
- cancelar assinatura
|
||||
- retirar serviço
|
||||
- retirar servico
|
||||
- desativar serviço
|
||||
- desativar servico
|
||||
tratar_vas_estrategico:
|
||||
description: Trata VAS estratégico/bundle no novo domínio Contas; diálogo e estado
|
||||
são do framework.
|
||||
mcp_server: contas
|
||||
enabled: true
|
||||
tool_type: conversational
|
||||
confirmation_required: false
|
||||
requires:
|
||||
- subject
|
||||
args_schema:
|
||||
subject: string
|
||||
selection_keywords:
|
||||
- serviço estratégico
|
||||
- servico estrategico
|
||||
- benefício incluso
|
||||
- beneficio incluso
|
||||
- apple music
|
||||
- deezer
|
||||
- disney
|
||||
- netflix
|
||||
- globoplay
|
||||
- amazon prime
|
||||
contestar_cobranca:
|
||||
description: Executa contestação no novo domínio Contas após confirmação transacional
|
||||
do framework.
|
||||
mcp_server: contas
|
||||
enabled: true
|
||||
tool_type: action
|
||||
confirmation_required: true
|
||||
requires:
|
||||
- subject
|
||||
- valor
|
||||
args_schema:
|
||||
subject: string
|
||||
valor: number
|
||||
motivo: string
|
||||
selection_keywords:
|
||||
- contestar
|
||||
- contestação
|
||||
- contestacao
|
||||
- cobrança indevida
|
||||
- cobranca indevida
|
||||
- valor indevido
|
||||
- ajuste na fatura
|
||||
- estorno
|
||||
finalizar_atendimento:
|
||||
description: Executa apenas efeitos de domínio da finalização; encerramento, memória
|
||||
e telemetria ficam no framework.
|
||||
mcp_server: contas
|
||||
enabled: true
|
||||
tool_type: action
|
||||
confirmation_required: false
|
||||
args_schema:
|
||||
status: string
|
||||
summary: string
|
||||
selection_keywords:
|
||||
- encerrar atendimento
|
||||
- finalizar atendimento
|
||||
- era só isso
|
||||
- obrigado era isso
|
||||
consultar_status_solicitacao:
|
||||
description: Consulta status de solicitação/protocolo TIM.
|
||||
mcp_server: contas
|
||||
enabled: true
|
||||
args_schema:
|
||||
msisdn: string
|
||||
protocol: string
|
||||
enviar_sms:
|
||||
description: Envia SMS via integração TIM; use apenas quando um fluxo de domínio
|
||||
exigir.
|
||||
mcp_server: contas
|
||||
enabled: true
|
||||
args_schema:
|
||||
msisdn: string
|
||||
message: string
|
||||
recuperar_fatura_pdf:
|
||||
description: Recupera o PDF seguro de uma fatura.
|
||||
mcp_server: contas
|
||||
enabled: true
|
||||
args_schema:
|
||||
msisdn: string
|
||||
invoice_id: string
|
||||
customer_id: string
|
||||
pro_rata:
|
||||
description: Explica cobrança proporcional e conduz pause/resume pelo WorkflowRuntime.
|
||||
mcp_server: contas
|
||||
enabled: true
|
||||
tool_type: conversational
|
||||
confirmation_required: false
|
||||
args_schema:
|
||||
msisdn: string
|
||||
planos: array
|
||||
has_plano_controle: boolean
|
||||
selection_keywords:
|
||||
- pró-rata
|
||||
- pro rata
|
||||
- pro-rata
|
||||
- cobrança proporcional
|
||||
- cobranca proporcional
|
||||
- troca de plano
|
||||
termino_desconto:
|
||||
description: Trata término de desconto identificado na fatura.
|
||||
mcp_server: contas
|
||||
enabled: true
|
||||
args_schema:
|
||||
msisdn: string
|
||||
nome_plano: string
|
||||
selection_keywords:
|
||||
- término de desconto
|
||||
- termino de desconto
|
||||
- desconto acabou
|
||||
- fim do desconto
|
||||
valor_divergente:
|
||||
description: Trata variação/divergência de valor conforme workflow do Contas.
|
||||
mcp_server: contas
|
||||
enabled: true
|
||||
args_schema:
|
||||
msisdn: string
|
||||
selection_keywords:
|
||||
- valor divergente
|
||||
- divergência de valor
|
||||
- divergencia de valor
|
||||
retomar_workflow:
|
||||
description: Tool interna usada pelo framework para retomar workflow pausado.
|
||||
mcp_server: contas
|
||||
enabled: true
|
||||
tool_type: internal
|
||||
confirmation_required: false
|
||||
args_schema:
|
||||
workflow_name: string
|
||||
execution_id: string
|
||||
resposta_usuario: string
|
||||
selection_keywords: []
|
||||
Reference in New Issue
Block a user