Módulo IA

Nesta funcionalidade é possível conhecer os recursos de inteligência artificial do CITSmart X: o assistente de autoria no Studio, os passos de IA dentro do Robô, o diagnóstico de falhas, o servidor e o cliente MCP e o agente de operação.
A configuração central da IA é feita no Orquestrador, pelo menu de navegação: Configurar > Modelos de IA. Ela é descrita em Modelos de IA.
IA agnóstica ao provedor
O CITSmart X não depende de um fornecedor de IA específico. O provedor é um cadastro, não uma configuração fixa do produto:
- é possível cadastrar mais de um provedor ao mesmo tempo (por exemplo, um serviço em nuvem e um modelo instalado na própria rede);
- cada finalidade de uso (assistente, diagnóstico, extração de documento) pode usar um modelo diferente;
- a troca de modelo vale a partir do pedido seguinte, sem reiniciar o Orquestrador e sem republicar Robôs;
- o Robô não fala com o provedor. Ele pede ao Orquestrador, que guarda a chave de API no cofre e faz a chamada.
Os tipos de provedor aceitos no cadastro são anthropic, openai, azure-openai, google, deepseek, vllm, ollama, openai-compat e custom. Provedores acessíveis por interface compatível com OpenAI (gateways, vLLM, LM Studio e similares) usam o tipo openai-compat.
O que depende de configuração
Recurso | O que precisa estar configurado |
|---|---|
Assistente do Studio | Ao menos um modelo cadastrado e definido como modelo dos assistentes. |
Atividades de IA | Ao menos um modelo cadastrado. "Ver imagem com IA" exige modelo que declare visão. |
Diagnóstico de falha | Um modelo para a finalidade diagnostico (ou ao menos um provedor ativo). |
MCP | O endpoint do servidor vem desligado; é ligado na política da instalação. |
Operação agêntica | A autonomia vem em nenhuma; é alterada na política da instalação. |
Trilha de prompt | O registro do conteúdo dos prompts vem desligado. |
Onde ficam as chaves de API
As chaves de API dos provedores ficam no cofre do Orquestrador. O cadastro do modelo guarda apenas o nome do ativo do cofre, e a chave não é exibida de volta em nenhuma tela. Detalhes em Segurança e privacidade da IA.
Páginas deste módulo
- Modelos de IA
- Assistente do Studio
- Atividades de IA
- MCP: servidor e cliente
- Trilha de prompt e conjunto de referência
- Diagnóstico de falha
- Operação agêntica
- OCR e documentos
- Segurança e privacidade da IA
Para o restante do produto, consulte a documentação do Orquestrador e do Studio.
Modelos de IA
Nesta funcionalidade é possível cadastrar os provedores e modelos de IA usados pelo CITSmart X, definir qual modelo atende os assistentes, testar se cada modelo responde e acompanhar o gasto do dia.
A funcionalidade pode ser acessada através do menu de navegação: Configurar > Modelos de IA.

