⭐ Se o Data Agents foi útil para você, deixe uma estrela — ajuda o projeto a crescer!
📋 Índice
- O que é o Data Agents?
- Arquitetura
- Início Rápido
- Agentes Especialistas
- Comandos Disponíveis
- Protocolo DOMA & Workflows Colaborativos
- Migração de DW On-Premise para Databricks
- Catalog Intelligence
- Ontology Engineer
- Knowledge Base de Indústria
- Confiabilidade e Proteção de Qualidade
- Plataformas e MCPs
- Camada de Proteção
- Sistema de Memória
- Interfaces
- Qualidade e CI/CD
- Configurações Avançadas
- Sobre o Autor
- Licença
Data Agents é um sistema multi-agente construído sobre o Claude Agent SDK da Anthropic com integração nativa via Model Context Protocol (MCP) ao Databricks e Microsoft Fabric. Em vez de um único assistente genérico, o sistema orquestra 14 agentes especialistas que operam diretamente nas suas plataformas de dados, cada um com seu domínio de conhecimento, ferramentas e regras corporativas declarativas.
Você envia uma mensagem — seja pelo terminal, pela interface web ou com um comando slash. O Supervisor lê a solicitação, consulta as bases de conhecimento do projeto, planeja a solução e delega para os agentes especialistas certos. Cada agente usa as ferramentas MCP para operar diretamente no Databricks ou no Microsoft Fabric e devolve o resultado para o Supervisor consolidar.
O Supervisor nunca escreve código ou acessa dados diretamente — ele coordena. Os especialistas executam.
# 1. Clone e entre no diretório
git clone git@github.com:ThomazRossito/data-agents.git && cd data-agents
# 2. Crie o ambiente
conda create -n data-agents python=3.12 && conda activate data-agents
# 3. Instale dependências
pip install -e ".[dev,ui,monitoring]"
# 3a. (Opcional) Habilitar Ontology Engineer — rdflib + owlready2
pip install -e ".[ontology]"
# 4. Configure credenciais (escolha uma)
make bootstrap # wizard interativo: cria .env mínimo em ~2 min
cp .env.example .env # ou copie e edite manualmente com suas chaves
# 5. Smoke test end-to-end (só precisa de ANTHROPIC_API_KEY, ~$0.005)
make demo
# 6a. Web UI (Chainlit + Monitoring)
./start.sh # http://localhost:8503 (Chat) + http://localhost:8501 (Monitoring)
# 6b. Terminal
python main.py # ou: make runPrimeira vez?
make bootstrap && make demovalida seu setup em <5 minutos, sem precisar configurar Databricks ou Fabric.
| Variável | Obrigatória | Plataforma |
|---|---|---|
ANTHROPIC_API_KEY |
Sim | Claude API |
DATABRICKS_HOST, DATABRICKS_TOKEN |
Não | Databricks |
AZURE_TENANT_ID, FABRIC_WORKSPACE_ID |
Não | Microsoft Fabric |
DATABRICKS_GENIE_SPACES |
Não | Databricks Genie (Conversational BI) |
FABRIC_SQL_LAKEHOUSES |
Não | Fabric SQL Analytics Endpoint |
KUSTO_SERVICE_URI |
Não | Fabric Real-Time Intelligence (KQL) |
TAVILY_API_KEY |
Não | Busca web |
GITHUB_PERSONAL_ACCESS_TOKEN |
Não | GitHub MCP |
FIRECRAWL_API_KEY |
Não | Web scraping |
POSTGRES_URL |
Não | PostgreSQL MCP |
MIGRATION_SOURCES |
Não | Migration Source MCP (SQL Server/PostgreSQL de origem) |
TIER_MODEL_MAP |
Não | Override de modelo por tier (T1/T2/T3) |
O sistema ativa automaticamente apenas as plataformas com credenciais configuradas.
context7ememory_mcpsão ativados sempre, sem credenciais.
| Agente | Comando | Tier | O que faz |
|---|---|---|---|
| Supervisor | /plan |
— | Coordena, planeja e valida tudo contra a Constituição |
| Business Analyst | /brief, /ship |
T3 | Converte reuniões e briefings em backlog P0/P1/P2; gera SHIPPED docs |
| SQL Expert | /sql |
T1 | SQL (Spark SQL, T-SQL, KQL), schemas, Unity Catalog; auto-revisão de DDL/DML |
| Spark Expert | /spark |
T1 | PySpark, Delta Lake, pipelines Medallion |
| Pipeline Architect | /pipeline |
T1 | ETL/ELT, orquestração, cross-platform Databricks ↔ Fabric |
| dbt Expert | /dbt |
T2 | dbt Core: models, testes, snapshots, seeds, docs |
| Data Quality Steward | /quality |
T2 | Validação de dados, profiling, alertas, SLAs |
| Governance Auditor | /governance |
T2 | Auditoria de acessos, linhagem, PII, LGPD/GDPR |
| Semantic Modeler | /semantic, /genie |
T2 | DAX, Direct Lake, Genie Spaces, AI/BI Dashboards; Genie Health Check |
| Catalog Intelligence | /catalog |
T2 | Documenta catálogo com AI, calcula Data Maturity Score, Business Value Engine e alinhamento a indústria |
| Migration Expert | /migrate |
T1 | Assessment e migração de SQL Server/PostgreSQL para Databricks ou Fabric (Medallion); auto-revisão de DDL |
| Python Expert | /python |
T1 | Python puro: pacotes, automação, APIs, CLIs, testes, pandas/polars |
| Ontology Engineer | /ontology |
T2 | Design de ontologias OWL 2, import/export de arquivos OWL/RDF/Turtle no Fabric OneLake, conversão entre formatos, triples → Delta Lake |
| Business Monitor | /monitor |
T2 | Q&A interativo sobre alertas emitidos pelo daemon de monitoramento (scripts/monitor_daemon.py) |
| Geral | /geral |
T0 | Respostas conceituais diretas — zero MCP, ~95% mais barato |
Refresh de Skills é um script independente —
python scripts/refresh_skills.py(não é mais um agente).
O comando /party convoca 2 a 8 agentes simultaneamente para a mesma pergunta. Cada um responde de forma independente, com sua perspectiva de domínio.
/party qual a diferença entre Delta Lake e Iceberg?
# → sql-expert + spark-expert + pipeline-architect respondem em paralelo
/party --quality como garantir qualidade em dados incrementais?
# → data-quality-steward + governance-auditor + semantic-modeler
/party --engineering como processar um CSV de 10 GB com eficiência?
# → python-expert + spark-expert + pipeline-architect
/party --migration como avaliar complexidade de migração de SQL Server?
# → migration-expert + sql-expert + spark-expert
/party --full explique o Unity Catalog
# → todos os 8 agentes especialistas (T1 + principais T2)| Comando | Descrição |
|---|---|
/sql <query> |
SQL direto para o sql-expert |
/spark <tarefa> |
PySpark/DLT direto para o spark-expert |
/pipeline <tarefa> |
Pipeline ETL direto para o pipeline-architect |
/dbt <tarefa> |
dbt Core direto para o dbt-expert |
/quality <tarefa> |
Qualidade de dados direta |
/governance <tarefa> |
Auditoria e governança direta |
/semantic <tarefa> |
Modelagem semântica direta |
/migrate <fonte> para <destino> |
Assessment e migração de banco relacional para Databricks/Fabric |
/python <tarefa> |
Python puro direto para o python-expert |
/ontology <tarefa> |
Web semântica: design OWL 2, import/export OneLake, conversão de formatos, triples → Delta |
/monitor <pergunta> |
Q&A sobre alertas do daemon de monitoramento de negócio |
/genie <tarefa> |
Criar/atualizar Genie Spaces no Databricks |
/dashboard <tarefa> |
Criar/publicar AI/BI Dashboards no Databricks |
/catalog comments <schema> |
Gera comentários de AI para tabelas e colunas de um schema |
/catalog scan [schema] |
Calcula Data Maturity Score (0–100, A–F) e exporta relatório em output/catalog/ |
/catalog discover [schema] |
Descobre casos de uso de negócio para tabelas existentes |
/catalog industry <schema> |
Alinha tabelas a KPIs e casos de uso da indústria detectada |
/catalog value [schema] |
Business Value Engine: ranking de tabelas por valor com custo estimado de downtime |
/brief <texto> |
Converte transcript/briefing em backlog estruturado |
/ship <feature> |
Gera SHIPPED doc — decisões, trade-offs e próximos passos de uma feature entregue |
/plan <objetivo> |
Planejamento completo com thinking habilitado (8k tokens) |
/review <artefato> |
Review de código ou pipeline |
/party <query> |
Multi-agente paralelo (flags: --quality, --arch, --engineering, --migration, --full) |
/workflow <wf-id> <query> |
Executa workflow colaborativo pré-definido (WF-01 a WF-05) com context chain |
/fabric <tarefa> |
Pipeline Architect com foco em Microsoft Fabric |
/geral <pergunta> |
Resposta direta sem Supervisor — mais rápido e barato |
/health |
Status das plataformas configuradas |
/status |
Estado da sessão atual |
/memory <query> |
Consulta à memória persistente (/memory clear para limpar com confirmação) |
/mcp [filtro] |
Status em tempo real dos MCP servers — quais estão ativos e quais precisam de credenciais |
/eval [all] |
Histórico de avaliações de qualidade das sessões (1–5 estrelas) |
/sessions [all|<id>] |
Lista sessões registradas (transcript + checkpoint) |
/resume [last|<id>] |
Retoma sessão anterior reconstruindo contexto do transcript |
/export |
Exporta o histórico da sessão para HTML (abra no browser → Cmd+P para PDF) |
O Protocolo DOMA (Data Orchestration Method for Agents) é o método de 7 passos que o Supervisor segue para toda tarefa complexa — de KB-First até Validação final. Os Workflows Colaborativos (WF-01 a WF-05) encadeiam agentes automaticamente para projetos end-to-end, desde pipelines Bronze→Gold até migrações relacionais para a nuvem.
O fluxo de migração orquestra 7 fases em sequência — do briefing inicial ao relatório de divergências — usando os agentes certos em cada etapa. As fases 4/5 rodam em paralelo (governança + pipeline, semântica) e a fase 6 é iterativa por domínio (Low → Medium → High). O atalho /workflow WF-05 encadeia tudo automaticamente.
O agente catalog-intelligence transforma catálogos de dados brutos em ativos documentados, avaliados e alinhados ao negócio. Opera sobre Unity Catalog (Databricks) e Fabric Lakehouse.
| Subcomando | O que entrega |
|---|---|
comments |
Comandos COMMENT ON TABLE/COLUMN prontos para aplicar — granularidade, PII, Medallion layer |
scan |
Data Maturity Score em 5 dimensões (Catalogação, Qualidade, Governança, Performance, Adoção) com notas A–F e plano de ação priorizado; exporta output/catalog/scan_<schema>_<date>.md |
discover |
Casos de uso de negócio inferidos a partir de tabelas existentes cruzados com as KBs de indústria |
industry |
Mapa tabela → caso de uso → KPI com gaps identificados (o que está faltando para cobrir os use cases da vertical) |
value |
Business Value Engine — ranking de tabelas por score 0–100 (acesso, usuários, dependências, criticidade, Medallion) e estimativa de custo de downtime em R$/h |
/catalog scan production.silver
# → 📊 Score: 69/100 (C) + relatório exportado em output/catalog/scan_silver_2026-04-30.md
/catalog value production.gold
# → 💰 fct_transactions: Score 94/100 | Downtime est.: R$ 48.000/h
/catalog industry production.silver
# → 🏭 Verticais detectadas: Financial Services | 3 use cases cobertos, 2 com gapO agente ontology-engineer traz suporte a OWL 2 (Web Ontology Language) ao ecossistema de dados — design de ontologias de domínio, import/export de arquivos para o Microsoft Fabric OneLake e integração com Delta Lake para consultas SQL sobre grafos semânticos.
Escopo atual: OWL 2. Roadmap: SKOS → SPARQL endpoint → SHACL → Linked Data.
| Tarefa | O que entrega |
|---|---|
| Design de ontologia | T-Box em Turtle: classes, properties, axiomas, namespace canônico https://ontologia.empresa.com.br/<dominio>/, rdfs:label pt/en |
| Import — arquivo local | Valida (zero ERRORs obrigatório) → normaliza para Turtle → upload OneLake → notebook Spark → Delta ontology_triples com schema canônico |
| Import — ontologia pública | Busca com Tavily → scrape com Firecrawl → valida → upload em Files/ontologies/raw/ (namespace original preservado) |
| Import — item nativo Fabric | Descobre via list_items (tipo Ontology) → inspeciona com get_item_schema → exporta via Spark lendo Delta do Lakehouse gerado automaticamente |
| Export (Fabric → arquivo) | Reconstrói grafo rdflib a partir do Delta → serializa em Turtle, RDF/XML, N-Triples ou JSON-LD |
| Conversão de formatos | .owl → .ttl → .nt → .jsonld — valida que nenhum triple é perdido na conversão |
| Validação | Detecta namespace placeholder (ERROR), owl:Thing como range (ERROR), owl:Ontology/versionInfo/labels ausentes (WARN) |
| Views SQL | Gera vw_ontology_classes, vw_class_hierarchy, vw_ontology_labels sobre o Delta de triples |
O Fabric tem um tipo de item nativo Ontology (criado pela UI do Fabric). Quando criado, ele provisiona automaticamente: Lakehouse (<nome>_lh), SQL Endpoint, GraphModel (<nome>_graph) e opcionalmente um SemanticModel. O agente sabe descobrir e exportar esses itens — use list_items (não onelake_list_files).
/ontology crie uma ontologia OWL para o domínio de RH com as classes Employee,
Department e Role, e gere o notebook Spark para ingestão no Fabric.
O agente: (1) cria o Turtle com namespace https://ontologia.empresa.com.br/hr/, (2) valida com zero ERRORs, (3) faz upload para Files/ontologies/domain/ via MCP OneLake, (4) gera o notebook Spark completo com schema canônico (graph, loaded_at), (5) cria as views SQL.
- Bibliotecas:
rdflib>=7.0,owlready2>=0.47— instalar compip install -e ".[ontology]" - Armazenamento: OneLake Files (
Files/ontologies/) + Delta Tableontology_triplescom colunassubject,predicate,object,graph,datatype,lang_tag,source_file,loaded_at - MCPs usados:
fabric_official(OneLake file ops + workspace items),fabric_community(descoberta),context7(docs rdflib),tavily/firecrawl(ontologias públicas W3C, OBO, Schema.org) - Escalação:
spark-expertpara notebooks em escala,governance-auditorpara propriedades PII
O sistema inclui 10 verticais de indústria com casos de uso, schemas de referência, KPIs e anti-padrões específicos — consultadas pelos agentes antes de qualquer análise:
| Vertical | Domínio de Conhecimento |
|---|---|
| Financial Services | Crédito (ECL/PD/LGD), AML/KYC, IFRS 9, Churn, NBO, Open Finance |
| Retail | Demand Forecasting, RFM, Dynamic Pricing, Omnichannel |
| Manufacturing | OEE, Manutenção Preditiva, SPC, S&OP, IoT |
| Healthcare | Readmissão, Sepse, Leito Inteligente, Sinistralidade ANS |
| Energy | Smart Meter Analytics, SAIDI/SAIFI (ANEEL), Oil & Gas Upstream, Geração Renovável |
| Telecom | CDR Analytics, Churn, Network KPIs (ANATEL), ARPU, Fraude SIM Swap |
| Agribusiness | Monitoramento de Safra, Mark-to-Market, EUDR/RTRS, Carbon Credits |
| Insurance | Pricing GLM/ML, Detecção de Fraude, IBNR, Telemática UBI, SUSEP |
| Logistics | OTIF, Track & Trace, Gestão de Frota, Acuracidade de Inventário, CTe/ANTT |
| Education | Early Warning de Evasão, LMS Analytics, Inadimplência, NPS Acadêmico, LGPD+ECA |
Cada KB inclui esquemas SQL comentados com boas práticas de PII, checklists de anti-padrões com severidade e benchmarks regulatórios locais (ANEEL, ANATEL, SUSEP, BACEN, INEP, MEC).
Quando um modelo está sobrecarregado ou retorna rate limit, o sistema degrada automaticamente:
Opus → Sonnet → Haiku
Detectado por padrões: rate limit, overloaded, 529, too many requests, throttle. O failover ocorre na mesma sessão sem interromper o fluxo — o usuário vê um aviso e a resposta continua com o modelo alternativo.
O sql-expert executa 10 verificações antes de entregar qualquer DDL/DML:
- Bloqueia
DROPsem confirmação explícita do usuário - Rejeita
UPDATE/DELETEsemWHERE - Substitui
SELECT *por colunas explícitas +LIMIT 1000 - Alerta para tabelas > 1GB sem particionamento
- Mascara PII detectada em exemplos e comentários
O migration-expert executa 10 verificações específicas de migração:
- Converte
FLOAT/REALparaDECIMAL(19,4)em colunas monetárias - Remove
IDENTITY/SERIAL(Delta não usa auto-increment) - Normaliza
DATETIMEOFFSET/TIMESTAMPTZpara UTC - Adiciona
_ingestion_datee_source_systemno Bronze - Garante namespace completo
catalog.schema.table
O semantic-modeler inclui um playbook de 20 verificações para Genie Spaces:
| Dimensão | Checks | O que avalia |
|---|---|---|
| Cobertura | 4 | Tabelas e campos mapeados no Space |
| Qualidade | 4 | Comentários, sinonímia, curated questions |
| Calibração | 4 | Queries geradas vs. esperadas, SQL correto |
| Governança | 4 | RLS, PII, acesso restrito |
| Adoção | 4 | DAUs, query volume, feedback negativo |
Score 0–100 com nota A–F e plano de ação corretiva por dimensão.
O sistema conecta diretamente às plataformas via Model Context Protocol (MCP):
| MCP | Plataforma | Principais capacidades |
|---|---|---|
databricks |
Databricks | SQL, listagem de tabelas, clusters, jobs, model serving |
databricks_genie |
Databricks Genie | Conversational BI, espaços Genie |
fabric |
Microsoft Fabric | REST API, workspaces, itens, pipelines |
fabric_official |
Microsoft Fabric (OneLake) | OneLake file ops — upload/download/list/delete — e API specs oficiais (npx @microsoft/fabric-mcp, auth via az login) |
fabric_sql |
Fabric SQL Analytics | Queries diretas ao Lakehouse via TDS (resolve limitação do schema dbo da REST API) |
fabric_rti |
Fabric RTI | KQL, Kusto, Real-Time Intelligence |
fabric_community |
Fabric | Linhagem de dados, dependências entre itens |
fabric_semantic |
Power BI / Fabric | Introspecção de Semantic Models: TMDL, DAX, RLS, relacionamentos |
context7 |
Docs de bibliotecas | Documentação atualizada de qualquer lib — ativo automaticamente (sem credenciais) |
tavily |
Web | Busca web para LLMs |
github |
GitHub | Repos, issues, PRs |
firecrawl |
Web | Scraping estruturado de páginas |
postgres |
PostgreSQL | Queries readonly em bancos externos |
memory_mcp |
Local | Knowledge graph persistente de entidades — ativo automaticamente (sem credenciais) |
migration_source |
SQL Server / PostgreSQL | Conexão direta ao banco de origem — DDL, views, procedures, functions, stats |
Hooks automáticos protegem todas as operações:
| Hook | Proteção |
|---|---|
security_hook |
Bloqueia 22 padrões destrutivos (DROP, rm -rf, git reset --hard, force push, etc.) |
check_sql_cost |
Bloqueia SELECT * sem WHERE ou LIMIT |
audit_hook |
Registra todas as chamadas de ferramentas em JSONL (6 categorias de erro) |
cost_guard_hook |
Classifica operações por custo (HIGH/MEDIUM/LOW) e alerta após 5 HIGH |
output_compressor |
Trunca outputs verbosos para não desperdiçar contexto |
context_budget_hook |
Alerta a 80% e 95% do limite de contexto por agente |
workflow_tracker |
Rastreia delegações, Clarity Checkpoint e cascade PRD→SPEC |
memory_hook |
Captura contexto da sessão para memória persistente |
session_logger |
Registra métricas finais de custo/turns/duração por sessão |
transcript_hook |
Persiste transcript completo por sessão em logs/sessions/<id>.jsonl (append-only) — usado pelo /resume |
checkpoint |
Save/restore automático do estado da sessão |
session_lifecycle |
Injeção de memórias no início, config snapshot ao encerrar |
Arquitetura multi-camada com custo de retrieval zero (sem chamada LLM).
| Camada | Backend | Função |
|---|---|---|
| Short-term | SQLite + FTS5 (TTL 3 dias) | Captura contexto da sessão atual |
| Long-term | SQLite + FTS5 + embeddings opcionais | Índice persistente de memórias compiladas |
| Ledger | JSONL + HMAC-SHA256 | Audit log tamper-proof de todas as tool calls |
| Knowledge Graph | memory_mcp/ |
Grafo de entidades nomeadas (tabelas, pipelines, decisões) |
Pipeline: sessão → memory_hook captura → ShortTermMemory (SQLite) → flush → extractor (Haiku) → MemoryStore (arquivos .md) → LongTermMemory (índice FTS5) → MemoryManager.inject_context() → injetado no prompt do Supervisor.
Retrieval: BM25 lexical via FTS5 + rerank por cosine similarity quando fastembed instalado. Sem chamada Sonnet lateral — latência < 5ms, custo $0.
MEMORY_ENABLED=true
MEMORY_RETRIEVAL_ENABLED=true
MEMORY_CAPTURE_ENABLED=true
# Embeddings semânticos locais (opcional — requer pip install ".[memory]")
SHORT_TERM_EMBEDDER_ENABLED=false
LONG_TERM_EMBEDDER_ENABLED=falseInterface com steps expandíveis em tempo real mostrando cada delegação e tool call. Dois modos: Data Agents (sistema completo) e Dev Assistant (Claude direto com ferramentas de código).
Use /export em qualquer momento para baixar o histórico completo da sessão como HTML formatado — abre no browser com Cmd+P (macOS) ou Ctrl+P (Windows/Linux) para salvar como PDF.
./start.sh # Chainlit (8503) + Monitoring (8501)
./start.sh --chat-only # somente Chainlit9 páginas: Overview, Agentes, Workflows, Execuções, MCP Servers, Logs, Configurações, Custo e Tokens. Novidades: tier badge nos cards de agentes, WF-05 nos workflows, download CSV, timezone configurável e indicador de freshness.
./start.sh --monitor-onlymake lint # ruff check + format
make type-check # mypy
make test # pytest com cobertura mínima 80%
make health-databricks
make health-fabricCI (push/PR): lint + format + mypy + pytest (cobertura 80%) + bandit security scan CD (tags): deploy via Databricks Asset Bundles
| Variável | Default | Descrição |
|---|---|---|
DEFAULT_MODEL |
claude-sonnet-4-6 |
Modelo do Supervisor |
MAX_BUDGET_USD |
5.0 | Limite de custo por sessão (USD) |
MAX_TURNS |
50 | Limite de turnos por sessão |
TIER_MODEL_MAP |
{} |
Override de modelo por tier — ex: {"T1": "claude-opus-4-6", "T2": "claude-sonnet-4-6", "T3": "claude-sonnet-4-6"} (T0 não deve constar — protege o Haiku do geral) |
TIER_TURNS_MAP |
T0=3, T1=20, T2=12, T3=5 | Override de número máximo de turns por tier |
TIER_EFFORT_MAP |
high/medium/low | Nível de raciocínio por tier (high, medium, low) |
INJECT_KB_INDEX |
true | Injeção automática de KBs nos agentes |
IDLE_TIMEOUT_MINUTES |
30 | Reset automático por inatividade |
MEMORY_ENABLED |
true | Sistema de memória persistente |
CONSOLE_LOG_LEVEL |
WARNING | Nível de log no terminal (WARNING oculta logs operacionais) |
SKILL_REFRESH_INTERVAL_DAYS |
3 | Intervalo de refresh das Skills |
AGENT_PERMISSION_MODE |
bypassPermissions |
acceptEdits para pedir confirmação antes de writes |
Manual_Relatorio_Tecnico_Projeto_Data_Agents.md
Thomaz Antonio Rossito Neto — Data & AI Solutions Architect | Specialist @ CI&T · Databricks & Microsoft Fabric Partner CoE
Com 8+ anos em Engenharia e Arquitetura de Dados, atua na intersecção entre Big Data, Arquitetura Lakehouse e Agentic AI — aplicando agentes autônomos e GenAI no ciclo completo de dados: pipelines, discovery, migrações, governança e orquestração autônoma. Certificado 10x (Databricks 5x · Azure 4x · AWS 1x).
Projetos open-source:
- 🤖 Data Agents — framework de orquestração multi-agente para dados corporativos com 14 agentes especialistas, integrações nativas Databricks + Fabric via MCP e protocolo DOMA
- 🧭 SifTools — engenharia de contexto via pruning semântico de tools por embeddings: entrega exatamente os MCPs que cada agente precisa, sem custo extra de inferência → github.com/ThomazRossito/siftools
"Dados sem estratégia são apenas ruído. Agentes sem governança são apenas caos."





