Framework · Python sem dependências

O agente é ferramenta. O centro é o resultado.

Monte apps de IA em que o LLM roda dentro de um workflow fixo, a pessoa aprova toda ação e a política da empresa vira código testado.

Banner do Agentic App: agentes dentro de workflows que entregam resultado de negócio
Em resumo

O agentic-app é um framework em Python para empresas construírem apps de IA a partir de um resultado de negócio, e não a partir do agente. Ele serve para quem precisa colocar IA dentro de um processo real (RH, gestão de pessoas, atendimento) com controle: o LLM roda dentro de um workflow fixo, toda ação externa espera aprovação humana, regras com número viram código testado e cada execução fica registrada. Vem com um app completo de exemplo (coaching de gestor) e roda só com o Python 3 instalado, sem chave e sem internet.

O que é

Uma app em volta de uma decisão, não um chat em volta de tudo

A pergunta de partida não é "que agente vamos criar?". É "quem decide o quê, e como medimos se ficou melhor?". O agente entra depois, como uma peça do processo.

Os seis pilares em cartões: resultado primeiro, workflow determinístico, humano no comando, agentes de fundo, política em código, audit log

🧱 Workflow antes de agente

Cada uso de LLM é um nó entre outros quatro: contexto, código, condição e formatação. Mesma entrada, mesma saída.

✋ Ninguém envia sozinho

O workflow só propõe. O e-mail fica na fila até a pessoa ler, editar e aprovar. Tudo vai para o audit log.

📏 Regra com número é código

O manual de férias vira funções com entrada estrita e 13 testes de política. Mudou um número, um teste quebra.

Os 9 pilares

O checklist que o framework implementa

Cada pilar tem um arquivo e pelo menos um teste. Use a lista para revisar qualquer app de IA da sua empresa, mesmo que não use este código.

1

Resultado de negócio primeiro

Canvas com pessoa usuária, decisão e métrica de sucesso antes de pensar em agente.

templates/canvas-resultado.md

2

LLM dentro de workflow

Nós contexto → código → condição → LLM → formatação. O modelo é escolhido pela tarefa, não por gosto.

workflow.py · config.py

3

Tela chama workflow

O botão do painel envia o input para o workflow e o resultado volta na própria tela, como rascunho editável.

painel.html · serve.py

4

Humano no comando

Toda ação externa passa por revisão, edição e aprovação. Campos sensíveis, como o destinatário, ficam travados.

acoes.py

5

Agentes de fundo

Observam os dados (meta vencida, 1:1 atrasado, engajamento caindo) e sugerem próximos passos com botão de executar.

workflow proximos_passos

6

Política vira código, não RAG

Classifica a pergunta, carrega só a política certa e dá ao agente só as ferramentas dela. Busca fica para pergunta aberta.

policies/ferias.py

7

Segurança por workflow

Papéis que podem executar, identidade de serviço com escopo mínimo e audit log com hash encadeado.

seguranca.py

8

Gatilhos além do clique

Manual, agendado (segunda 08:00) e por evento (e-mail recebido), declarados no próprio JSON do workflow.

gatilhos.py

9

Saída visual

Relatório em HTML e PDF, gerado por workflow, no lugar de uma parede de texto.

relatorio.py

Como funciona

Um caminho fixo, com o LLM numa caixa só

O motor confere quem pediu, assume a identidade do workflow, valida a entrada e roda os nós em ordem. A saída é JSON validado. Ações viram propostas. Uma linha de auditoria por execução.

Gatilho→ Papel pode executar?→ Contexto→ Código→ Condição→ LLM→ Formatação + esquema→ Proposta na fila→ Pessoa aprova→ Executa + audit

Assistente de RH, nó a nó

perfil (contexto, identidade svc-rh) → categoria (LLM classifica: férias, licença parental ou outro) → condição → dados (código tira da pergunta os números) → agente (LLM escolhe entre as ferramentas SÓ daquela política) → explicação (código) → formatação.

Follow-up de metas, nó a nó

equipe (contexto) → metas vencidas (código) → tem pendência? (condição) → rascunhos (LLM redige um por pessoa) → formatação valida e propõe 6 e-mails. Nenhum sai antes da aprovação.

Pré-requisitos

Só o Python

Nada para instalar com pip. Nenhuma chave de API. Os testes bloqueiam a rede de propósito.

Python 3.10 ou mais novo

Linux, Mac ou Windows.

# conferir
python3 --version

git

Para baixar o repositório.

git --version

Ollama (opcional)