Tela Modelos de IA do Orquestrador
A imagem mostra a tela de uma instalação ainda sem modelo cadastrado. A tela é organizada em três blocos, de cima para baixo: Modelo padrão dos assistentes, Modelos cadastrados e Outras finalidades.
Cadastrar um modelo
Para cadastrar um modelo é necessário:
- Acessar Configurar > Modelos de IA e localizar o bloco Cadastrar modelo.
- Preencher o campo Nome, que é como o modelo aparece nas rotas (exemplo: claude-producao).
- Selecionar o Tipo do provedor.
- Preencher o campo Modelo com o identificador que a API do provedor espera (exemplo: claude-haiku-4-5).
- Conferir o Endereço. Ele é preenchido conforme o tipo; altere-o se a chamada passar por um gateway.
- Informar a Chave, quando o provedor exigir. Ela é enviada ao cofre cifrado e não volta a ser exibida.
- Marcar Não sai da rede somente se o endereço for interno. A caixa é marcada automaticamente apenas quando o endereço é da própria máquina.
- Clicar em Cadastrar.
Nota: Nos tipos ollama e vllm a chave é opcional. Um Ollama atrás de gateway autenticado exige a chave, que é enviada como Bearer.
Importante: Não sai da rede é uma declaração de governança. O cadastro recusa a marcação quando o endereço é remoto (são aceitos localhost, faixas de rede privada, .local e .internal).
Nota: A chave é gravada no cofre e o cadastro guarda apenas o nome do ativo, exibido no cartão como chave: <nome do ativo>. Remover um provedor mantém a credencial no cofre.
Definir o modelo dos assistentes
O bloco Modelo padrão dos assistentes mostra Hoje responde: / , se o modelo não sai da rede, quantas reservas existem e o gasto de hoje. Esse modelo atende o assistente do Studio e a coautoria pela API.
Para trocar o modelo é necessário:
- Localizar a pergunta Qual modelo atende os assistentes?.
- Selecionar o modelo desejado na lista. O modelo vigente exibe a marca padrão.
- Conferir a confirmação exibida na tela. A troca vale a partir do pedido seguinte.
Nota: Enquanto nenhum modelo estiver definido, a tela exibe Nenhum modelo definido e o pedido de ajuda no Studio é recusado por falta de rota.
Limitar o gasto diário
Para limitar o gasto do assistente é necessário:
- No bloco Modelo padrão dos assistentes, preencher o campo Teto de gasto por dia (US$).
- Sair do campo para gravar. Campo vazio significa sem teto.
Quando o teto é atingido, o assistente é recusado com a razão e volta a atender no dia seguinte.
Nota: O gasto é estimado a partir dos preços cadastrados para cada modelo e serve como referência de grandeza, não como fatura do provedor. O contador diário fica em memória e é zerado se o Orquestrador for reiniciado.
Testar, editar e desligar um modelo
Cada cartão em Modelos cadastrados exibe o nome, o tipo, o endereço, os modelos e as ações editar, provar e desligar (ou ligar, quando desligado).
- provar faz uma pergunta curta ao modelo e mostra, na própria linha, respondeu em <n>ms ou o motivo da falha. Use após cadastrar ou alterar o endereço ou a chave.
- editar transforma o cartão em formulário. Permite alterar Nome, Tipo, Modelos (separados por vírgula), Endereço e Não sai da rede. No campo Chave, deixe vazio para manter a chave atual. Clique em Salvar.
- desligar tira o modelo de uso sem apagar o cadastro.
Nota: Ao editar a lista de modelos, os que já existiam mantêm preço e ajustes.
Outras finalidades
A tabela Outras finalidades lista as rotas que ligam uma finalidade (extrair-documento, classificar, diagnostico, resumir, agente, embeddings) a um provedor e modelo, com a pasta e o gasto de hoje. Finalidades que nenhuma parte do produto chama ainda são sinalizadas na tela com o aviso de que a escolha fica gravada e não é usada.
Comportamento das rotas
- Existe uma rota por finalidade e por pasta. A rota da pasta prevalece sobre a rota geral.
- Sem rota configurada, o produto escolhe entre os provedores ativos que a pasta alcança, com o local antes da nuvem.
- A cadeia de reserva atende apenas falhas transitórias (provedor fora do ar, cota esgotada, tempo esgotado). Chave inválida (401/403) não cai para a reserva.
- A rota é conferida ao ser salva. Por exemplo, a finalidade embeddings exige um modelo que declare embeddings.
- Quando uma pasta exige IA local (aiLocalOnly, herdada pelas subpastas), a exigência prevalece sobre o pedido e sobre a rota. Sem provedor local disponível, a chamada falha.
Nota: Rotas, tetos por chamada, reservas e a exigência de IA local por pasta (aiLocalOnly, definida na criação da pasta) são configurados pela API do Orquestrador (/api/ai/routes, /api/folders); a tela cobre o modelo dos assistentes, o teto diário e o cadastro dos provedores.
Erros mais comuns
Situação | Resposta do Orquestrador |
|---|---|
Nenhum provedor cadastrado ou rota sem provedor ativo | 409 |
Teto de custo atingido | 429 |
Provedor respondeu com erro | 502 |
Nota: Na primeira inicialização, se existirem variáveis de ambiente NEXO_AI_* e nenhum provedor cadastrado, a configuração é migrada para um provedor, e a chave vai para o cofre.
Assistente do Studio
Nesta funcionalidade é possível descrever em português o que se deseja em um Robô ou em uma Orquestração e receber do assistente uma proposta de documento, com o resumo do que muda e os problemas encontrados pelo validador. A pessoa lê a proposta e decide se aplica no editor.
A funcionalidade pode ser acessada através do menu de navegação: Studio > painel direito > aba Assistente. A aba existe no editor de Robô e no editor de Orquestração.

