Files
first_contas/README_MIGRACAO_CONTAS_FIRST.md
2026-06-16 20:54:49 -03:00

60 lines
2.8 KiB
Markdown

# Agent Contas FIRST migrado para agent_framework_oci
Este backend foi gerado a partir do `agent_template_backend` e remodelado para executar o `agent_contas_first` com máximo uso das capacidades nativas do `agent_framework_oci`.
## Decisões principais
- **Não foi portada a camada própria de workflow/guardrails/judges/RAG do legado** para evitar duplicação e regras paralelas.
- O agente específico ficou concentrado em `app/agents/contas_agent.py`.
- O fluxo LangGraph fica em `app/workflows/agent_graph.py` e usa componentes do framework para input guardrails, router, agente, output supervisor, output guardrails, judges, supervisor review e persistência.
- O MCP é chamado somente via `agent_framework.mcp.tool_router` através do `AgentRuntimeMixin.execute_tools_for_intent()`.
- Identity e BusinessContext são resolvidos em `app/main.py` com `IdentityResolver` e `BusinessContext` do framework.
- RAG é consumido via `RagService` do framework usando namespace `contas_first`.
- Eventos IC/NOC/GRL são emitidos no workflow e no agente, sem criar uma camada de observabilidade paralela.
## Arquivos principais
- `app/agents/contas_agent.py`: comportamento de domínio, seleção declarativa de intents/tools, uso de memória, RAG, MCP e LLM cache do framework.
- `app/workflows/agent_graph.py`: pipeline LangGraph corporativo.
- `config/agents.yaml`: registra somente `contas_first`.
- `config/routing.yaml`: intents de fatura, pagamento, segunda via, contestação, plano e VAS.
- `config/agents/contas_first/guardrails.yaml`: ativa MSK, VLOOP, PINJ, DLEX_IN, REVPREC, DLEX_OUT e RAGSEC no framework.
- `config/tools.yaml`: catálogo MCP telecom com cache por `args_schema`.
- `config/mcp_parameter_mapping.yaml`: mapeamento canônico BusinessContext -> argumentos MCP.
- `config/identity.yaml`: aliases de msisdn, invoice_id, asset_id, ura_call_id e session.
- `legacy_reference/`: workflows originais guardados apenas como referência de rastreabilidade.
## Como rodar
```bash
cd agent_contas_migrated
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
```
Exemplo:
```bash
curl -X POST http://localhost:8000/gateway/message \
-H 'Content-Type: application/json' \
-d '{
"channel":"web",
"agent_id":"contas_first",
"tenant_id":"default",
"payload":{
"text":"quero entender minha fatura",
"session_id":"sess-contas-001",
"user_id":"11999999999",
"msisdn":"11999999999",
"invoice_id":"INV-EXEMPLO-001",
"ura_call_id":"URA-001"
}
}'
```
## Observações
O pacote não altera o `agent_framework_oci`; ele consome suas APIs nativas. Caso o framework esteja instalado em modo editable, rode com `PYTHONPATH` apontando para o `src` do framework ou instale o pacote via `pip install -e ../agent_framework_oci`.