Só se quiser trocar o LLM fake por um modelo local.

# opcional
ollama list
Guia de uso · passo a passo

Do clone à sua primeira app

Os quatro primeiros passos rodam o exemplo. Os outros mostram o que você troca para a sua empresa. O roteiro completo, com checklist de implantação, está em docs/PASSO-A-PASSO.md.

1

Baixe e rode os testes

104 checks, sem rede. A última linha tem que ser OK.

git clone https://github.com/inematds/agentic-app
cd agentic-app
bash tests/run.sh          # 104 checks, 0 falhas → OK
2

Rode a demo no terminal

Executa os 5 workflows: RBAC negando, rascunhos, aprovação com edição, assistente de RH, agendado de segunda 08:00, evento de e-mail recebido e relatório.

python3 -m agentic_app.demo
# gera saida/relatorio.html, saida/relatorio.pdf, saida/audit.jsonl
3

Abra o painel

Troque de pessoa no topo (gestora, RH, colaborador) e veja o que cada papel pode fazer.

python3 -m agentic_app.serve --porta 8765
# http://127.0.0.1:8765  (só na sua máquina)
4

Prove que a política é código

O script muda nove números do manual, um de cada vez, e confere que algum teste quebra.

bash tests/prova_mutacao.sh  # 9× "quebrou (bom)" → OK
5

Preencha o canvas de resultado

Pessoa usuária, decisão, custo de hoje e um número de sucesso com prazo. Sem métrica, não comece.

cp templates/canvas-resultado.md docs/meu-canvas.md
6

Codifique sua política com teste

Uma constante por número do documento, um teste por limite (o valor exato e o vizinho).

cp templates/politica_modelo.py agentic_app/policies/reembolso.py
cp templates/test_politica_modelo.py tests/test_reembolso.py
7

Desenhe o workflow em JSON

Contexto → código → condição → LLM → formatação. A ação externa vai em propor_acao, com os campos editáveis. Mova para a pasta workflows/ do seu app só depois de registrar o contexto e a função que ele usa.

cp templates/workflow-modelo.json meu_workflow.json
python3 -c "from agentic_app.workflow import carregar_spec as c; c('meu_workflow.json')"
8

Defina papéis, identidades e aprovadores

Quem executa cada workflow, com qual conta de serviço ele age e quem aprova o que ele propõe.

cat templates/permissoes.json
9

Troque o LLM quando o processo estiver pronto

O fake fica nos testes. Para um modelo local, uma variável. Para outro provedor, uma subclasse de LLM.

AGENTIC_LLM=ollama python3 -m agentic_app.demo
App de referência

Coaching de gestor: 12 pessoas, 5 workflows

Dados fictícios. A gestora vê a equipe, gera follow-ups para quem não bateu a meta, recebe sugestões do agente de fundo e responde dúvidas de férias com a política codificada.

Painel do app de coaching com a tabela de engajamento da equipe
Painel: a situação de cada pessoa tem rótulo e cor; rascunhos e sugestões aparecem na própria tela.
Relatório visual da equipe com indicadores e barras de progresso
Relatório gerado pelo workflow relatorio_equipe: 12 pessoas, 16 metas, 7 vencidas. Também sai em PDF.
ComponenteWorkflowNósQuem executaAge como
Follow-up de metasfollowup_metas6gestor, sistemasvc-coaching
Próximos passosproximos_passos6sistema, gestorsvc-coaching
Convite para 1:1convite_1a14gestorsvc-coaching
Assistente de RHassistente_rh10colaborador, gestor, rh, sistemasvc-rh
Relatóriorelatorio_equipe4gestor, rh, sistemasvc-coaching
Painel executivo · 1.1.0

A visão da diretoria: está entregando, com segurança e a que custo?

O painel do gestor é a tela de trabalho. O painel executivo responde a quem patrocina o app, com números calculados do audit log, da fila de aprovações, da caixa de saída e dos dados do app. Nenhum número vem de LLM.

Painel executivo com alertas, métrica do canvas contra a meta, operação dos agentes, controle e custo de LLM
Print real da demo: 42,9% das metas vencidas tiveram conversa em até 7 dias (meta 90%, base 30%), 9 execuções, 100% das ações externas com aprovação, 27 chamadas de LLM.

🎯 Resultado de negócio

A métrica do canvas contra a meta e a linha de base, com status "atingiu" ou "não atingiu". Na demo: metas concluídas 31,2%, engajamento médio 76,7 e 6 pessoas em risco.

⚙️ Operação dos agentes