Aba Assistente do Studio
Pré-requisito
Há um modelo cadastrado e definido como modelo dos assistentes em Configurar > Modelos de IA (veja Modelos de IA). O cabeçalho da aba mostra o provedor e o modelo que responde; sem modelo definido, ele exibe "modelo definido no cadastro de LLMs".
Pedir uma alteração
O cabeçalho da aba exibe o campo sobre, que indica o alvo do pedido: o robô inteiro (ou a orquestração inteira) quando nenhum passo está selecionado, ou o nome do passo selecionado no canvas.
Para pedir uma alteração é necessário:
- Abrir o Robô ou a Orquestração no Studio.
- Opcionalmente, selecionar um passo no canvas para falar apenas dele.
- Clicar na aba Assistente.
- Escrever o pedido no campo de texto. Exemplos: "preenche este passo com a URL do portal e espera o campo aparecer" ou "coloca uma retentativa de três vezes no passo do SEFAZ".
- Clicar em Pedir ao assistente ou pressionar Ctrl+Enter.
- Aguardar. O botão exibe Pensando… e o tempo costuma ficar entre dez e quarenta segundos.
Nota: O assistente trabalha sobre o documento que está na tela, inclusive com alterações ainda não salvas. Não há memória de conversas anteriores.
Ler e aplicar a proposta
A Proposta exibe o modelo que respondeu, o tempo, o resumo das mudanças (o diff), avisos e, se houver, o bloco O validador recusaria: com os problemas encontrados.
Para aplicar a proposta é necessário:
- Ler o resumo das mudanças, os avisos e os problemas do validador.
- Clicar em Aplicar no editor, ou em descartar para ignorar a proposta.
- Revisar o resultado no editor e salvar ou publicar pelo fluxo normal.
Importante: Aplicar no editor apenas carrega o documento no editor e o marca como não salvo. O assistente nunca publica. A publicação continua sendo um passo separado, com validação, assinatura e trilha de auditoria.
Nota: Se o documento for alterado depois do pedido, o Studio recusa aplicar a proposta e exibe a mensagem de que o documento mudou. Nesse caso, faça um novo pedido.
Nota: É possível aplicar uma proposta que o validador recusaria, por exemplo, para corrigir um campo diretamente no editor. Os problemas são exibidos acima do botão para que a decisão seja consciente.
O que o assistente faz e não faz
- Produz um documento novo ou alterado. Não publica, não dispara Robôs, não lê valores do cofre e não altera cadastros.
- Alterações são calculadas como diferença entre o documento atual e o proposto, por passo e por campo, incluindo política de erro e dependências entre nós da Orquestração.
- Propostas com mais de 120 nós são recusadas, e propostas sem nenhum passo também.
- Quando a primeira proposta tem problemas de validação, o assistente tenta uma correção automática e mantém a melhor das duas versões.
Uso pela API
O mesmo recurso é oferecido pela API do Orquestrador (POST /api/ai/coauthor/process e POST /api/ai/coauthor/plan), que gera rascunhos listados em GET /api/ai/drafts e aceitos ou descartados em POST /api/ai/drafts/:id/accept e POST /api/ai/drafts/:id/discard. Aceitar um rascunho usa a publicação normal e exige a permissão process:publish; rascunho inválido não pode ser aceito.
Nota: O custo do assistente é contabilizado na finalidade coautoria. Veja Trilha de prompt e conjunto de referência e Segurança e privacidade da IA.
Atividades de IA
Nesta funcionalidade é possível usar modelos de linguagem e servidores MCP como passos de um Robô, para classificar, resumir, extrair campos de texto solto, interpretar imagens ou chamar ferramentas de sistemas externos.
A funcionalidade pode ser acessada através do menu de navegação: Studio > paleta de atividades > categoria IA.

