v2.0.0 · Passo 2
Expondo os dados novos ao AI Insight
Ter as colunas novas na tabela não basta — V_26AI_TECH e o json_object de prc_26ai_tech precisam repassar esses campos até o LLM. Este é o passo que faz isso.
Documenta um passo já implementado (sql/04_v2_view_procedure_update.sql), mas ainda não confirmado em nenhum ambiente. Depende do capítulo 11 já ter sido aplicado e validado no mesmo ambiente.
1. Por que este passo é separado do anterior
A coluna existir na tabela e o LLM receber o dado são duas coisas diferentes. O AI Insight
("Gerar Insight") lê o registro através de V_26AI_TECH, e o texto que vai pro modelo
é montado campo a campo dentro de um json_object(...) em prc_26ai_tech.
Sem tocar nesses dois objetos, os campos do capítulo 11
ficariam na tabela mas invisíveis para a IA.
2. O que muda
| Objeto | Mudança |
|---|---|
V_26AI_TECH | +35 colunas (23 de TB_26AI_TECH_V2 + 12 de TB_26AI_TECH_CMDB). As colunas antigas ficam exatamente como estavam — só houve acréscimo no final da lista. RAW_JSON de cada tabela vira RAW_JSON_TENABLE/RAW_JSON_CMDB na view, para não colidir nome. |
prc_26ai_tech | Só o json_object do ramo p_source_type = 'VUL' ganhou os campos novos. O ramo 'SYS' (syslog), o texto do prompt, a vetorização, o log e o tratamento de erro ficam idênticos ao script original. |
O texto enviado ao LLM (v_pre_prompt) já pedia "recomendações" e "plano de ação"
desde a v1.x — ele só não recebia matéria-prima suficiente para cumprir isso. Este passo resolve
isso enriquecendo os dados, sem precisar reescrever o prompt.
3. Como rodar
- Mesmo ambiente/schema (
AMPMINSIGHTS) onde o capítulo 11 já foi validado — a view não compila sem as colunas de lá existirem. - Cole e rode
sql/04_v2_view_procedure_update.sqlinteiro, de uma vez.
4. Validação
Dois checkpoints, sem gastar nenhuma chamada de LLM:
SELECT object_name, object_type, status
FROM user_objects
WHERE object_name IN ('V_26AI_TECH', 'PRC_26AI_TECH')
ORDER BY object_name;
-- Esperado: as duas linhas com STATUS = 'VALID'.
SELECT cid, asset_name, definition_cve, definition_solution,
sistema_operacional, u_fim_do_suporte
FROM V_26AI_TECH
FETCH FIRST 3 ROWS ONLY;
-- Pode vir tudo NULL se ainda não recarregou dado com o Tenable/ServiceNow
-- novos (normal) - o que importa aqui é a coluna existir e ser lida.
Um teste completo de ponta a ponta (o AI Insight citando CVE/pacote/remediação de fato) só faz
sentido depois do capítulo 13 (perfis de carga novos, ainda não publicado) — ver
TASKS.md no repositório para o board de tarefas atualizado.
Rode de novo o CREATE OR REPLACE VIEW/PROCEDURE originais (sql/01_ampminsights_db_setup.sql, trechos V_26AI_TECH e prc_26ai_tech) — como são CREATE OR REPLACE, isso restaura o comportamento anterior sem afetar dado nenhum (view e procedure não guardam estado).