Execuções por workflow e por gatilho (clique 7, horário 1, evento 1), rascunhos aprovados, editados e rejeitados, tempo até aprovar e sugestões do agente de fundo aceitas (1 de 10).

🛡️ Controle e risco

Acessos negados por papel, ferramentas barradas pelo escopo mínimo, corrente de hash íntegra ou quebrada (com a linha) e a % de ações externas com aprovação, que tem que ser 100%.

💰 Custo de LLM

Chamadas por workflow e por modelo (o FakeLLM conta igual), tokens estimados e custo pela tabela de templates/indicadores.json, que vem zerada.

🚨 Alertas por regra

De 3 a 5 frases curtas montadas por código, na ordem crítico → atenção → ok. Corrente quebrada ou e-mail sem aprovação sobem para o topo.

🔒 Só diretoria e admin

O painel é o workflow painel_executivo, com identidade só de leitura. Colaborador e gestor recebem 403, e a tentativa vira uma linha workflow.negado no audit.

python3 -m agentic_app.demo   # seção 10: resumo executivo
python3 -m agentic_app.serve
# http://127.0.0.1:8765/executivo?usuario=dora
Tendências · 1.2.0

O filme, não a foto: para onde os números estão indo?

O executivo mostra se o app entrega agora. O painel de tendências usa o histórico semanal para dizer o ritmo de cada número, quando a meta chega (ou que não chega no trimestre) e o que está piorando antes de virar problema.

📈 Ritmo e projeção

Regressão linear simples sobre as semanas: "no ritmo atual, a meta é atingida em DD/MM" ou "não é atingida até o fim do trimestre". Meta já batida mas piorando mostra a data em que sai.

⚠️ Sinais antecipados

Três semanas seguidas no sentido ruim viram alerta. Na demo: engajamento médio caindo há 8 semanas e 4 pessoas com 3 quedas seguidas (Carla, Henrique, Elisa, Lucas).

🔀 Cenários "e se"

Regra explícita no código: cada 1:1 a mais por semana cobre uma pessoa com meta vencida. Com 5 por semana, 42,9% vira 76,2% e a meta de 90% chega em 28/12/2026.

🗓️ Histórico que se forma sozinho

O workflow snapshot_indicadores grava a foto da semana toda segunda 07:00 em saida/historico.jsonl. Com menos de 4 semanas, o painel diz "histórico insuficiente".

🔒 Estratégia, diretoria e admin

Workflow painel_tendencias com identidade só de leitura. O LLM só costura a narrativa com frases já calculadas; trocar o LLM não muda nenhum número.

python3 -m agentic_app.demo   # seção 11: snapshot + tendências
# http://127.0.0.1:8765/tendencias?usuario=estela
Painel de tendências com narrativa, sinais antecipados e gráficos de linha com média móvel, meta e projeção
Print real da demo (12 semanas, histórico de exemplo rotulado): a cobertura sobe 1,3 p.p. por semana e não chega a 90% até 31/12/2026; o engajamento sai da meta em 02/12/2026.
Centro de Comando · 1.3.0

Uma tela para quem opera: o que os agentes fazem agora e o que falta para a meta

Executivo e tendências são para quem decide. O Centro de Comando é para quem acompanha ao vivo e age na hora. Duas abas: Agentes (Agent Control Tower) e Negócio (Mission Control).

🛰️ Agent Control Tower

Semáforo por workflow (ok, atenção, falha, pausado), última execução, próximo disparo agendado, fila de aprovação por idade com SLA de 24 h, falhas e acessos negados, corrente do audit e os últimos eventos.

🎛️ Ações sobre os agentes

Pausar (o disparo fica no audit e não roda; os outros agendados seguem), retomar, rodar agora, reexecutar e escalar uma aprovação parada. Só o papel operacao e o admin. Operação nunca aprova nem envia.

🎯 Mission Control

A métrica do canvas contra a meta e quantas conversas faltam (na demo: 42,9%, faltam 4). Fila de decisão: quem está em risco, em que pé está e a próxima ação, com botão para acionar o agente, aprovar ou rejeitar.

🔒 Cada clique com o seu papel

Botão sem permissão aparece desabilitado com o motivo, e o servidor confere de novo. Toda ação e toda negativa vão para o audit. Reexecutar só refaz o que não exige guardar a entrada da pessoa.