Paleta de atividades do Studio com a categoria IA
A categoria IA reúne quatro atividades: Perguntar a uma IA, Ver imagem com IA, Listar ferramentas MCP e Chamar ferramenta MCP. A extração de campos com IA fica na categoria Documentos.
Importante: Os passos de IA não são agentes. Eles recebem um pedido e devolvem uma resposta, e o que se faz com ela é o passo seguinte do Robô. O modelo responde sempre, inclusive quando não sabe: confira a resposta no passo seguinte.
Perguntar a uma IA
Envia um pedido em português para um modelo e grava a resposta em uma variável.
Para usar a atividade é necessário:
- Arrastar Perguntar a uma IA da paleta para o fluxo.
- Preencher O que voce quer que o modelo faca com a instrução e o formato da resposta.
- Em Texto de passos anteriores, informar o material de trabalho, por exemplo {{ textoDoEmail }}.
- Opcionalmente, informar Arquivos para o modelo ler (arquivos de texto como .txt, .csv, .json e .md, até 200 KB por arquivo).
- Escolher Qual modelo responde. Vazio usa o modelo que atende os assistentes.
- Escolher o Formato da resposta: Texto livre ou JSON (objeto com campos).
- Opcionalmente, preencher Papel do modelo (opcional), Criatividade (padrão 0) e Tamanho maximo da resposta (padrão 1000 tokens).
- Gravar as saídas em variáveis: resposta, dados (somente no formato JSON) e modeloUsado.
Nota: Mantenha Criatividade em 0 para que a mesma entrada produza a mesma resposta. No formato JSON, descreva no comando quais campos deseja. Um tamanho máximo curto demais corta a resposta e quebra o objeto JSON.
Ver imagem com IA
Envia uma ou mais imagens a um modelo que enxerga e faz uma pergunta sobre elas. Diferente do OCR, que apenas transcreve, aqui o modelo interpreta a imagem.
Para usar a atividade é necessário:
- Arrastar Ver imagem com IA para o fluxo.
- Preencher O que voce quer saber da imagem e o caminho das imagens.
- Escolher um modelo que declare visão no cadastro.
- Escolher o formato e gravar as saídas resposta, dados e modeloUsado.
Nota: São aceitas apenas extensões de imagem, com limite de aproximadamente 4,5 MB por imagem. Para PDF, use Ler PDF (texto) seguido de Perguntar a uma IA.
Extrair campos com IA
A atividade Extrair campos com IA (categoria Documentos) pede ao modelo campos sem padrão fixo, como partes de um contrato. Os campos informados em Campos, com Instrucoes opcionais, passam pelos mesmos validadores de CPF, CNPJ, chave de NFe, boleto e datas. O campo que não fecha perde confiança e vai para revisão. Use a saída needsReview para desviar para a revisão humana. O limiar padrão é 0,8 e a finalidade usada é extrair-documento.
Listar ferramentas MCP e Chamar ferramenta MCP
Consomem servidores MCP que a empresa já possui. Veja MCP: servidor e cliente.
Como as atividades escolhem o modelo
- O campo de modelo usa o formato provedor/modelo, selecionado entre os modelos cadastrados.
- Sem escolha, vale o modelo que atende os assistentes. Assim, trocar o modelo em Configurar > Modelos de IA troca também o deste passo, sem abrir o Robô.
- Se a pasta do Robô exige IA local, a exigência prevalece sobre a escolha do passo.
- Os passos Perguntar a uma IA e Ver imagem com IA são contabilizados na finalidade coautoria.
Nota: Se o Robô não alcançar um modelo, a atividade falha com a mensagem de que o Robô não tem como falar com um modelo de linguagem. Confira se o Orquestrador está acessível e se há modelo cadastrado.
MCP: servidor e cliente
Nesta funcionalidade é possível usar o protocolo MCP (Model Context Protocol) nos dois sentidos: permitir que um assistente externo consulte a operação do CITSmart X e permitir que um Robô chame ferramentas de servidores MCP que a empresa já possui.
A funcionalidade de servidor é ligada na política da instalação do Orquestrador. A funcionalidade de cliente pode ser acessada através do menu de navegação: Studio > paleta de atividades > IA > Listar ferramentas MCP / Chamar ferramenta MCP.
O CITSmart X como servidor MCP
O Orquestrador expõe o endpoint POST /mcp (transporte HTTP, JSON-RPC 2.0). Um assistente conectado pode, por exemplo, responder "por que o fechamento falhou?" sem que a pessoa copie logs.
O endpoint não é uma porta de trás: usa a mesma autenticação, as mesmas permissões, o mesmo escopo de pastas e a mesma trilha de auditoria das demais rotas. A lista de ferramentas mostra apenas o que o usuário conectado pode usar.
Ligar o servidor MCP
O servidor vem desligado (o endpoint responde 404). Para ligá-lo é necessário:
- Ter permissão de gerir a política (policy:manage).
- Alterar a política da instalação (PUT /api/policy) com o bloco mcp, por exemplo { "mcp": { "enabled": true } }.
- Para liberar ferramentas que disparam execução, definir também allowWrites: true.
- Conferir as ferramentas disponíveis em GET /api/mcp/tools.
Campo da política | Padrão | Função |
|---|---|---|
enabled | desligado | Liga o endpoint. |
allowWrites | desligado | Libera as ferramentas que escrevem. Exige enabled. |
maxChars | 12000 | Tamanho máximo, em caracteres, da resposta de cada ferramenta (entre 500 e 200000). |
Importante: Ler a operação e disparar produção são decisões de risco diferentes. Mantenha allowWrites desligado a menos que seja necessário. Ligar o MCP e a escrita fica registrado na trilha de auditoria.
Ferramentas oferecidas
Ferramenta | Tipo | Para que serve |
|---|---|---|
nexo_saude | leitura | Panorama da operação: Robôs online, jobs na fila, jobs em execução, falhas recentes e alertas abertos. |
nexo_listar_processos | leitura | Processos publicados, com versão, estágio e argumentos. |
nexo_listar_jobs | leitura | Execuções por status, processo e período. |
nexo_diagnosticar_job | leitura | Status, erro, passo que quebrou, duração, Robô e o fim do log de um job. |
nexo_listar_planos | leitura | Orquestrações publicadas. |
nexo_execucoes_de_plano | leitura | Execuções de Orquestração, com o status de cada nó e o que está esperando o quê. |
nexo_tarefas_humanas | leitura | Tarefas humanas pendentes. |
nexo_filas | leitura | Filas com contagem por situação e idade do item mais antigo. |
nexo_rodar_processo | escrita | Dispara um processo publicado. |
nexo_rodar_plano | escrita | Dispara uma Orquestração. |
nexo_segurar_execucao_de_plano | escrita | Segura uma execução de Orquestração até alguém liberar. |
Nota: Não existem ferramentas para responder tarefa humana, forçar sucesso, liberar execução segurada ou publicar processo. Essas decisões ficam com pessoas e com os fluxos próprios.
Nota: As respostas saem mascaradas conforme a política de dados pessoais da instalação. Recursos fora do escopo do usuário respondem como inexistentes. Leituras por MCP não geram linha na trilha de auditoria; as escritas e as recusas de segurança geram.
O CITSmart X como cliente MCP
As atividades de MCP permitem que um Robô use ferramentas de servidores MCP próprios da empresa (ERP, service desk, data lake) sem conector novo.
Para chamar uma ferramenta MCP é necessário:
- Arrastar Listar ferramentas MCP para o fluxo, durante o desenho, para descobrir o que o servidor oferece. As saídas são ferramentas, nomes e servidor.
- Preencher Endereco do servidor MCP, por exemplo https://mcp.interno.empresa/mcp.
- Em Credencial (cofre), selecionar o ativo do cofre com o token. Ativo de texto é enviado como Bearer; ativo do tipo credencial, como Basic.
- Opcionalmente, preencher Cabecalhos extras e Tempo maximo (ms) (padrão 60000).
- Arrastar Chamar ferramenta MCP e preencher Ferramenta (nome exato) e Argumentos, como objeto, aceitando {{ variavel }} nos valores.
- Definir Falhar quando a ferramenta devolver erro. Desligue para tratar erros de negócio no próprio fluxo.
- Gravar as saídas texto, dados, erro e servidor.
Importante: Prefira a credencial do cofre a colocar o token em campo do processo, pois os campos ficam no pacote publicado.
Nota: Cada chamada abre a própria conexão, sem sessão persistente entre passos.
Trilha de prompt e conjunto de referência
Nesta funcionalidade é possível auditar o uso da IA (qual modelo foi chamado, para quê, com que custo e tempo) e comparar modelos usando casos de teste com resposta esperada antes de trocar o modelo de uma finalidade.
Os recursos são oferecidos pela API do Orquestrador, na seção /api/ai, e pela política da instalação. Não há tela dedicada.
Trilha de prompt
Toda chamada de IA feita pelo produto é registrada pelo Orquestrador, inclusive as recusadas (teto estourado, pasta que exige IA local, provedor que recusou), com o provedor nomeado.
Para consultar o consumo é necessário:
- Ter a permissão policy:read.
- Consultar GET /api/ai/calls, com os filtros opcionais purpose (finalidade), failed=true (apenas falhas) e limit (até 500).
- Ler os blocos da resposta: porFinalidade, porModelo (a conta do mês), repetidos (mesmo prompt repetido, sinal de laço defeituoso) e chamadas.
Cada registro traz provedor, modelo, finalidade, tokens, custo estimado, duração, erro (quando houve), promptHash e promptChars.
Guardar o conteúdo do prompt
Por padrão o conteúdo do prompt e da resposta não é guardado. Para guardá-lo é necessário alterar o bloco prompt da política (PUT /api/policy):
Campo | Padrão | Função |
|---|---|---|
logPrompts | desligado | Guarda o texto do prompt e da resposta. |
maxChars | 4000 | Tamanho máximo do texto guardado (entre 100 e 200000). |
retentionDays | 30 | Dias de retenção do registro. |
Importante: O prompt pode conter o documento inteiro, com dados pessoais. Ligar logPrompts é uma decisão de quem responde pela instalação. O texto guardado passa pelo mesmo mascaramento aplicado nas telas e é marcado como mascarado quando houve acerto.
Nota: Mesmo com logPrompts desligado, o hash e o tamanho do prompt são gravados. O prompt nunca entra na trilha de auditoria permanente; esta registra apenas o ato (provedor, modelo, tokens, custo e tempo).
Conjunto de referência
Um conjunto de referência é um grupo de casos, cada um com um prompt e a resposta esperada, ligado a uma finalidade. Ele permite rodar os mesmos casos em modelos diferentes e ver o que piorou antes de trocar o modelo.
Para criar e usar um conjunto é necessário:
- Cadastrar o conjunto com POST /api/ai/evals, informando id (minúsculas, dígitos e hífen), name, finalidade e casos.
- Em cada caso, informar id, prompt, modo e esperado. Opcionalmente, system, json e nota.
- Rodar o conjunto com POST /api/ai/evals/:id/run, opcionalmente informando provider e model.
- Rodar de novo em outro modelo e comparar com GET /api/ai/evals/:id/compare (parâmetros opcionais from e to, no formato provedor/modelo).
A comparação responde quais casos pioraram, melhoraram e ficaram iguais, com o custo e o tempo dos dois lados.
Modo | Quando usar |
|---|---|
igual | Resposta de uma palavra. |
contem | A resposta deve conter um trecho. |
json-contem | Extração: o esperado deve ser subconjunto do JSON devolvido. Exige json: true no caso. |
regex | Formato da resposta. |
Nota: Falha do provedor conta como caso reprovado. O histórico guarda um resultado por provedor e modelo, o mais recente, com no máximo dez. Rodar o conjunto gera custo, que aparece na trilha.
Nota: Criar, rodar e remover conjuntos exige policy:manage; consultar e comparar exige policy:read.
Diagnóstico de falha
Nesta funcionalidade é possível ver quais defeitos mais se repetem nas execuções e pedir à IA um diagnóstico de uma falha, com hipótese, evidências citadas, próximo passo, categoria e grau de confiança.
A funcionalidade pode ser acessada através do menu de navegação: Entender > Falhas.

