mirror of
https://github.com/hoshikawa2/agent_platform_oci.git
synced 2026-09-07 10:13:46 +00:00
Domain-Requested RAG
Objetivo
Permitir que uma tool/workflow de domínio declare que o resultado MCP não é suficiente para produzir a resposta final e que o agente deve recuperar conhecimento usando o RagService oficial do agent_framework_oci.
O domínio não instancia banco vetorial, embeddings, LLM ou cliente RAG. Ele apenas devolve no resultado:
{
"requires_rag": true,
"rag_queries": [
"Como cancelar o serviço Paramount+ no parceiro? Procedimento oficial de cancelamento."
]
}
Fluxo
Workflow/tool de domínio
|
| requires_rag + rag_queries
v
AgentRuntimeMixin
|
+-- impede direct MCP answer
+-- ignora SKIP_RAG_WHEN_MCP_SUFFICIENT para este resultado
+-- usa rag_query/rag_queries como query override
v
RagService
v
Vector/Graph store configurado no framework
v
LLM do agente com MCP evidence + RAG evidence
Regras
requires_rag=falseou ausente mantém o comportamento padrão.SKIP_RAG_WHEN_MCP_SUFFICIENT=truecontinua válido para tools normais.- Quando
requires_rag=true, o framework não usabuild_direct_mcp_answer(). rag_queryaceita uma query;rag_queriesaceita várias queries, preservadas e deduplicadas em ordem.- O domínio nunca executa
RagServicediretamente. - Guardrails de retrieval (
RAGSEC,RET_RELetc.) continuam executando normalmente sobre o contexto recuperado.
Exemplo Contas
No fluxo VAS Estratégico, após o cliente rejeitar a explicação e pedir cancelamento, a action devolve queries específicas por parceiro. O VasAgent usa o RagService do framework para recuperar o procedimento oficial e compor a resposta.
Isso substitui o comportamento legado em que o backend Contas possuía uma busca RAG própria dentro de vas_strategic().