mirror of
https://github.com/hoshikawa2/agent_platform_oci.git
synced 2026-09-07 18:23:46 +00:00
Deterministic Transactional Workflow
Esta variante contém um agent_template_backend funcional que conecta o fluxo
conversacional do framework ao motor determinístico de workflows transacionais.
Por que este nome
Deterministic_Transactional_Workflow é mais preciso que apenas
Transactional_Workflow: a confirmação transacional já existia. O diferencial
desta variante é executar uma sequência multi-etapas por um grafo determinístico,
em vez de deixar o LLM escolher cada etapa.
Fluxo demonstrado
- O router seleciona
orders_agent. - O runtime coleta
order_idereasonpor clarification. - O framework solicita confirmação.
- Após uma confirmação explícita, a policy de
solicitar_devolucaoselecionaexecution.mode: workflow. - O
WorkflowToolExecutorcarregadevolucao_pedido.active.yaml. - O LangGraph executa
validar_pedidoeregistrar_devolucao. - O agente responde com protocolo e
workflow_execution_id.
Executar
cd Tuning-Performance/Deterministic_Transactional_Workflow/agent_template_backend
pip install -e ../../../libs/agent_framework
pip install -r requirements.txt
python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
Frases de teste
Quero devolver o pedido 123 porque me arrependi da compra.
Depois:
Sim, confirmo.
Resultado esperado: protocolo DEV-123, status REQUESTED e um
workflow_execution_id.
Clarification em turnos separados:
Quero devolver uma compra.
O pedido é o 123.
Eu me arrependi da compra.
Sim, confirmo.
Cancelamento:
Quero devolver o pedido 123 porque veio diferente do anunciado.
Não, cancele.
Nesse caso o workflow não deve iniciar.
Configuração principal
.env:ENABLE_TRANSACTIONAL_WORKFLOWS=true.env:WORKFLOWS_PATH=./workflowsconfig/tool_policies.yaml: associasolicitar_devolucaoao workflow.workflows/devolucao_pedido.active.yaml: define a versão ativa.app/workflow_actions/devolucao.py: contém as actions do domínio.app/agents/runtime.py: integração do executor com o fluxo conversacional.
Evidências
Procure os eventos:
IC.TRANSACTIONAL_WORKFLOW_STARTEDIC.TRANSACTIONAL_WORKFLOW_COMPLETEDIC.TRANSACTIONAL_WORKFLOW_FAILED
O resultado também contém:
execution_mode=workflowworkflow_nameworkflow_versionworkflow_execution_id