python3 -m agentic_app.demo   # seção 12: pausar, escalar, painel
# http://127.0.0.1:8765/comando?usuario=otavio
Aba Agentes do Centro de Comando com semáforo por workflow, próximo disparo e botões de pausar, rodar agora e reexecutar
Aba Agentes no layout 1.4.0 (8 semanas simuladas): cartões, filtros na lateral, execuções por dia com a situação em cor.
Aba Negócio do Centro de Comando com a métrica do canvas, quanto falta para a meta e a fila de decisão por pessoa
Aba Negócio: a métrica do canvas por semana contra a meta, pessoas por situação e motivos de risco.
Painéis · 1.4.0

Os quatro painéis no mesmo padrão: visão geral primeiro, detalhe depois

Agentes, Negócio, Executivo e Tendências ganharam o layout dos painéis de BI: números grandes no topo, filtros na lateral, gráficos no meio e, embaixo, o detalhe com as ações. Clicar num gráfico filtra o resto da página.

🧭 Navegação única

Uma barra no topo leva aos quatro painéis. Cada um continua com o seu papel: quem não pode ver recebe 403 e a tentativa fica no audit.

🔎 Clique para detalhar

Barra, dia, fatia ou cartão viram filtro (?workflow=…&situacao=falha). Os filtros ativos aparecem como etiquetas; clicar de novo tira. O link pode ser guardado e compartilhado.

📊 SVG puro

Colunas, barras, roscas e linhas desenhadas em Python, sem biblioteca nem CDN. Tooltip ao passar o mouse, legenda sempre que há duas ou mais séries, cor de status sempre com rótulo.

🧪 8 semanas simuladas

python3 -m agentic_app.simular roda o motor de verdade com relógio simulado (fictício, sempre igual) para os gráficos terem o que mostrar.

python3 -m agentic_app.simular
python3 -m agentic_app.serve
Painel executivo no layout de BI com cartões, filtro de período e execuções por semana
Executivo: cartões do canvas, execuções por semana e uso por workflow, com filtro de período.
Painel de tendências no layout de BI com cartões por métrica e gráficos de projeção
Tendências: um cartão e um gráfico por métrica, filtráveis por grupo e por situação da projeção.
Vídeos

Veja o framework funcionando

Os vídeos de explicação vão aparecer aqui.

Em breve.
Onde se encaixa

A camada de app e workflows de negócio

O agentic-app não substitui os outros kits INEMA. Ele fica em cima deles.

agentic-starter

O agente da empresa em arquivos: identidade, skills, regras e medição. Responde quem é o agente e como ele trabalha aqui.

Abrir o guia

inema-agent-runtime

Como os agentes descobrem, conectam e usam as ferramentas que você já tem. Responde por onde o agente chega nas ferramentas.

Abrir o guia

agentic-app

A aplicação que a pessoa de negócio usa: tela, workflow fixo, política em código, aprovação e auditoria. Responde que resultado a empresa ganha.

Ver o código

Roadmap

O que já existe e o que vem depois

A versão 1.0.0 é o núcleo completo com um app de referência. Depois vieram o painel executivo (1.1.0), o de tendências (1.2.0), o Centro de Comando (1.3.0) e o layout comum de BI nos quatro painéis (1.4.0).

1.0.0
Núcleo + Coaching de gestorMotor com 5 tipos de nó, FakeLLM e Ollama local, fila de aprovação, papéis e identidades, audit com hash, 3 tipos de gatilho, política de férias e licença, relatório HTML/PDF, painel web, 48 checks.
1.1.0
Painel executivoResultado do canvas contra a meta, operação dos agentes, controle e risco, custo de LLM e alertas por regra; papel diretoria; HTML e PDF; 62 checks.
1.2.0
TendênciasHistórico semanal com snapshot automático, ritmo por regressão, projeção até a meta, sinais antecipados, comparação entre pessoas e cenários "e se"; papel estratégia; 75 checks.
1.3.0
Centro de ComandoAgent Control Tower (semáforo por workflow, fila por idade com SLA, falhas, eventos) e Mission Control (métrica do canvas, quanto falta, fila de decisão), com ações: pausar, retomar, rodar agora, reexecutar, escalar, acionar, aprovar; papel operação; 93 checks.
1.4.0
Visão geral → detalhe nos quatro painéisLayout comum de BI com navegação única, cartões, filtros na lateral, gráficos SVG clicáveis e detalhe com ações; simulação de 8 semanas; snapshot semanal corrigido; 104 checks.
Próximo
Mais apps de referênciaOutros processos usando o mesmo motor, cada um com o seu canvas, suas políticas e seus testes.
Depois
Conectores de produçãoExemplos de executor SMTP, login corporativo no painel e leitura de banco no nó de contexto.