# Ajuste Opção B — Telemetria de LLM pelo framework Esta versão remove o uso de `generation(...)` dos nós de domínio do backoffice. ## Decisão arquitetural - O backend backoffice não implementa nem simula `generation`. - Os nós de domínio chamam `chat_llm_with_usage(...)`. - `chat_llm_with_usage(...)` usa `agent_framework.llm.providers.create_llm(...)`. - A telemetria de geração, tokens, custo, modelo e latência fica centralizada no provider do framework. ## Arquivos ajustados - `src/agent/nodes/speech_enrichment_node.py` - `src/agent/nodes/tim_complaint_analysis_node.py` - `src/agent/nodes/treatment_decision_node.py` - `src/agent/nodes/siebel_triplet_classification_node.py` - `src/compat/framework_observer.py` - `src/utils/ics_collector.py` ## Removido - Import de `generation` nos nós de domínio. - Context managers `with generation(...)`. - Monkey patch de `agent_framework.observer.generation`. - Provider legado `src/providers/langfuse_tracer.py`, que era redundante com o framework. ## Mantido - Eventos AGA/NOC/IC/GRL continuam emitidos via `src.compat.framework_observer.event(...)`, que delega para `agent_framework.observer`. - Eventos de erro LLM (`NOC.004`, `NOC.009`) continuam preservados nos nós. - Tokens e uso do LLM continuam retornando em `LLMResponse` para ICs de negócio, mas a observabilidade de geração é responsabilidade do framework.