Tela Falhas do Orquestrador
Ver o que mais quebra
A tela exibe o período selecionado (24h, 7 dias, 30 dias ou 90 dias), a quantidade de falhas, a quantidade de defeitos distintos e, em O que mais quebra, os grupos de falhas.
As falhas são agrupadas por assinatura: números de nota, identificadores, datas, caminhos de arquivo, endereços e valores são normalizados, de modo que mensagens que só diferem por esses dados contam como o mesmo defeito. Cada grupo mostra quantas vezes ocorreu (por exemplo, 12×), a mensagem de exemplo, os processos, os passos, a quantidade de Robôs afetados, a última ocorrência e, quando metade ou mais das ocorrências se concentra em um horário, o padrão de horário.
Esse agrupamento é feito sem IA e não exige modelo cadastrado.
Diagnosticar com IA
Para diagnosticar um defeito é necessário:
- Acessar Entender > Falhas e escolher o período.
- Clicar no grupo de falhas para abri-lo.
- Clicar em diagnosticar com IA. O botão avisa que usa uma chamada ao modelo e que o resultado fica guardado no job.
- Ler a Hipótese, as Evidências e o Próximo passo. O rodapé mostra a categoria, a confiança (alta, média ou baixa), o modelo, o custo e a data.
- Para obter nova opinião, clicar em diagnosticar de novo.
O diagnóstico é feito sobre o job mais recente do grupo. O modelo recebe o erro, o passo que quebrou, a duração em relação ao padrão do processo, a reincidência, os argumentos do job e o fim do log.
Importante: O log e os argumentos são enviados ao provedor de IA já mascarados pela política de dados pessoais. Se a área exige IA local, o diagnóstico usa apenas provedor local.
Nota: A IA propõe uma hipótese. Ela não conserta, não reexecuta e não fecha alertas. Quando o material não permite concluir, a confiança é baixa e a resposta informa qual informação falta.
Nota: Somente jobs com falha (Faulted) são diagnosticados. O resultado fica guardado no job, e um novo clique só gera nova chamada em diagnosticar de novo.
Nota: Se não houver modelo para a finalidade diagnostico, a tela exibe Não foi possível diagnosticar com a orientação para cadastrar um provedor e uma rota. Veja Modelos de IA.
Permissões e custo
O diagnóstico exige a permissão de leitura de job (job:read), para que o operador de plantão possa usá-lo. O gasto é controlado pelo teto de custo da rota diagnostico e entra na trilha de prompt.
Operação agêntica
Nesta funcionalidade é possível acompanhar o agente de operação do CITSmart X, que identifica falhas e propõe uma ação de remediação, com a evidência que a sustenta. A pessoa aprova ou recusa, ou o agente executa sozinho apenas o que a política da instalação permite.
A funcionalidade pode ser acessada através do menu de navegação: Entender > Agente.
Princípio
O agente propõe; a política decide. A escolha da ação é feita por um mapa fixo de sintomas para ações e não por um modelo de IA. O diagnóstico do modelo entra apenas como evidência.
A tela Agente
A faixa Autonomia mostra o nível vigente e o que ele permite. Abaixo, Esperando você lista as propostas que exigem decisão, O que o agente fez lista o histórico e O que ele PODE fazer apresenta o catálogo de ações.
Cada proposta mostra a ação, o nível de risco, o sintoma, os motivos (incluindo, quando houver, quantas vezes a ação resolveu o mesmo caso antes) e o motivo de estar esperando.
Para decidir uma proposta é necessário:
- Acessar Entender > Agente.
- Ler o sintoma e os motivos da proposta em Esperando você.
- Clicar em Aprovar e executar, ou em Recusar e informar o motivo, que fica na trilha.
Nota: Aprovar e recusar exigem a permissão job:run.
Catálogo de ações
O catálogo é fechado e o risco de cada ação é declarado.
Ação | Risco | Efeito |
|---|---|---|
Reexecutar o nó | seguro | Roda o nó novamente; serve para falha passageira. |
Liberar o recurso preso | seguro | Devolve a reserva de um recurso cujo dono terminou. |
Avisar o plantão | seguro | Envia o alerta com o diagnóstico e o histórico. |
Seguir sem o nó opcional | reversível | Marca como pulado um nó já declarado opcional. |
Desligar o gatilho | reversível | Para um gatilho que dispara em laço. |
Tirar o robô de circulação | reversível | Marca o Robô como indisponível; ele termina o que já pegou. |
Reprocessar a partição inteira | irreversível | Roda de novo toda a janela de dados. |
Níveis de autonomia
Autonomia | Comportamento |
|---|---|
nenhuma (padrão) | O agente propõe e espera. Nada roda sozinho. |
seguras | Executa sozinho as ações seguras e propõe as demais. |
reversiveis | Executa sozinho as seguras e as reversíveis e propõe as irreversíveis. |
A autonomia é definida na política da instalação (PUT /api/policy, bloco remediacao, com autonomia, maxPorHora e bloqueadas) e pode ser definida por pasta (remediacaoPorPasta). Alterar a política exige a permissão policy:manage.
Importante: Ação irreversível nunca roda sozinha, em nenhuma configuração. Ligar a autonomia é a mudança de política de maior efeito e fica registrada na trilha de auditoria. Ative-a somente depois de revisar algumas propostas.
Nota: Há limites contra excesso de propostas: uma proposta por combinação de sintoma, alvo e ação, um teto por hora por pasta e um teto por ciclo. Estourar o teto não silencia o agente. O agente considera execuções das últimas seis horas, inclusive as já terminadas em falha.
Nota: O aviso ao plantão sai pelo webhook de eventos, com o evento agente.proposta. O catálogo e a política estão em GET /api/remediation/catalog.
OCR e documentos
Nesta funcionalidade é possível transformar imagens e PDFs digitalizados em texto, que pode então ser classificado, extraído por regras ou enviado a um modelo de IA.
A funcionalidade pode ser acessada através do menu de navegação: Studio > paleta de atividades > Documentos.
Atividades
Atividade | Para que serve | Requisitos na máquina do Robô |
|---|---|---|
Ler documento | Lê PDF ou imagem escolhendo o caminho sozinho. PDF com texto embutido não passa por OCR. | Tesseract, quando houver OCR. |
OCR de imagem | Lê o texto de uma imagem (.png, .jpg, .tif). | Tesseract. |
OCR de PDF digitalizado | Converte a primeira página de um PDF digitalizado em imagem e reconhece o texto. | Poppler e Tesseract. |
Extrair campos | Extrai campos com validação de dígito verificador, por regra, sem IA. | Nenhum. |
Extrair campos com IA | Pede a um modelo os campos sem padrão fixo. | Modelo cadastrado em Modelos de IA. |
O OCR é feito localmente pelo Tesseract. A imagem não é enviada a provedor de IA nessas atividades.
Para usar OCR é necessário:
- Instalar o Tesseract (e, para PDF digitalizado, o Poppler) na máquina onde o Robô executa. Na instalação em Debian ou Ubuntu: apt install tesseract-ocr tesseract-ocr-por.
- Arrastar OCR de imagem ou OCR de PDF digitalizado para o fluxo.
- Informar o arquivo, como a máquina do Robô o enxerga, e o idioma (padrão por).
- Gravar as saídas texto e caracteres.
Nota: O texto reconhecido é um palpite do reconhecedor. Confira o que for crítico antes de gravar em um sistema. Um número muito baixo de caracteres costuma indicar imagem ruim.
Nota: Se o PDF tem camada de texto, use Ler PDF (texto), que é exato e não exige Tesseract. Jobs que exigem a capacidade ocr só são atribuídos a máquinas onde o Tesseract foi detectado.
Extração com revisão humana
Cada campo extraído sai com uma confiança. Campos abaixo do limiar (padrão 0,8) ficam marcados e a saída needsReview indica a necessidade de revisão. A atividade Revisar extracao transforma os campos duvidosos em uma tarefa humana com o formulário já preenchido. Para a extração por IA, o validador tem a última palavra: campo que não fecha o dígito verificador perde confiança, por mais segura que seja a resposta do modelo.
Importante: Na extração com IA, o texto do documento (até 24000 caracteres) é enviado ao provedor configurado para a finalidade extrair-documento. Para dados que não podem sair da rede, use um provedor marcado como Não sai da rede. Veja Segurança e privacidade da IA.
Segurança e privacidade da IA
Nesta funcionalidade é possível entender como o CITSmart X protege as chaves de API dos provedores, o que é enviado ao provedor de IA, como manter dados dentro da rede, como limitar o gasto e o que fica registrado para auditoria.
As configurações descritas aqui estão em Configurar > Modelos de IA, na política da instalação do Orquestrador e no cadastro de pastas. Veja também Modelos de IA.
Chaves de API
- O Robô não fala com o provedor de IA. Ele pede ao Orquestrador, que faz a chamada. Assim, nenhuma chave de API fica nas máquinas dos Robôs.
- A chave informada no cadastro do modelo vai direto para o cofre do Orquestrador. O cadastro guarda somente o nome do ativo.
- A chave não é devolvida em nenhuma tela ou resposta de API. A listagem informa apenas se o modelo tem chave (temChave).
- Na edição, o campo Chave vazio mantém a chave atual. Renomear o modelo não move a chave.
- Remover um provedor mantém a credencial no cofre, pois o mesmo ativo pode estar em uso por outro provedor.
- Chave inválida (401 ou 403) interrompe a chamada e não cai para o provedor de reserva, para que o problema não fique escondido.
- O token de servidores MCP usados pelas atividades vem do cofre, pelo campo Credencial (cofre).
O que sai da rede
Ao usar um provedor em nuvem, o conteúdo enviado em cada recurso é:
Recurso | Conteúdo enviado ao provedor |
|---|---|
Assistente do Studio | O pedido e o documento do Robô ou da Orquestração em edição, além do trecho do catálogo de atividades relacionado. |
Perguntar a uma IA | O comando, o texto de contexto e os arquivos informados. |
Ver imagem com IA | O comando e as imagens. |
Extrair campos com IA | Até 24000 caracteres do texto do documento. |
Diagnóstico de falha | Erro, passo, reincidência, argumentos do job e fim do log, mascarados pela política. |
Importante: Não coloque segredos em campos de Robôs ou em pedidos ao assistente. O assistente não lê valores de ativos do cofre, mas o conteúdo do documento em edição é enviado ao modelo.
Mascaramento
O diagnóstico de falha, as respostas do servidor MCP e o conteúdo guardado na trilha de prompt passam pelo mesmo mascaramento de dados pessoais usado nas telas, definido na política da instalação. Os demais pedidos seguem como foram montados pelo Robô ou pela pessoa.
Manter os dados dentro da rede
- Cadastre modelos instalados na rede (ollama ou vllm) e marque Não sai da rede. O cadastro recusa a marcação em endereço remoto.
- Para exigir IA local em uma área, defina aiLocalOnly na pasta. A exigência é herdada pelas subpastas e prevalece sobre o modelo pedido e sobre a rota configurada. Sem provedor local disponível, a chamada falha em vez de enviar o dado para fora.
Limites de gasto
- Teto de gasto por dia (US$), na tela Modelos de IA, para o modelo dos assistentes.
- Por rota, na API, é possível definir teto por chamada e teto por dia. O teto por chamada é conferido antes do envio, com estimativa do pior caso.
- Teto atingido resulta em recusa com código 429, sem chamar nenhum provedor da rota.
- Os valores são estimativas baseadas nos preços cadastrados, e o contador diário fica em memória.
Auditoria
- Cada chamada de IA registra provedor, modelo, finalidade, tokens, custo e tempo. O conteúdo do prompt não entra na trilha de auditoria.
- A trilha de prompt guarda o consumo e, se ligado, o conteúdo mascarado, com retenção própria.
- A coautoria registra o diff ao aceitar e o motivo ao descartar uma proposta.
- No MCP, a ativação do servidor, as ações de escrita e as recusas de segurança são registradas.
- As decisões do agente de operação, incluindo a alteração da autonomia, ficam na trilha.
Nota: Recursos de IA recusados por configuração ausente, teto atingido ou falha do provedor retornam, respectivamente, os códigos 409, 429 e 502.